0.1.3 • Published 1 year ago

ump-services v0.1.3

Weekly downloads
-
License
Open BSV License
Repository
-
Last release
1 year 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

1 year ago

0.1.2

1 year ago

0.1.1

1 year ago

0.1.0

1 year ago