0.1.3 • Published 1 year ago
ump-services v0.1.3
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.