import IOperationStore from './interfaces/IOperationStore'; import IVersionManager from './interfaces/IVersionManager'; /** * Implementation of OperationProcessor. Uses a OperationStore * that might, e.g., use a backend database for persistence. * All 'processing' is deferred to resolve time, with process() * simply storing the operation in the store. * * NOTE: Resolver needs to be versioned because it depends on `VersionManager` being constructed to fetch the versioned operation processor. */ export default class Resolver { private versionManager; private operationStore; constructor(versionManager: IVersionManager, operationStore: IOperationStore); /** * Resolve the given DID unique suffix to its DID Doducment. * @param didUniqueSuffix The unique suffix of the DID to resolve. e.g. if 'did:sidetree:abc123' is the DID, the unique suffix would be 'abc123' * @returns DID Document. Undefined if the unique suffix of the DID is deleted or not found. * * Iterate over all operations in blockchain-time order extending the * the operation chain while checking validity. */ resolve(didUniqueSuffix: string): Promise; }