UNPKG

bitgo

Version:
57 lines 5.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BitGo = void 0; // // BitGo JavaScript SDK // // Copyright 2014, BitGo, Inc. All Rights Reserved. // const pjson = require("../package.json"); const _ = require("lodash"); const coinFactory_1 = require("./v2/coinFactory"); const sdk_core_1 = require("@bitgo/sdk-core"); const sdk_api_1 = require("@bitgo/sdk-api"); class BitGo extends sdk_api_1.BitGoAPI { /** * Constructor for BitGo Object */ constructor(params = {}) { super(params); if (!sdk_core_1.common.validateParams(params, [], [ 'clientId', 'clientSecret', 'refreshToken', 'accessToken', 'userAgent', 'customRootURI', 'customBitcoinNetwork', 'serverXpub', 'stellarFederationServerUrl', ]) || (params.useProduction && !_.isBoolean(params.useProduction))) { throw new Error('invalid argument'); } if (!params.clientId !== !params.clientSecret) { throw new Error('invalid argument - must provide both client id and secret'); } this._version = pjson.version; this._userAgent = params.userAgent || 'BitGoJS/' + this.version(); } /** * Create a basecoin object * @param coinName */ coin(coinName) { return coinFactory_1.default.getInstance(this, coinName); } /** * Create a basecoin object for a virtual token * @param tokenName */ async token(tokenName) { await this.fetchConstants(); return this.coin(tokenName); } } exports.BitGo = BitGo; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0Z28uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYml0Z28udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsRUFBRTtBQUNGLHVCQUF1QjtBQUN2QixFQUFFO0FBQ0Ysb0RBQW9EO0FBQ3BELEVBQUU7QUFDRix5Q0FBMEM7QUFDMUMsNEJBQTRCO0FBRTVCLGtEQUFpRDtBQUNqRCw4Q0FBbUQ7QUFDbkQsNENBQTJEO0FBSTNELE1BQWEsS0FBTSxTQUFRLGtCQUFRO0lBQ2pDOztPQUVHO0lBQ0gsWUFBWSxTQUEwQixFQUFFO1FBQ3RDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNkLElBQ0UsQ0FBQyxpQkFBTSxDQUFDLGNBQWMsQ0FDcEIsTUFBTSxFQUNOLEVBQUUsRUFDRjtZQUNFLFVBQVU7WUFDVixjQUFjO1lBQ2QsY0FBYztZQUNkLGFBQWE7WUFDYixXQUFXO1lBQ1gsZUFBZTtZQUNmLHNCQUFzQjtZQUN0QixZQUFZO1lBQ1osNEJBQTRCO1NBQzdCLENBQ0Y7WUFDRCxDQUFDLE1BQU0sQ0FBQyxhQUFhLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUM1RDtZQUNBLE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQztTQUNyQztRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRTtZQUM3QyxNQUFNLElBQUksS0FBSyxDQUFDLDJEQUEyRCxDQUFDLENBQUM7U0FDOUU7UUFFRCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDcEUsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUksQ0FBQyxRQUFnQjtRQUNuQixPQUFPLHFCQUFpQixDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBaUI7UUFDM0IsTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDNUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlCLENBQUM7Q0FDRjtBQW5ERCxzQkFtREMiLCJzb3VyY2VzQ29udGVudCI6WyIvL1xuLy8gQml0R28gSmF2YVNjcmlwdCBTREtcbi8vXG4vLyBDb3B5cmlnaHQgMjAxNCwgQml0R28sIEluYy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4vL1xuaW1wb3J0IHBqc29uID0gcmVxdWlyZSgnLi4vcGFja2FnZS5qc29uJyk7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5cbmltcG9ydCBHbG9iYWxDb2luRmFjdG9yeSBmcm9tICcuL3YyL2NvaW5GYWN0b3J5JztcbmltcG9ydCB7IEJhc2VDb2luLCBjb21tb24gfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgQml0R29BUEksIEJpdEdvQVBJT3B0aW9ucyB9IGZyb20gJ0BiaXRnby9zZGstYXBpJztcblxuZXhwb3J0IHR5cGUgQml0R29PcHRpb25zID0gQml0R29BUElPcHRpb25zO1xuXG5leHBvcnQgY2xhc3MgQml0R28gZXh0ZW5kcyBCaXRHb0FQSSB7XG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RvciBmb3IgQml0R28gT2JqZWN0XG4gICAqL1xuICBjb25zdHJ1Y3RvcihwYXJhbXM6IEJpdEdvQVBJT3B0aW9ucyA9IHt9KSB7XG4gICAgc3VwZXIocGFyYW1zKTtcbiAgICBpZiAoXG4gICAgICAhY29tbW9uLnZhbGlkYXRlUGFyYW1zKFxuICAgICAgICBwYXJhbXMsXG4gICAgICAgIFtdLFxuICAgICAgICBbXG4gICAgICAgICAgJ2NsaWVudElkJyxcbiAgICAgICAgICAnY2xpZW50U2VjcmV0JyxcbiAgICAgICAgICAncmVmcmVzaFRva2VuJyxcbiAgICAgICAgICAnYWNjZXNzVG9rZW4nLFxuICAgICAgICAgICd1c2VyQWdlbnQnLFxuICAgICAgICAgICdjdXN0b21Sb290VVJJJyxcbiAgICAgICAgICAnY3VzdG9tQml0Y29pbk5ldHdvcmsnLFxuICAgICAgICAgICdzZXJ2ZXJYcHViJyxcbiAgICAgICAgICAnc3RlbGxhckZlZGVyYXRpb25TZXJ2ZXJVcmwnLFxuICAgICAgICBdXG4gICAgICApIHx8XG4gICAgICAocGFyYW1zLnVzZVByb2R1Y3Rpb24gJiYgIV8uaXNCb29sZWFuKHBhcmFtcy51c2VQcm9kdWN0aW9uKSlcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBhcmd1bWVudCcpO1xuICAgIH1cblxuICAgIGlmICghcGFyYW1zLmNsaWVudElkICE9PSAhcGFyYW1zLmNsaWVudFNlY3JldCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIGFyZ3VtZW50IC0gbXVzdCBwcm92aWRlIGJvdGggY2xpZW50IGlkIGFuZCBzZWNyZXQnKTtcbiAgICB9XG5cbiAgICB0aGlzLl92ZXJzaW9uID0gcGpzb24udmVyc2lvbjtcbiAgICB0aGlzLl91c2VyQWdlbnQgPSBwYXJhbXMudXNlckFnZW50IHx8ICdCaXRHb0pTLycgKyB0aGlzLnZlcnNpb24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBiYXNlY29pbiBvYmplY3RcbiAgICogQHBhcmFtIGNvaW5OYW1lXG4gICAqL1xuICBjb2luKGNvaW5OYW1lOiBzdHJpbmcpOiBCYXNlQ29pbiB7XG4gICAgcmV0dXJuIEdsb2JhbENvaW5GYWN0b3J5LmdldEluc3RhbmNlKHRoaXMsIGNvaW5OYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBiYXNlY29pbiBvYmplY3QgZm9yIGEgdmlydHVhbCB0b2tlblxuICAgKiBAcGFyYW0gdG9rZW5OYW1lXG4gICAqL1xuICBhc3luYyB0b2tlbih0b2tlbk5hbWU6IHN0cmluZyk6IFByb21pc2U8QmFzZUNvaW4+IHtcbiAgICBhd2FpdCB0aGlzLmZldGNoQ29uc3RhbnRzKCk7XG4gICAgcmV0dXJuIHRoaXMuY29pbih0b2tlbk5hbWUpO1xuICB9XG59XG4iXX0=