UNPKG

@did-btcr2/method

Version:

Javascript/TypeScript reference implementation of did:btcr2 method, a censorship resistant DID Method using the Bitcoin blockchain as a Verifiable Data Registry to announce changes to the DID document. Core package of the did-btcr2-js monorepo.

42 lines (40 loc) 1.33 kB
import { DidUpdatePayload, ProofBytes } from '@did-btcr2/common'; import { BeaconService } from '../interfaces/ibeacon.js'; import { DidDocument } from '../utils/did-document.js'; import { BlockV3 } from '@did-btcr2/bitcoin'; export type FindNextSignals = { block: BlockV3; beacons: BeaconService[] }; export type Metadata = { didUpdate: DidUpdatePayload; proofs?: string; }; export type SignalSidecarData = Metadata; export interface Sidecar { did: string; } export type SignalsMetadata = { [signalId: string]: Metadata; }; export interface SingletonSidecar extends Sidecar { signalsMetadata: SignalsMetadata; } export interface CIDAggregateSidecar extends Sidecar { initialDocument: DidDocument; signalsMetadata: SignalsMetadata; cidUpdates: Array<string>; } export interface SMTAggregateSidecar extends Sidecar { initialDocument: DidDocument; signalsMetadata: SignalsMetadata; smtProof: ProofBytes; } export type BeaconSidecarData<T> = T extends 'SingletonBeacon' ? SingletonSidecar : T extends 'CIDAggregateBeacon' ? CIDAggregateSidecar : T extends 'SMTAggregateBeacon' ? SMTAggregateSidecar : T; export type SidecarData = BeaconSidecarData<SingletonSidecar | CIDAggregateSidecar | SMTAggregateSidecar>; export type GetSigningMethodParams = { didDocument: DidDocument; methodId?: string; };