UNPKG

@pgchain/blockchain-libs

Version:
94 lines 3.44 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BaseProvider = exports.SimpleClient = exports.BaseClient = void 0; const exceptions_1 = require("../basic/exceptions"); class BaseClient { setChainInfo(chainInfo) { this.chainInfo = chainInfo; } getTokenInfos(tokenAddresses) { return Promise.reject(exceptions_1.NotImplementedError); } getUTXOs(addresses) { return Promise.reject(exceptions_1.NotImplementedError); } } exports.BaseClient = BaseClient; class SimpleClient extends BaseClient { async batchCall2SingleCall(inputs, handler) { const ret = await Promise.all(inputs.map((input) => handler(input).then((value) => value, (reason) => { console.debug(`Error in Calling ${handler.name}. `, ' input: ', input, ', reason', reason); return undefined; }))); return ret; } async getAddresses(addresses) { return this.batchCall2SingleCall(addresses, (i) => this.getAddress(i)); } getBalances(requests) { return this.batchCall2SingleCall(requests, (i) => this.getBalance(i.address, i.coin)); } getBalance(address, coin) { return this.getAddress(address).then((res) => res.balance); } getTransactionStatuses(txids) { return this.batchCall2SingleCall(txids, (i) => this.getTransactionStatus(i)); } getTokenInfos(tokenAddresses) { return this.batchCall2SingleCall(tokenAddresses, (i) => this.getTokenInfo(i)); } getTokenInfo(tokenAddress) { return Promise.reject(exceptions_1.NotImplementedError); } async getUTXOs(addresses) { const result = await this.batchCall2SingleCall(addresses, (i) => this.getUTXO(i)); return result.reduce((acc, utxos, index) => { const curAddress = addresses[index]; acc[curAddress] = utxos || []; return acc; }, {}); } getUTXO(address) { return Promise.reject(exceptions_1.NotImplementedError); } } exports.SimpleClient = SimpleClient; class BaseProvider { constructor(chainInfo, clientSelector) { this.chainInfo = chainInfo; this.clientSelector = clientSelector; } verifyTokenAddress(address) { return this.verifyAddress(address); } signMessage(message, signer, address) { return Promise.reject(exceptions_1.NotImplementedError); } verifyMessage(address, message, signature) { return Promise.reject(exceptions_1.NotImplementedError); } async wrapHardwareCall(callee) { const resp = await callee(); if (!resp.success) { throw new exceptions_1.HardwareError(resp.payload); } return resp.payload; } hardwareGetXpubs(paths, showOnDevice) { return Promise.reject(exceptions_1.NotImplementedError); } hardwareGetAddress(path, showOnDevice, addressToVerify) { return Promise.reject(exceptions_1.NotImplementedError); } hardwareSignTransaction(unsignedTx, signers) { return Promise.reject(exceptions_1.NotImplementedError); } hardwareSignMessage(message, signer) { return Promise.reject(exceptions_1.NotImplementedError); } hardwareVerifyMessage(address, message, signature) { return Promise.reject(exceptions_1.NotImplementedError); } } exports.BaseProvider = BaseProvider; //# sourceMappingURL=abc.js.map