@motebit/crypto 1.3.0 → 2.0.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 +5 -0
- package/dist/artifacts.d.ts +22 -3
- package/dist/artifacts.d.ts.map +1 -1
- package/dist/credential-anchor.d.ts +11 -5
- package/dist/credential-anchor.d.ts.map +1 -1
- package/dist/index.d.ts +112 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +156 -50
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -113,6 +113,11 @@ const vc = await issueReputationCredential(
|
|
|
113
113
|
- **`verifyDelegationChain(chain)`** — Verify a chain of delegations with scope narrowing.
|
|
114
114
|
- **`verifyKeySuccession(record, guardianPublicKeyHex?)`** — Verify a key rotation record.
|
|
115
115
|
- **`verifySuccessionChain(chain, guardianPublicKeyHex?)`** — Verify a full key rotation chain.
|
|
116
|
+
- **`verifyKeyBindingAtTime(identity, signingKeyHex, atTimestampMs, guardianPublicKeyHex?)`** — Sovereign-root identity binding with time-windowing: was this key the motebit's legitimate key _at_ a given time? Verifies the succession chain, then checks the key's active window. Returns `KeyBindingResult`.
|
|
117
|
+
- **`identityLogLeaf(motebitId, currentKeyHex)`** — Canonical SHA-256 leaf of the identity-transparency log (the operator's `motebit_id → current key` commitment). Shared convention for the relay producer and the verifier.
|
|
118
|
+
- **`verifyIdentityBindingAnchored(identity, signingKeyHex, atTimestampMs, proof, guardianPublicKeyHex?)`** — Anchored binding: sovereign-root binding AND Merkle inclusion of the current key in the transparency log under `proof.anchoredRoot`. Confirming the root is on-chain is the caller's cross-check.
|
|
119
|
+
- **`deriveSovereignMotebitId(genesisPublicKeyHex)`** — The sovereign commitment of a genesis key: a deterministic UUIDv8 from `sha256(genesisKey)`. A sovereign-minted motebit's `motebit_id` IS this value, so the id↔key binding is self-certifying (offline, no operator). Second-preimage resistance ~2^122.
|
|
120
|
+
- **`verifySovereignBinding(motebitId, genesisPublicKeyHex)`** — True iff `motebitId` is the sovereign commitment to the genesis key. `verifyKeyBindingAtTime` sets `sovereign: true` on its result when this holds.
|
|
116
121
|
|
|
117
122
|
### Primitives
|
|
118
123
|
|
package/dist/artifacts.d.ts
CHANGED
|
@@ -162,7 +162,7 @@ export declare function signToolInvocationReceipt<T extends Omit<SignableToolInv
|
|
|
162
162
|
* base64, or signature mismatch — same rules as `verifyExecutionReceipt`.
|
|
163
163
|
*/
|
|
164
164
|
export declare function verifyToolInvocationReceipt(receipt: SignableToolInvocationReceipt, publicKey: Uint8Array): Promise<boolean>;
|
|
165
|
-
import type { SignableComputerSessionReceipt, ComputerSessionActionRecord } from "@motebit/protocol";
|
|
165
|
+
import type { SignableComputerSessionReceipt, ComputerSessionActionRecord, SettlementAsset } from "@motebit/protocol";
|
|
166
166
|
/** The one suite ComputerSessionReceipts sign under today. */
|
|
167
167
|
export declare const COMPUTER_SESSION_RECEIPT_SUITE: "motebit-jcs-ed25519-b64-v1";
|
|
168
168
|
/**
|
|
@@ -229,8 +229,15 @@ export interface SovereignPaymentReceiptInput {
|
|
|
229
229
|
tx_hash: string;
|
|
230
230
|
/** Payment amount in micro-units (6 decimals for USDC). */
|
|
231
231
|
amount_micro: bigint;
|
|
232
|
-
/**
|
|
233
|
-
|
|
232
|
+
/**
|
|
233
|
+
* Settlement asset this payment cleared in. Closed union — see
|
|
234
|
+
* `SettlementAsset` in `@motebit/protocol`. The value is embedded in
|
|
235
|
+
* the signed receipt's `result` string and is therefore part of the
|
|
236
|
+
* canonical-JSON-signed payload; tightening the input type forces
|
|
237
|
+
* every signer to provide a registered asset before the receipt can
|
|
238
|
+
* be produced.
|
|
239
|
+
*/
|
|
240
|
+
asset: SettlementAsset;
|
|
234
241
|
/** Brief human-readable description of the service rendered. */
|
|
235
242
|
service_description: string;
|
|
236
243
|
/** SHA-256 hash of the request payload. */
|
|
@@ -258,6 +265,18 @@ export interface ReceiptVerification {
|
|
|
258
265
|
task_id: string;
|
|
259
266
|
motebit_id: string;
|
|
260
267
|
verified: boolean;
|
|
268
|
+
/**
|
|
269
|
+
* Where the verifying key came from. `"external"` = resolved from the
|
|
270
|
+
* caller's `knownKeys` map, so identity binding is established by the
|
|
271
|
+
* caller's trusted source. `"embedded"` = fell back to the receipt's own
|
|
272
|
+
* `public_key`, which proves the bytes are internally consistent but NOT
|
|
273
|
+
* that the key belongs to `motebit_id` — a forged receipt can embed any
|
|
274
|
+
* key and still report `verified: true`. Only `"external"` establishes
|
|
275
|
+
* binding. Absent when no key was resolved (`verified: false`,
|
|
276
|
+
* `error: "unknown motebit_id"`). Callers MUST NOT present an `"embedded"`
|
|
277
|
+
* result as proof of identity.
|
|
278
|
+
*/
|
|
279
|
+
keySource?: "external" | "embedded";
|
|
261
280
|
error?: string;
|
|
262
281
|
delegations: ReceiptVerification[];
|
|
263
282
|
}
|
package/dist/artifacts.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifacts.d.ts","sourceRoot":"","sources":["../src/artifacts.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAwCH;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,oFAAoF;IACpF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,eAAe,EAAE,CAAC;IACxC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;OAOG;IACH,KAAK,EAAE,4BAA4B,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wDAAwD;AACxD,eAAO,MAAM,uBAAuB,EAAG,4BAAqC,CAAC;AAE7E;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CAAC,CAAC,SAAS,IAAI,CAAC,eAAe,EAAE,WAAW,GAAG,OAAO,CAAC,EAC/F,OAAO,EAAE,CAAC,EACV,UAAU,EAAE,UAAU,EACtB,SAAS,CAAC,EAAE,UAAU,GACrB,OAAO,CAAC,CAAC,GAAG;IAAE,KAAK,EAAE,OAAO,uBAAuB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAgC3E;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,UAAU,GACpB,OAAO,CAAC,OAAO,CAAC,CA+BlB;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,+DAA+D;IAC/D,gBAAgB,EAAE,MAAM,CAAC;IACzB,qFAAqF;IACrF,iBAAiB,EAAE,MAAM,CAAC;IAC1B,yDAAyD;IACzD,MAAM,EAAE,IAAI,GAAG,aAAa,GAAG,YAAY,GAAG,kBAAkB,CAAC;CAClE;AAED,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,UAAU,GACpB,OAAO,CAAC,mBAAmB,CAAC,CAiC9B;AAID;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,6BAA6B;IAC5C,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,oFAAoF;IACpF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,gFAAgF;IAChF,iBAAiB,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,gBAAgB,CAAC;IAC5E;;;;;OAKG;IACH,KAAK,EAAE,4BAA4B,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,6DAA6D;AAC7D,eAAO,MAAM,6BAA6B,EAAG,4BAAqC,CAAC;AAEnF;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAErE;AAED;;;;;;;;GAQG;AACH,wBAAsB,yBAAyB,CAC7C,CAAC,SAAS,IAAI,CAAC,6BAA6B,EAAE,WAAW,GAAG,OAAO,CAAC,EAEpE,OAAO,EAAE,CAAC,EACV,UAAU,EAAE,UAAU,EACtB,SAAS,CAAC,EAAE,UAAU,GACrB,OAAO,CAAC,CAAC,GAAG;IAAE,KAAK,EAAE,OAAO,6BAA6B,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAsBjF;AAED;;;GAGG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,6BAA6B,EACtC,SAAS,EAAE,UAAU,GACpB,OAAO,CAAC,OAAO,CAAC,CA+BlB;AAWD,OAAO,KAAK,EACV,8BAA8B,EAC9B,2BAA2B,EAC5B,MAAM,mBAAmB,CAAC;AAE3B,8DAA8D;AAC9D,eAAO,MAAM,8BAA8B,EAAG,4BAAqC,CAAC;AAEpF;;;;;;;;;;;GAWG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,aAAa,CAAC,2BAA2B,CAAC,GAClD,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED;;;;;;;;GAQG;AACH,wBAAsB,0BAA0B,CAC9C,CAAC,SAAS,IAAI,CAAC,8BAA8B,EAAE,YAAY,CAAC,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,EAEtF,OAAO,EAAE,CAAC,EACV,UAAU,EAAE,UAAU,EACtB,SAAS,CAAC,EAAE,UAAU,GACrB,OAAO,CAAC,CAAC,GAAG;IAAE,KAAK,EAAE,OAAO,8BAA8B,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAsBlF;AAED;;;;;;GAMG;AACH,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,8BAA8B,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAC9E,SAAS,EAAE,UAAU,GACpB,OAAO,CAAC,OAAO,CAAC,CA+BlB;AAID;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,4BAA4B;IAC3C,uEAAuE;IACvE,gBAAgB,EAAE,MAAM,CAAC;IACzB,6BAA6B;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,0EAA0E;IAC1E,gBAAgB,EAAE,MAAM,CAAC;IACzB,iFAAiF;IACjF,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,YAAY,EAAE,MAAM,CAAC;IACrB,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,mBAAmB,EAAE,MAAM,CAAC;IAC5B,2CAA2C;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,oFAAoF;IACpF,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,2CAA2C;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,yCAAyC;IACzC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;GAQG;AACH,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,4BAA4B,EACnC,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,UAAU,GACpB,OAAO,CAAC,eAAe,CAAC,CAiB1B;AAID,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,mBAAmB,EAAE,CAAC;CACpC;AAED;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAEhD;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,mBAAmB,CAAC,CA+B9B;AAcD,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,eAAe,CAAC;IACzB,iBAAiB,EAAE,UAAU,CAAC;CAC/B;AAED;;;;;;;;;GASG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,iBAAiB,EAAE,GACzB,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAwB7D;AAID;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,YAAY,EAAE,eAAe,EAAE,CAAC;AAEhC,uDAAuD;AACvD,eAAO,MAAM,sBAAsB,EAAG,4BAAqC,CAAC;AAE5E;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAClC,UAAU,EAAE,IAAI,CAAC,eAAe,EAAE,WAAW,GAAG,OAAO,CAAC,EACxD,mBAAmB,EAAE,UAAU,GAC9B,OAAO,CAAC,eAAe,CAAC,CAM1B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,eAAe,EAC3B,OAAO,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAChD,OAAO,CAAC,OAAO,CAAC,CAmBlB;AAED;;;;;;;;;GASG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,eAAe,EAAE,GACvB,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAoC7C;AAMD,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC5H,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC;AAEnG,yFAAyF;AACzF,eAAO,MAAM,sBAAsB,EAAG,4BAAqC,CAAC;AAE5E,2FAA2F;AAC3F,eAAO,MAAM,wBAAwB,EAAG,4BAAqC,CAAC;AAE9E,uFAAuF;AACvF,eAAO,MAAM,qBAAqB,EAAG,4BAAqC,CAAC;AAE3E,4FAA4F;AAC5F,eAAO,MAAM,sBAAsB,EAAG,4BAAqC,CAAC;AAE5E,sFAAsF;AACtF,eAAO,MAAM,oBAAoB,EAAG,4BAAqC,CAAC;AAE1E;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,IAAI,CAAC,eAAe,EAAE,WAAW,GAAG,OAAO,CAAC,EAClD,cAAc,EAAE,UAAU,GACzB,OAAO,CAAC,eAAe,CAAC,CAM1B;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,eAAe,EACrB,aAAa,EAAE,UAAU,GACxB,OAAO,CAAC,OAAO,CAAC,CAWlB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,WAAW,GAAG,OAAO,CAAC,EAC1D,qBAAqB,EAAE,UAAU,GAChC,OAAO,CAAC,iBAAiB,CAAC,CAM5B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,iBAAiB,EAC7B,oBAAoB,EAAE,UAAU,EAChC,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,GACjC,OAAO,CAAC,OAAO,CAAC,CA2BlB;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,WAAW,GAAG,OAAO,CAAC,EACpD,eAAe,EAAE,UAAU,GAC1B,OAAO,CAAC,cAAc,CAAC,CAMzB;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,cAAc,EACvB,cAAc,EAAE,UAAU,GACzB,OAAO,CAAC,OAAO,CAAC,CAWlB;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,WAAW,GAAG,OAAO,CAAC,EACtD,mBAAmB,EAAE,UAAU,GAC9B,OAAO,CAAC,eAAe,CAAC,CAM1B;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,eAAe,EACzB,kBAAkB,EAAE,UAAU,GAC7B,OAAO,CAAC,OAAO,CAAC,CAWlB;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,WAAW,GAAG,OAAO,CAAC,EAClD,kBAAkB,EAAE,UAAU,GAC7B,OAAO,CAAC,aAAa,CAAC,CAMxB;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,aAAa,EACrB,iBAAiB,EAAE,UAAU,GAC5B,OAAO,CAAC,OAAO,CAAC,CAWlB;AAID,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,YAAY,EAAE,oBAAoB,EAAE,CAAC;AAErC,4DAA4D;AAC5D,eAAO,MAAM,2BAA2B,EAAG,4BAAqC,CAAC;AAEjF;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE,WAAW,GAAG,OAAO,GAAG,YAAY,CAAC,EACzE,UAAU,EAAE,UAAU,EACtB,SAAS,CAAC,EAAE,UAAU,GACrB,OAAO,CAAC,oBAAoB,CAAC,CAS/B;AAED;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,oBAAoB,EAC7B,SAAS,EAAE,UAAU,GACpB,OAAO,CAAC,OAAO,CAAC,CAWlB;AAID,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B,yFAAyF;AACzF,eAAO,MAAM,oBAAoB,EAAG,4BAAqC,CAAC;AAE1E;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,WAAW,GAAG,OAAO,CAAC,EAClD,eAAe,EAAE,UAAU,GAC1B,OAAO,CAAC,aAAa,CAAC,CAMxB;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,aAAa,EACrB,cAAc,EAAE,UAAU,GACzB,OAAO,CAAC,OAAO,CAAC,CAWlB;AAID,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,YAAY,EAAE,gBAAgB,EAAE,CAAC;AAEjC,wDAAwD;AACxD,eAAO,MAAM,uBAAuB,EAAG,4BAAqC,CAAC;AAE7E;;;;;;;;;;;;GAYG;AACH,wBAAsB,cAAc,CAClC,UAAU,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,GAAG,OAAO,CAAC,EACzD,gBAAgB,EAAE,UAAU,GAC3B,OAAO,CAAC,gBAAgB,CAAC,CAM3B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,gBAAgB,EAC5B,eAAe,EAAE,UAAU,GAC1B,OAAO,CAAC,OAAO,CAAC,CAWlB;AAID,2DAA2D;AAC3D,eAAO,MAAM,oBAAoB,EAAG,4BAAqC,CAAC;AAE1E;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,KAAK,EAAE,OAAO,oBAAoB,CAAC;IACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oEAAoE;IACpE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+DAA+D;IAC/D,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AA6BD;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,aAAa,EAAE,UAAU,EACzB,aAAa,EAAE,UAAU,EACzB,YAAY,EAAE,UAAU,EACxB,YAAY,EAAE,UAAU,EACxB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,mBAAmB,CAAC,CAoB9B;AAED;;;;GAIG;AACH,wBAAsB,8BAA8B,CAClD,kBAAkB,EAAE,UAAU,EAC9B,aAAa,EAAE,UAAU,EACzB,YAAY,EAAE,UAAU,EACxB,YAAY,EAAE,UAAU,EACxB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,mBAAmB,CAAC,CA4B9B;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,mBAAmB,EAC3B,oBAAoB,CAAC,EAAE,MAAM,GAC5B,OAAO,CAAC,OAAO,CAAC,CAgClB;AAID,kDAAkD;AAClD,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,OAAO,CAAC;IACf,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5C;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,mBAAmB,EAAE,EAC5B,oBAAoB,CAAC,EAAE,MAAM,GAC5B,OAAO,CAAC,qBAAqB,CAAC,CA+EhC;AAID,sEAAsE;AACtE,eAAO,MAAM,yBAAyB,EAAG,4BAAqC,CAAC;AAE/E;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,kBAAkB,EAAE,UAAU,EAC9B,kBAAkB,EAAE,UAAU,EAC9B,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC;IACT,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC,CAkBD;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE;IACV,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB,EACD,oBAAoB,EAAE,MAAM,EAC5B,oBAAoB,EAAE,MAAM,GAC3B,OAAO,CAAC,OAAO,CAAC,CA+BlB;AAID,4DAA4D;AAC5D,eAAO,MAAM,2BAA2B,EAAG,4BAAqC,CAAC;AAEjF,MAAM,WAAW,4BAA4B;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,EAAE,eAAe,EAAE,CAAC;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,KAAK,EAAE,OAAO,2BAA2B,CAAC;IAC1C,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,IAAI,CAAC,4BAA4B,EAAE,cAAc,GAAG,qBAAqB,GAAG,OAAO,CAAC,EAC7F,mBAAmB,EAAE,UAAU,GAC9B,OAAO,CAAC,4BAA4B,CAAC,CAoBvC;AAED;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,4BAA4B,EACrC,kBAAkB,EAAE,UAAU,EAC9B,eAAe,CAAC,EAAE,SAAS,GAC1B,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAuD7C;AAcD,mEAAmE;AACnE,eAAO,MAAM,yBAAyB,EAAG,4BAAqC,CAAC;AAE/E;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,yBAAyB,CAAC;IACxC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAC1C,CAAC,SAAS,IAAI,CAAC,0BAA0B,EAAE,WAAW,GAAG,OAAO,CAAC,EAEjE,IAAI,EAAE,CAAC,EACP,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,CAAC,GAAG;IAAE,KAAK,EAAE,OAAO,yBAAyB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAS7E;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,8BAA8B,GACtC;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,GACf;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,WAAW,GAAG,OAAO,GAAG,mBAAmB,GAAG,eAAe,CAAA;CAAE,CAAC;AAE5F,qFAAqF;AACrF,eAAO,MAAM,8BAA8B,QAAgB,CAAC;AAE5D,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,0BAA0B,EAChC,GAAG,GAAE,MAAmB,GACvB,OAAO,CAAC,8BAA8B,CAAC,CAoCzC"}
|
|
1
|
+
{"version":3,"file":"artifacts.d.ts","sourceRoot":"","sources":["../src/artifacts.ts"],"names":[],"mappings":"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"}
|
|
@@ -149,17 +149,23 @@ export interface RevocationAnchorProof {
|
|
|
149
149
|
* Verify a revocation anchor — confirm a key was revoked.
|
|
150
150
|
*
|
|
151
151
|
* The revocation memo format is: "motebit:revocation:v1:{public_key_hex}:{timestamp}"
|
|
152
|
-
*
|
|
153
|
-
*
|
|
152
|
+
* where the memo `timestamp` is the EFFECTIVE revocation time (see
|
|
153
|
+
* credential-anchor-v1.md §10.2). The relay separately signs the payload
|
|
154
|
+
* "revocation:{type}:{motebit_id}:{recording_timestamp}" with its identity key,
|
|
155
|
+
* where the payload timestamp is the RECORDING time and MAY be later than the
|
|
156
|
+
* memo's effective time. The two are decoupled deliberately, which is why
|
|
157
|
+
* `proof.timestamp` (used to rebuild the expected memo) and `revocationPayload`
|
|
158
|
+
* (the exact signed string) are passed as separate arguments. This function
|
|
159
|
+
* verifies:
|
|
154
160
|
*
|
|
155
|
-
* 1. The relay's Ed25519 signature over the revocation event
|
|
161
|
+
* 1. The relay's Ed25519 signature over the revocation event payload
|
|
156
162
|
* 2. Optionally, the onchain memo transaction via a callback
|
|
157
163
|
*
|
|
158
164
|
* Both steps are offline-verifiable given the relay's public key. The onchain
|
|
159
165
|
* step requires network access but ensures the relay cannot deny the revocation.
|
|
160
166
|
*
|
|
161
|
-
* @param proof - The revocation anchor proof fields
|
|
162
|
-
* @param revocationPayload - The exact signed payload string (e.g., "revocation:key_rotated:mid-xxx:1712345678")
|
|
167
|
+
* @param proof - The revocation anchor proof fields (`proof.timestamp` is the effective/memo time)
|
|
168
|
+
* @param revocationPayload - The exact signed payload string (e.g., "revocation:key_rotated:mid-xxx:1712345678"), carrying the recording time
|
|
163
169
|
* @param chainVerifier - Optional callback: given tx_hash + expected memo, verify onchain
|
|
164
170
|
*/
|
|
165
171
|
export declare function verifyRevocationAnchor(proof: RevocationAnchorProof, revocationPayload: string, chainVerifier?: (anchor: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential-anchor.d.ts","sourceRoot":"","sources":["../src/credential-anchor.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"credential-anchor.d.ts","sourceRoot":"","sources":["../src/credential-anchor.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -137,6 +137,16 @@ export interface ReceiptVerifyResult extends BaseResult {
|
|
|
137
137
|
type: "receipt";
|
|
138
138
|
receipt: ExecutionReceipt | null;
|
|
139
139
|
signer?: string;
|
|
140
|
+
/**
|
|
141
|
+
* Always `"embedded"` when present: `verifyReceipt` resolves the key from
|
|
142
|
+
* the receipt's own `public_key`, which proves byte-integrity but NOT
|
|
143
|
+
* identity binding. Establishing that the key belongs to `motebit_id`
|
|
144
|
+
* requires an external anchor (transparency log / known-keys map /
|
|
145
|
+
* identity file); see `verifyReceiptChain` for the external-key path.
|
|
146
|
+
* Callers MUST NOT present a `valid: true` result as proof of identity
|
|
147
|
+
* on the strength of an embedded key alone.
|
|
148
|
+
*/
|
|
149
|
+
keySource?: "embedded";
|
|
140
150
|
delegations?: ReceiptVerifyResult[];
|
|
141
151
|
}
|
|
142
152
|
export interface CredentialVerifyResult extends BaseResult {
|
|
@@ -269,6 +279,108 @@ export declare function parse(content: string): {
|
|
|
269
279
|
signature: string;
|
|
270
280
|
rawFrontmatter: string;
|
|
271
281
|
};
|
|
282
|
+
/**
|
|
283
|
+
* Result of binding a signing key to a motebit identity at a point in time.
|
|
284
|
+
* `bound: true` means the key was this identity's legitimate key *at* the given
|
|
285
|
+
* timestamp — sovereign-root binding (rooted in the motebit's own genesis +
|
|
286
|
+
* rotation signatures), with time-windowing. See
|
|
287
|
+
* `docs/doctrine/identity-binding-verification.md`.
|
|
288
|
+
*/
|
|
289
|
+
export interface KeyBindingResult {
|
|
290
|
+
bound: boolean;
|
|
291
|
+
/** Genesis (root) public key of the identity's succession chain. */
|
|
292
|
+
genesisPublicKey?: string;
|
|
293
|
+
/** Start of the matched key's active window (ms epoch); absent ⇒ unbounded below. */
|
|
294
|
+
activeFrom?: number;
|
|
295
|
+
/** End of the matched key's active window (ms epoch); absent ⇒ still current. */
|
|
296
|
+
activeUntil?: number;
|
|
297
|
+
/**
|
|
298
|
+
* True when `motebit_id` is the sovereign commitment to the genesis key
|
|
299
|
+
* (`deriveSovereignMotebitId(genesisPublicKey) === motebit_id`). The id↔genesis
|
|
300
|
+
* link is then verifiable offline from the identity file alone — no operator,
|
|
301
|
+
* no anchor. This is the strongest binding root (the doctrine's `sovereign`
|
|
302
|
+
* rung); independent of `bound`, which is about the *signing* key's window.
|
|
303
|
+
*/
|
|
304
|
+
sovereign?: boolean;
|
|
305
|
+
/** Why binding failed, when `bound` is false. */
|
|
306
|
+
reason?: string;
|
|
307
|
+
}
|
|
308
|
+
/**
|
|
309
|
+
* The sovereign commitment of a genesis key: a UUIDv8 (RFC 9562) deterministically
|
|
310
|
+
* derived from `sha256(genesisPublicKey)`. When a motebit is minted sovereignly,
|
|
311
|
+
* its `motebit_id` IS this value — so the id↔key binding is self-certifying and
|
|
312
|
+
* needs no operator: a verifier recomputes it and checks equality.
|
|
313
|
+
*
|
|
314
|
+
* Second-preimage resistance is ~2^122 (an attacker cannot grind a different
|
|
315
|
+
* genesis key whose commitment matches a target id), which is the security bar
|
|
316
|
+
* for "you cannot impersonate a sovereign motebit." Existing random UUIDv7 ids
|
|
317
|
+
* carry version nibble 7 and can never equal a v8 commitment, so non-sovereign
|
|
318
|
+
* motebits read as such cleanly. The genesis key derives deterministically from a
|
|
319
|
+
* 32-byte seed (an Ed25519 key *is* its seed), so the id is recoverable from the
|
|
320
|
+
* seed — self-certification AND recovery, the `sovereign` rung's whole point.
|
|
321
|
+
*
|
|
322
|
+
* See `docs/doctrine/identity-binding-verification.md`.
|
|
323
|
+
*/
|
|
324
|
+
export declare function deriveSovereignMotebitId(genesisPublicKeyHex: string): Promise<string>;
|
|
325
|
+
/**
|
|
326
|
+
* True iff `motebitId` is the sovereign commitment to `genesisPublicKeyHex` — the
|
|
327
|
+
* offline, operator-free check that an id is bound to a key. Case-insensitive on
|
|
328
|
+
* the id. Returns false (never throws) on malformed input — fail-closed.
|
|
329
|
+
*/
|
|
330
|
+
export declare function verifySovereignBinding(motebitId: string, genesisPublicKeyHex: string): Promise<boolean>;
|
|
331
|
+
/**
|
|
332
|
+
* Sovereign-root identity binding with time-windowing: was `signingKeyHex` this
|
|
333
|
+
* motebit's legitimate key *at* `atTimestampMs`?
|
|
334
|
+
*
|
|
335
|
+
* Verifies the identity's succession chain (link signatures + continuity +
|
|
336
|
+
* temporal order, via {@link verifySuccessionChain}), then checks the key's
|
|
337
|
+
* active window contains the timestamp. A since-rotated key therefore does NOT
|
|
338
|
+
* bind a newer receipt, and a future key does not bind an older one — the
|
|
339
|
+
* time-windowing failure mode named in the doctrine.
|
|
340
|
+
*
|
|
341
|
+
* This roots in the motebit's own keys; no operator trust. Tying the genesis key
|
|
342
|
+
* to the `motebit_id` (the non-equivocable anchor) is the caller's responsibility
|
|
343
|
+
* — this primitive proves the key/identity-file relationship, not file/id.
|
|
344
|
+
*/
|
|
345
|
+
export declare function verifyKeyBindingAtTime(identity: MotebitIdentityFile, signingKeyHex: string, atTimestampMs: number, guardianPublicKeyHex?: string): Promise<KeyBindingResult>;
|
|
346
|
+
/**
|
|
347
|
+
* Canonical leaf of the identity-transparency log: the operator's
|
|
348
|
+
* non-equivocable commitment that motebit `motebitId`'s current identity key is
|
|
349
|
+
* `currentKeyHex`. Hex SHA-256 of the JCS-canonical commitment. The relay that
|
|
350
|
+
* produces the log and the verifier that checks inclusion MUST agree on this
|
|
351
|
+
* convention. See `docs/doctrine/identity-binding-verification.md`.
|
|
352
|
+
*/
|
|
353
|
+
export declare function identityLogLeaf(motebitId: string, currentKeyHex: string): Promise<string>;
|
|
354
|
+
/** Merkle inclusion proof of an identity-log leaf under an anchored root. */
|
|
355
|
+
export interface IdentityLogInclusionProof {
|
|
356
|
+
/** Leaf position in the bottom layer (0-based). */
|
|
357
|
+
readonly index: number;
|
|
358
|
+
/** Sibling hashes, leaf-to-root order (hex). */
|
|
359
|
+
readonly siblings: string[];
|
|
360
|
+
/** Bottom-up layer cardinalities. */
|
|
361
|
+
readonly layerSizes: number[];
|
|
362
|
+
/**
|
|
363
|
+
* The anchored Merkle root the proof must reconstruct (hex). Confirming this
|
|
364
|
+
* root is actually posted on-chain by the operator is a SEPARATE check, the
|
|
365
|
+
* verifier-caller's responsibility — it is what makes anchored binding
|
|
366
|
+
* non-zero-network and defeats split-view equivocation.
|
|
367
|
+
*/
|
|
368
|
+
readonly anchoredRoot: string;
|
|
369
|
+
}
|
|
370
|
+
/**
|
|
371
|
+
* Anchored identity binding: sovereign-root binding (via
|
|
372
|
+
* {@link verifyKeyBindingAtTime}) AND the motebit's current identity key is
|
|
373
|
+
* committed in the identity-transparency log under `proof.anchoredRoot`. The
|
|
374
|
+
* Merkle inclusion is the operator's non-equivocation — it cannot serve a forked
|
|
375
|
+
* chain whose head differs from the anchored leaf. Returns the sovereign
|
|
376
|
+
* `KeyBindingResult` when both hold; `bound: false` if either fails.
|
|
377
|
+
*
|
|
378
|
+
* NOTE: this proves inclusion under a *given* root; verifying that root is the
|
|
379
|
+
* one the operator anchored on-chain is the caller's cross-check. The caller must
|
|
380
|
+
* also confirm `identity.motebit_id` is the receipt's claimed motebit — this
|
|
381
|
+
* primitive binds a key to the supplied identity file, not to a receipt.
|
|
382
|
+
*/
|
|
383
|
+
export declare function verifyIdentityBindingAnchored(identity: MotebitIdentityFile, signingKeyHex: string, atTimestampMs: number, proof: IdentityLogInclusionProof, guardianPublicKeyHex?: string): Promise<KeyBindingResult>;
|
|
272
384
|
/**
|
|
273
385
|
* Verify a single `ExecutionReceipt` by:
|
|
274
386
|
*
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAaH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IAGjB,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,eAAe,CAAC;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,QAAQ,EAAE;QACR,SAAS,EAAE,SAAS,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IAEF,UAAU,EAAE;QACV,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;QAC3C,aAAa,EAAE,MAAM,CAAC;QACtB,sBAAsB,EAAE,MAAM,CAAC;QAC/B,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,OAAO,CAAC;KACxB,CAAC;IAEF,OAAO,EAAE;QACP,mBAAmB,EAAE,MAAM,CAAC;QAC5B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACvC,WAAW,EAAE,OAAO,CAAC;KACtB,CAAC;IAEF,MAAM,EAAE;QACN,cAAc,EAAE,MAAM,CAAC;QACvB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;IAEF,8EAA8E;IAC9E,QAAQ,CAAC,EAAE;QACT,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,cAAc,EAAE,MAAM,CAAC;QACvB,6DAA6D;QAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IAEF,OAAO,EAAE,KAAK,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC,CAAC;IAEH,UAAU,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,KAAK,EAAE,4BAA4B,CAAC;IACpC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oEAAoE;IACpE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+DAA+D;IAC/D,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAMD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,oFAAoF;IACpF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACzC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAOD,YAAY,EACV,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAEV,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAKrD,OAAO,EACL,8BAA8B,EAC9B,iCAAiC,EACjC,iCAAiC,EACjC,+BAA+B,GAChC,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,mBAAmB,EACnB,wBAAwB,EACxB,+BAA+B,EAC/B,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,EACV,4BAA4B,EAC5B,+BAA+B,EAChC,MAAM,2BAA2B,CAAC;AAMnC,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,UAAU,UAAU;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,oBAAqB,SAAQ,UAAU;IACtD,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE;QACX,KAAK,EAAE,OAAO,CAAC;QACf,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,MAAM,WAAW,mBAAoB,SAAQ,UAAU;IACrD,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,WAAW,CAAC,EAAE,mBAAmB,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,sBAAuB,SAAQ,UAAU;IACxD,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,+BAA+B,CAAC;CACxD;AAED,MAAM,WAAW,wBAAyB,SAAQ,UAAU;IAC1D,IAAI,EAAE,cAAc,CAAC;IACrB,YAAY,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,sBAAsB,EAAE,CAAC;CACxC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,4CAA4C;IAC5C,QAAQ,CAAC,MAAM,EAAE,IAAI,GAAG,eAAe,GAAG,SAAS,CAAC;CACrD;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,WAAW,iBAAkB,SAAQ,UAAU;IACnD,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IAC/B,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE;QACL,QAAQ,EAAE;YAAE,KAAK,EAAE,OAAO,CAAC;YAAC,MAAM,EAAE,iBAAiB,CAAA;SAAE,CAAC;QACxD,SAAS,EAAE;YAAE,KAAK,EAAE,OAAO,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAC;QACvE,KAAK,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;KAC7C,CAAC;CACH;AAED,MAAM,MAAM,YAAY,GACpB,oBAAoB,GACpB,mBAAmB,GACnB,sBAAsB,GACtB,wBAAwB,GACxB,iBAAiB,CAAC;AAEtB,MAAM,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;AAEhD,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,iFAAiF;IACjF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;;;;;OASG;IACH,mBAAmB,CAAC,EAAE,4BAA4B,CAAC;CACpD;AAMD;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE;QACX,KAAK,EAAE,OAAO,CAAC;QACf,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AA4VD;;;GAGG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG;IACtC,WAAW,EAAE,mBAAmB,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CACxB,CAgCA;AAqRD;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,oEAAoE;IACpE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qFAAqF;IACrF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iFAAiF;IACjF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,wBAAwB,CAAC,mBAAmB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAS3F;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,EACjB,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,mBAAmB,EAC7B,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,oBAAoB,CAAC,EAAE,MAAM,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CAyD3B;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAU/F;AAED,6EAA6E;AAC7E,MAAM,WAAW,yBAAyB;IACxC,mDAAmD;IACnD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,gDAAgD;IAChD,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAC5B,qCAAqC;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;IAC9B;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,6BAA6B,CACjD,QAAQ,EAAE,mBAAmB,EAC7B,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,yBAAyB,EAChC,oBAAoB,CAAC,EAAE,MAAM,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CAyB3B;AAsCD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAwD3F;AA8DD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,wFAAwF;IACxF,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,gGAAgG;IAChG,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;CACvD;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA+F3F;AAgND;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAgG9F;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CASrF;AAOD,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,0BAA0B,EAC1B,4BAA4B,EAC5B,uBAAuB,EACvB,yBAAyB,EACzB,oBAAoB,EACpB,kBAAkB,EAClB,KAAK,yBAAyB,EAC9B,KAAK,2BAA2B,EAChC,KAAK,sBAAsB,GAC5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,EAChC,KAAK,mBAAmB,EACxB,KAAK,4BAA4B,EACjC,KAAK,qBAAqB,GAC3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,qBAAqB,EACrB,8BAA8B,EAC9B,8BAA8B,EAC9B,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,2BAA2B,EAC3B,mBAAmB,EACnB,2BAA2B,EAC3B,6BAA6B,EAC7B,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,GACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,0BAA0B,EAC1B,kCAAkC,EAClC,8BAA8B,EAC9B,uBAAuB,EACvB,iCAAiC,EACjC,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,qCAAqC,EACrC,6BAA6B,EAC7B,oCAAoC,EACpC,yBAAyB,EACzB,uBAAuB,EACvB,KAAK,+BAA+B,EACpC,KAAK,gCAAgC,EACrC,KAAK,6BAA6B,GACnC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,kCAAkC,EAClC,0BAA0B,EAC1B,4BAA4B,EAC5B,KAAK,kCAAkC,EACvC,KAAK,mCAAmC,GACzC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -3747,6 +3747,52 @@ function isScopeNarrowed(parentScope, childScope) {
|
|
|
3747
3747
|
return true;
|
|
3748
3748
|
}
|
|
3749
3749
|
|
|
3750
|
+
// src/merkle.ts
|
|
3751
|
+
function fromHex(hex) {
|
|
3752
|
+
const bytes = new Uint8Array(hex.length / 2);
|
|
3753
|
+
for (let i = 0; i < hex.length; i += 2) {
|
|
3754
|
+
bytes[i / 2] = parseInt(hex.slice(i, i + 2), 16);
|
|
3755
|
+
}
|
|
3756
|
+
return bytes;
|
|
3757
|
+
}
|
|
3758
|
+
function toHex(bytes) {
|
|
3759
|
+
return Array.from(bytes).map((b) => b.toString(16).padStart(2, "0")).join("");
|
|
3760
|
+
}
|
|
3761
|
+
function concat(a, b) {
|
|
3762
|
+
const out = new Uint8Array(a.length + b.length);
|
|
3763
|
+
out.set(a);
|
|
3764
|
+
out.set(b, a.length);
|
|
3765
|
+
return out;
|
|
3766
|
+
}
|
|
3767
|
+
async function verifyMerkleInclusion(leaf, index, siblings, layerSizes, expectedRoot) {
|
|
3768
|
+
let current;
|
|
3769
|
+
try {
|
|
3770
|
+
current = fromHex(leaf);
|
|
3771
|
+
} catch {
|
|
3772
|
+
return false;
|
|
3773
|
+
}
|
|
3774
|
+
let idx = index;
|
|
3775
|
+
let sibIdx = 0;
|
|
3776
|
+
for (const layerSize of layerSizes) {
|
|
3777
|
+
const siblingPos = idx % 2 === 0 ? idx + 1 : idx - 1;
|
|
3778
|
+
const hasSibling = siblingPos >= 0 && siblingPos < layerSize;
|
|
3779
|
+
if (hasSibling) {
|
|
3780
|
+
if (sibIdx >= siblings.length) return false;
|
|
3781
|
+
let siblingBytes;
|
|
3782
|
+
try {
|
|
3783
|
+
siblingBytes = fromHex(siblings[sibIdx]);
|
|
3784
|
+
} catch {
|
|
3785
|
+
return false;
|
|
3786
|
+
}
|
|
3787
|
+
const combined = idx % 2 === 0 ? concat(current, siblingBytes) : concat(siblingBytes, current);
|
|
3788
|
+
current = await sha2563(combined);
|
|
3789
|
+
sibIdx++;
|
|
3790
|
+
}
|
|
3791
|
+
idx = Math.floor(idx / 2);
|
|
3792
|
+
}
|
|
3793
|
+
return toHex(current) === expectedRoot;
|
|
3794
|
+
}
|
|
3795
|
+
|
|
3750
3796
|
// src/skills.ts
|
|
3751
3797
|
var SKILL_SIGNATURE_SUITE = "motebit-jcs-ed25519-b64-v1";
|
|
3752
3798
|
function signatureWithoutValue(sig) {
|
|
@@ -4328,10 +4374,13 @@ async function signSovereignPaymentReceipt(input, privateKey, publicKey) {
|
|
|
4328
4374
|
async function verifyReceiptChain(receipt, knownKeys) {
|
|
4329
4375
|
const { task_id, motebit_id } = receipt;
|
|
4330
4376
|
let publicKey = knownKeys.get(motebit_id);
|
|
4331
|
-
|
|
4377
|
+
let keySource;
|
|
4378
|
+
if (publicKey) {
|
|
4379
|
+
keySource = "external";
|
|
4380
|
+
} else if (receipt.public_key) {
|
|
4332
4381
|
publicKey = hexToBytes4(receipt.public_key);
|
|
4333
|
-
|
|
4334
|
-
|
|
4382
|
+
keySource = "embedded";
|
|
4383
|
+
} else {
|
|
4335
4384
|
const delegations2 = await verifyDelegations(receipt, knownKeys);
|
|
4336
4385
|
return { task_id, motebit_id, verified: false, error: "unknown motebit_id", delegations: delegations2 };
|
|
4337
4386
|
}
|
|
@@ -4344,7 +4393,13 @@ async function verifyReceiptChain(receipt, knownKeys) {
|
|
|
4344
4393
|
error = err2 instanceof Error ? err2.message : String(err2);
|
|
4345
4394
|
}
|
|
4346
4395
|
const delegations = await verifyDelegations(receipt, knownKeys);
|
|
4347
|
-
const result = {
|
|
4396
|
+
const result = {
|
|
4397
|
+
task_id,
|
|
4398
|
+
motebit_id,
|
|
4399
|
+
verified,
|
|
4400
|
+
keySource,
|
|
4401
|
+
delegations
|
|
4402
|
+
};
|
|
4348
4403
|
if (error) {
|
|
4349
4404
|
result.error = error;
|
|
4350
4405
|
}
|
|
@@ -5173,52 +5228,6 @@ async function verifyContentArtifact(manifest, content) {
|
|
|
5173
5228
|
return { valid: true };
|
|
5174
5229
|
}
|
|
5175
5230
|
|
|
5176
|
-
// src/merkle.ts
|
|
5177
|
-
function fromHex(hex) {
|
|
5178
|
-
const bytes = new Uint8Array(hex.length / 2);
|
|
5179
|
-
for (let i = 0; i < hex.length; i += 2) {
|
|
5180
|
-
bytes[i / 2] = parseInt(hex.slice(i, i + 2), 16);
|
|
5181
|
-
}
|
|
5182
|
-
return bytes;
|
|
5183
|
-
}
|
|
5184
|
-
function toHex(bytes) {
|
|
5185
|
-
return Array.from(bytes).map((b) => b.toString(16).padStart(2, "0")).join("");
|
|
5186
|
-
}
|
|
5187
|
-
function concat(a, b) {
|
|
5188
|
-
const out = new Uint8Array(a.length + b.length);
|
|
5189
|
-
out.set(a);
|
|
5190
|
-
out.set(b, a.length);
|
|
5191
|
-
return out;
|
|
5192
|
-
}
|
|
5193
|
-
async function verifyMerkleInclusion(leaf, index, siblings, layerSizes, expectedRoot) {
|
|
5194
|
-
let current;
|
|
5195
|
-
try {
|
|
5196
|
-
current = fromHex(leaf);
|
|
5197
|
-
} catch {
|
|
5198
|
-
return false;
|
|
5199
|
-
}
|
|
5200
|
-
let idx = index;
|
|
5201
|
-
let sibIdx = 0;
|
|
5202
|
-
for (const layerSize of layerSizes) {
|
|
5203
|
-
const siblingPos = idx % 2 === 0 ? idx + 1 : idx - 1;
|
|
5204
|
-
const hasSibling = siblingPos >= 0 && siblingPos < layerSize;
|
|
5205
|
-
if (hasSibling) {
|
|
5206
|
-
if (sibIdx >= siblings.length) return false;
|
|
5207
|
-
let siblingBytes;
|
|
5208
|
-
try {
|
|
5209
|
-
siblingBytes = fromHex(siblings[sibIdx]);
|
|
5210
|
-
} catch {
|
|
5211
|
-
return false;
|
|
5212
|
-
}
|
|
5213
|
-
const combined = idx % 2 === 0 ? concat(current, siblingBytes) : concat(siblingBytes, current);
|
|
5214
|
-
current = await sha2563(combined);
|
|
5215
|
-
sibIdx++;
|
|
5216
|
-
}
|
|
5217
|
-
idx = Math.floor(idx / 2);
|
|
5218
|
-
}
|
|
5219
|
-
return toHex(current) === expectedRoot;
|
|
5220
|
-
}
|
|
5221
|
-
|
|
5222
5231
|
// src/credential-anchor.ts
|
|
5223
5232
|
var CREDENTIAL_ANCHOR_SUITE = "motebit-jcs-ed25519-hex-v1";
|
|
5224
5233
|
async function computeCredentialLeaf(credential) {
|
|
@@ -6385,6 +6394,97 @@ async function verifySuccessionChain2(chain, currentPublicKeyHex, guardianPublic
|
|
|
6385
6394
|
};
|
|
6386
6395
|
}
|
|
6387
6396
|
}
|
|
6397
|
+
async function deriveSovereignMotebitId(genesisPublicKeyHex) {
|
|
6398
|
+
const h2 = await sha2564(hexToBytes5(genesisPublicKeyHex));
|
|
6399
|
+
const b = h2.slice(0, 16);
|
|
6400
|
+
b[6] = 128 | b[6] & 15;
|
|
6401
|
+
b[8] = 128 | b[8] & 63;
|
|
6402
|
+
const hex = Array.from(b).map((x) => x.toString(16).padStart(2, "0")).join("");
|
|
6403
|
+
return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20, 32)}`;
|
|
6404
|
+
}
|
|
6405
|
+
async function verifySovereignBinding(motebitId, genesisPublicKeyHex) {
|
|
6406
|
+
try {
|
|
6407
|
+
const expected = await deriveSovereignMotebitId(genesisPublicKeyHex);
|
|
6408
|
+
return motebitId.toLowerCase() === expected;
|
|
6409
|
+
} catch {
|
|
6410
|
+
return false;
|
|
6411
|
+
}
|
|
6412
|
+
}
|
|
6413
|
+
async function verifyKeyBindingAtTime(identity, signingKeyHex, atTimestampMs, guardianPublicKeyHex) {
|
|
6414
|
+
const chain = identity.succession ?? [];
|
|
6415
|
+
const currentKey = identity.identity.public_key;
|
|
6416
|
+
if (chain.length > 0) {
|
|
6417
|
+
const guardianKey = guardianPublicKeyHex ?? identity.guardian?.public_key;
|
|
6418
|
+
const chk = await verifySuccessionChain2(chain, currentKey, guardianKey);
|
|
6419
|
+
if (!chk.valid) {
|
|
6420
|
+
return { bound: false, reason: chk.error ?? "succession chain invalid" };
|
|
6421
|
+
}
|
|
6422
|
+
}
|
|
6423
|
+
const createdAtMs = Date.parse(identity.created_at);
|
|
6424
|
+
const genesisKey = chain.length > 0 ? chain[0].old_public_key : currentKey;
|
|
6425
|
+
const windows = [
|
|
6426
|
+
{ key: genesisKey, from: createdAtMs, until: chain[0]?.timestamp ?? Number.POSITIVE_INFINITY }
|
|
6427
|
+
];
|
|
6428
|
+
for (let i = 0; i < chain.length; i++) {
|
|
6429
|
+
windows.push({
|
|
6430
|
+
key: chain[i].new_public_key,
|
|
6431
|
+
from: chain[i].timestamp,
|
|
6432
|
+
until: chain[i + 1]?.timestamp ?? Number.POSITIVE_INFINITY
|
|
6433
|
+
});
|
|
6434
|
+
}
|
|
6435
|
+
const match = windows.find(
|
|
6436
|
+
(w) => w.key === signingKeyHex && atTimestampMs >= w.from && atTimestampMs < w.until
|
|
6437
|
+
);
|
|
6438
|
+
if (!match) {
|
|
6439
|
+
const inChain = windows.some((w) => w.key === signingKeyHex);
|
|
6440
|
+
return {
|
|
6441
|
+
bound: false,
|
|
6442
|
+
genesisPublicKey: genesisKey,
|
|
6443
|
+
reason: inChain ? "signing key is in the succession chain but was not active at the given timestamp" : "signing key is not in this identity's succession chain"
|
|
6444
|
+
};
|
|
6445
|
+
}
|
|
6446
|
+
return {
|
|
6447
|
+
bound: true,
|
|
6448
|
+
genesisPublicKey: genesisKey,
|
|
6449
|
+
sovereign: await verifySovereignBinding(identity.motebit_id, genesisKey),
|
|
6450
|
+
activeFrom: match.from,
|
|
6451
|
+
...match.until !== Number.POSITIVE_INFINITY ? { activeUntil: match.until } : {}
|
|
6452
|
+
};
|
|
6453
|
+
}
|
|
6454
|
+
async function identityLogLeaf(motebitId, currentKeyHex) {
|
|
6455
|
+
const canonical = canonicalJson2({
|
|
6456
|
+
type: "motebit-identity-binding",
|
|
6457
|
+
motebit_id: motebitId,
|
|
6458
|
+
public_key: currentKeyHex
|
|
6459
|
+
});
|
|
6460
|
+
const hash2 = await sha2564(new TextEncoder().encode(canonical));
|
|
6461
|
+
return Array.from(hash2).map((b) => b.toString(16).padStart(2, "0")).join("");
|
|
6462
|
+
}
|
|
6463
|
+
async function verifyIdentityBindingAnchored(identity, signingKeyHex, atTimestampMs, proof, guardianPublicKeyHex) {
|
|
6464
|
+
const sovereign = await verifyKeyBindingAtTime(
|
|
6465
|
+
identity,
|
|
6466
|
+
signingKeyHex,
|
|
6467
|
+
atTimestampMs,
|
|
6468
|
+
guardianPublicKeyHex
|
|
6469
|
+
);
|
|
6470
|
+
if (!sovereign.bound) return sovereign;
|
|
6471
|
+
const leaf = await identityLogLeaf(identity.motebit_id, identity.identity.public_key);
|
|
6472
|
+
const included = await verifyMerkleInclusion(
|
|
6473
|
+
leaf,
|
|
6474
|
+
proof.index,
|
|
6475
|
+
proof.siblings,
|
|
6476
|
+
proof.layerSizes,
|
|
6477
|
+
proof.anchoredRoot
|
|
6478
|
+
);
|
|
6479
|
+
if (!included) {
|
|
6480
|
+
return {
|
|
6481
|
+
bound: false,
|
|
6482
|
+
...sovereign.genesisPublicKey ? { genesisPublicKey: sovereign.genesisPublicKey } : {},
|
|
6483
|
+
reason: "identity key is not included in the anchored transparency log"
|
|
6484
|
+
};
|
|
6485
|
+
}
|
|
6486
|
+
return sovereign;
|
|
6487
|
+
}
|
|
6388
6488
|
async function verifyReceiptSignature(receipt, publicKey) {
|
|
6389
6489
|
const { signature, ...body } = receipt;
|
|
6390
6490
|
if (!signature || signature.trim() === "") {
|
|
@@ -6447,6 +6547,7 @@ async function verifyReceipt(receipt) {
|
|
|
6447
6547
|
valid: sigResult.valid && delegationErrors.length === 0,
|
|
6448
6548
|
receipt,
|
|
6449
6549
|
signer: signerDid,
|
|
6550
|
+
keySource: "embedded",
|
|
6450
6551
|
...delegations.length > 0 ? { delegations } : {},
|
|
6451
6552
|
...errors.length > 0 ? { errors } : {}
|
|
6452
6553
|
};
|
|
@@ -6823,6 +6924,7 @@ export {
|
|
|
6823
6924
|
createPresentation,
|
|
6824
6925
|
createSignedToken,
|
|
6825
6926
|
decodeSkillSignaturePublicKey,
|
|
6927
|
+
deriveSovereignMotebitId,
|
|
6826
6928
|
didKeyToPublicKey,
|
|
6827
6929
|
ed25519Sign,
|
|
6828
6930
|
ed25519Verify,
|
|
@@ -6836,6 +6938,7 @@ export {
|
|
|
6836
6938
|
hashToolPayload,
|
|
6837
6939
|
hexPublicKeyToDidKey,
|
|
6838
6940
|
hexToBytes4 as hexToBytes,
|
|
6941
|
+
identityLogLeaf,
|
|
6839
6942
|
isScopeNarrowed,
|
|
6840
6943
|
issueGradientCredential,
|
|
6841
6944
|
issueReputationCredential,
|
|
@@ -6900,7 +7003,9 @@ export {
|
|
|
6900
7003
|
verifyGuardianRevocation,
|
|
6901
7004
|
verifyHardwareAttestationClaim,
|
|
6902
7005
|
verifyHorizonWitnessRequestSignature,
|
|
7006
|
+
verifyIdentityBindingAnchored,
|
|
6903
7007
|
verifyIdentityFile,
|
|
7008
|
+
verifyKeyBindingAtTime,
|
|
6904
7009
|
verifyKeySuccession,
|
|
6905
7010
|
verifyMerkleInclusion,
|
|
6906
7011
|
verifyReceipt,
|
|
@@ -6915,6 +7020,7 @@ export {
|
|
|
6915
7020
|
verifySkillEnvelopeDetailed,
|
|
6916
7021
|
verifySkillManifest,
|
|
6917
7022
|
verifySkillManifestDetailed,
|
|
7023
|
+
verifySovereignBinding,
|
|
6918
7024
|
verifySuccessionChain,
|
|
6919
7025
|
verifyToolInvocationReceipt,
|
|
6920
7026
|
verifyVerifiableCredential,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@motebit/crypto",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "Sign and verify every Motebit artifact — identity files, execution receipts, credentials, delegations, succession records, credential anchors. Ed25519 today, cryptosuite-agile for post-quantum tomorrow. Apache-2.0, zero monorepo dependencies.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -61,10 +61,11 @@
|
|
|
61
61
|
"@noble/ed25519": "~3.0.1",
|
|
62
62
|
"@noble/hashes": "~1.6.0",
|
|
63
63
|
"@types/node": "^22.0.0",
|
|
64
|
+
"fast-check": "^4.6.0",
|
|
64
65
|
"tsup": "^8.0.0",
|
|
65
66
|
"typescript": "^5.6.0",
|
|
66
67
|
"vitest": "^2.1.0",
|
|
67
|
-
"@motebit/protocol": "
|
|
68
|
+
"@motebit/protocol": "2.0.0"
|
|
68
69
|
},
|
|
69
70
|
"engines": {
|
|
70
71
|
"node": ">=20"
|