@2waychain/2wayjs
Version:
API wrapper to access the AIBlock 2 Way Chain
184 lines (183 loc) • 6.52 kB
TypeScript
import { ICreateTransaction, ICreateTransactionEncrypted, IGenericKeyPair, IKeypair, IKeypairEncrypted, IMasterKey, IMasterKeyEncrypted, INewWalletResponse, IResult } from '../interfaces';
export declare class mgmtClient {
private passphraseKey;
private _seedPhrase;
get seedPhrase(): string | undefined;
set seedPhrase(value: string | undefined);
private _masterKey;
get masterKey(): IMasterKey | undefined;
set masterKey(value: IMasterKey | undefined);
constructor();
/**
* Init the client without providing a master key or seed phrase
*
* @param {string} passphraseKey
* @return {*} {IResult<[string, IMasterKeyEncrypted]>}
* @memberof mgmtClient
*/
initNew(passphraseKey: string): IResult<INewWalletResponse>;
/**
* Init the client with a provided master key
*
* @param {IMasterKeyEncrypted} masterKey
* @param {string} passphraseKey
* @return {*} {IResult<void>}
* @memberof mgmtClient
*/
fromMasterKey(masterKey: IMasterKeyEncrypted, passphraseKey: string): IResult<void>;
/**
* Init the client with a provided seed phrase
*
* @param {string} seedPhrase
* @param {string} passphraseKey
* @return {*} {IResult<IMasterKeyEncrypted>}
* @memberof mgmtClient
*/
fromSeed(seedPhrase: string, passphraseKey: string): IResult<IMasterKeyEncrypted>;
/**
* Get a new address
*
* @param {string[]} allAddresses
* @return {*} {IResult<IKeypairEncrypted>}
* @memberof mgmtClient
*/
getNewKeypair(allAddresses: string[], addressVersion?: null | number): IResult<IKeypairEncrypted>;
/**
* Generate a new seed phrase
*
* @return {*} {IResult<string>}
* @memberof mgmtClient
*/
getNewSeedPhrase(): IResult<string>;
/**
* Get the existing seed phrase from the client
*
* @return {*} {IResult<string>}
* @memberof mgmtClient
*/
getSeedPhrase(): IResult<string>;
/**
* Test a seed phrase to see if it's valid
*
* @param {string} seedPhrase
* @return {*} {IResult<void>}
* @memberof mgmtClient
*/
testSeedPhrase(seedPhrase: string): IResult<void>;
/**
* Encrypt the master key using the passphrase
*
* @param {IMasterKey} masterKey
* @param {Uint8Array} [passphrase]
* @return {*} {IResult<IMasterKeyEncrypted>}
* @memberof mgmtClient
*/
encryptMasterKey(masterKey: IMasterKey, passphrase?: Uint8Array): IResult<IMasterKeyEncrypted>;
/**
* Decrypt the master key using the passphrase
*
* @param {IMasterKeyEncrypted} masterKeyEncrypted
* @param {Uint8Array} [passphrase]
* @return {*} {IResult<IMasterKey>}
* @memberof mgmtClient
*/
decryptMasterKey(masterKeyEncrypted: IMasterKeyEncrypted, passphrase?: Uint8Array): IResult<IMasterKey>;
/**
* Encrypt a key-pair using the passphrase
*
* @param {IKeypair} keypair
* @return {*} {IResult<IKeypairEncrypted>}
* @memberof mgmtClient
*/
encryptKeypair(keypair: IKeypair): IResult<IKeypairEncrypted>;
/**
* Decrypt an array of encrypted key-pairs
*
* @param {IKeypairEncrypted[]} keypairs - Encrypted key-pair array
* @return {*} {IResult<IKeypair[]>}
* @memberof mgmtClient
*/
decryptKeypairs(keypairs: IKeypairEncrypted[]): IResult<IKeypair[]>;
/**
* Decrypt a key-pair using the passphrase
*
* @param {IKeypairEncrypted} keypair
* @return {*} {IResult<IKeypair>}
* @memberof mgmtClient
*/
decryptKeypair(keypair: IKeypairEncrypted): IResult<IKeypair>;
/**
* Generate a new DRUID value
*
* @return {*} {IResult<string>}
* @memberof mgmtClient
*/
getNewDRUID(): IResult<string>;
/**
* Encrypt a transaction using the passphrase
*
* @param {ICreateTransaction} transaction
* @return {*} {IResult<ICreateTransactionEncrypted>}
* @memberof mgmtClient
*/
encryptTransaction(transaction: ICreateTransaction): IResult<ICreateTransactionEncrypted>;
/**
* Return a `[string[], Map<string, IKeypair>]` object from
* an array of encrypted keypairs
*
* @param {IKeypairEncrypted[]} allKeypairs
* @return {*} {[string[], Map<string, IKeypair>]}
* @memberof mgmtClient
*/
getAllAddressesAndKeypairMap(allKeypairs: IKeypairEncrypted[]): IResult<[string[], Map<string, IKeypair>]>;
/**
* Decrypt a transaction using the passphrase
*
* @param {ICreateTransactionEncrypted} encryptedTx
* @return {*} {IResult<ICreateTransaction>}
* @memberof mgmtClient
*/
decryptTransaction(encryptedTx: ICreateTransactionEncrypted): IResult<ICreateTransaction>;
/**
* Regenerate addresses from a seed phrase and a set of addresses from UTXO set
*
* @param seedPhrase - Seed phrase
* @param {string[]} addressList
* @param {number} [seedRegenThreshold=SEED_REGEN_THRES]
* @return {*} {IResult<Set<string>>}
* @memberof mgmtClient
*/
regenAddresses(seedPhrase: string, addressList: string[], seedRegenThreshold?: number): IResult<IKeypair[]>;
/**
* Sign a given message with an array of keypairs
*
* @param {IKeypair[]} keypairs
* @param {string} message
* @return {*} {IResult<IGenericKeyPair<string>>}
* @memberof mgmtClient
*/
signMessage(keypairs: IKeypair[], message: string): IResult<IGenericKeyPair<string>>;
verifyMessage(message: string, signatures: IGenericKeyPair<string>, keypairs: IKeypair[]): IResult<boolean>;
/**
* Get the existing master key from the client
*
* @return {*} {IResult<IMasterKeyEncrypted>}
* @memberof mgmtClient
*/
getMasterKey(): IResult<IMasterKeyEncrypted>;
/**
* Save keypairs to localStorage. (Browser)
*
* @export
* @param {string} keypairs IKeypairEncrypted[] flattened to a string
* @return {*} {void} address of saved keypair
*/
saveKeypairs(keypairs: IKeypairEncrypted[]): IResult<void>;
/**
* Save keypairs to localStorage. (Browser)
*
* @export
* @return {*} {IKeypairEncrypted[]}
*/
getKeypairs(): IResult<IKeypairEncrypted[]>;
}