ump-services
v0.1.3
Published
Topic Manager and Lookup Service for User Management Protocol
Downloads
10
Readme
signia-services
Topic Manager and Lookup Service for Signia Key Registry
API
Classes
| | | --- | | KnexStorageEngine | | UMPLookupService | | UMPTopicManager |
Class: KnexStorageEngine
export class KnexStorageEngine {
knex: Knex;
tablePrefix: string;
migrations: {
up: (knex: Knex) => Promise<void>;
down: (knex: Knex) => Promise<void>;
}[];
constructor({ knex, tablePrefix = "ump_lookup_" })
async storeRecord({ txid, outputIndex, presentationKeyHash, recoveryKeyHash })
async deleteRecord({ txid, outputIndex })
async findByPresentationKeyHash({ presentationKeyHash })
async findByRecoveryKeyHash({ recoveryKeyHash })
}
Method deleteRecord
Deletes an existing UMP record
async deleteRecord({ txid, outputIndex })
Argument Details
- obj
- all params given in an object
Method findByPresentationKeyHash
Look up a UMP record by the presentationKeyHash
async findByPresentationKeyHash({ presentationKeyHash })
Argument Details
- obj
- params given in an object
Method findByRecoveryKeyHash
Look up a UMP record by the recoverKeyHash
async findByRecoveryKeyHash({ recoveryKeyHash })
Argument Details
- obj
- params given in an object
Method storeRecord
Stores a new UMP record
async storeRecord({ txid, outputIndex, presentationKeyHash, recoveryKeyHash })
Argument Details
- obj
- all params given in an object
Class: UMPLookupService
Implements a Lookup Service for the User Management Protocol
export class UMPLookupService implements LookupService {
storageEngine: KnexStorageEngine;
constructor(storageEngine: KnexStorageEngine)
async getDocumentation(): Promise<string>
async getMetaData(): Promise<{
name: string;
shortDescription: string;
iconURL?: string;
version?: string;
informationURL?: string;
}>
async outputAdded(txid: string, outputIndex: number, outputScript: Script, topic: string)
async outputSpent(txid: string, outputIndex: number, topic: string)
async lookup({ query })
}
Method lookup
async lookup({ query })
Returns
with the data given in an object
Argument Details
- obj
- all params given in an object
Method outputAdded
Notifies the lookup service of a new output added.
async outputAdded(txid: string, outputIndex: number, outputScript: Script, topic: string)
Returns
indicating the success status
Argument Details
- obj
- all params are given in an object
Method outputSpent
Deletes the output record once the UTXO has been spent
async outputSpent(txid: string, outputIndex: number, topic: string)
Argument Details
- obj
- all params given inside an object
- obj.txid
- the transactionId the transaction the UTXO is apart of
- obj.outputIndex
- the index of the given UTXO
- obj.topic
- the topic this UTXO is apart of
Class: UMPTopicManager
Implements a topic manager for User Management Protocol
export class UMPTopicManager implements TopicManager {
identifyNeededInputs?: ((beef: number[]) => Promise<Array<{
txid: string;
outputIndex: number;
}>>) | undefined;
async getDocumentation(): Promise<string>
async getMetaData(): Promise<{
name: string;
shortDescription: string;
iconURL?: string;
version?: string;
informationURL?: string;
}>
async identifyAdmissibleOutputs(beef: number[], previousCoins: number[]): Promise<AdmittanceInstructions>
}
Method identifyAdmissibleOutputs
Returns the outputs from the UMP transaction that are admissible.
async identifyAdmissibleOutputs(beef: number[], previousCoins: number[]): Promise<AdmittanceInstructions>
License
The license for the code in this repository is the Open BSV License.