0.1.3 • Published 11 months ago

ump-services v0.1.3

Weekly downloads
-
License
Open BSV License
Repository
-
Last release
11 months ago

signia-services

Topic Manager and Lookup Service for Signia Key Registry

API

Links: API, Classes

Classes

KnexStorageEngine
UMPLookupService
UMPTopicManager

Links: API, Classes


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

Links: API, Classes


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

Links: API, Classes


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> 

Links: API, Classes


License

The license for the code in this repository is the Open BSV License.

0.1.3

11 months ago

0.1.2

11 months ago

0.1.1

11 months ago

0.1.0

11 months ago