UNPKG

bitgo

Version:
57 lines 5.53 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0Z28uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYml0Z28udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsRUFBRTtBQUNGLHVCQUF1QjtBQUN2QixFQUFFO0FBQ0Ysb0RBQW9EO0FBQ3BELEVBQUU7QUFDRix5Q0FBMEM7QUFDMUMsNEJBQTRCO0FBRTVCLGtEQUFpRDtBQUNqRCw4Q0FBbUQ7QUFDbkQsNENBQTJEO0FBSTNELE1BQWEsS0FBTSxTQUFRLGtCQUFRO0lBQ2pDOztPQUVHO0lBQ0gsWUFBWSxTQUEwQixFQUFFO1FBQ3RDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNkLElBQ0UsQ0FBQyxpQkFBTSxDQUFDLGNBQWMsQ0FDcEIsTUFBTSxFQUNOLEVBQUUsRUFDRjtZQUNFLFVBQVU7WUFDVixjQUFjO1lBQ2QsY0FBYztZQUNkLGFBQWE7WUFDYixXQUFXO1lBQ1gsZUFBZTtZQUNmLHNCQUFzQjtZQUN0QixZQUFZO1lBQ1osNEJBQTRCO1NBQzdCLENBQ0Y7WUFDRCxDQUFDLE1BQU0sQ0FBQyxhQUFhLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUM1RCxDQUFDO1lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3RDLENBQUM7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsS0FBSyxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUM5QyxNQUFNLElBQUksS0FBSyxDQUFDLDJEQUEyRCxDQUFDLENBQUM7UUFDL0UsQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxTQUFTLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNwRSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxDQUFDLFFBQWdCO1FBQ25CLE9BQU8scUJBQWlCLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFpQjtRQUMzQixNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUM1QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUIsQ0FBQztDQUNGO0FBbkRELHNCQW1EQyIsInNvdXJjZXNDb250ZW50IjpbIi8vXG4vLyBCaXRHbyBKYXZhU2NyaXB0IFNES1xuLy9cbi8vIENvcHlyaWdodCAyMDE0LCBCaXRHbywgSW5jLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbi8vXG5pbXBvcnQgcGpzb24gPSByZXF1aXJlKCcuLi9wYWNrYWdlLmpzb24nKTtcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcblxuaW1wb3J0IEdsb2JhbENvaW5GYWN0b3J5IGZyb20gJy4vdjIvY29pbkZhY3RvcnknO1xuaW1wb3J0IHsgQmFzZUNvaW4sIGNvbW1vbiB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBCaXRHb0FQSSwgQml0R29BUElPcHRpb25zIH0gZnJvbSAnQGJpdGdvL3Nkay1hcGknO1xuXG5leHBvcnQgdHlwZSBCaXRHb09wdGlvbnMgPSBCaXRHb0FQSU9wdGlvbnM7XG5cbmV4cG9ydCBjbGFzcyBCaXRHbyBleHRlbmRzIEJpdEdvQVBJIHtcbiAgLyoqXG4gICAqIENvbnN0cnVjdG9yIGZvciBCaXRHbyBPYmplY3RcbiAgICovXG4gIGNvbnN0cnVjdG9yKHBhcmFtczogQml0R29BUElPcHRpb25zID0ge30pIHtcbiAgICBzdXBlcihwYXJhbXMpO1xuICAgIGlmIChcbiAgICAgICFjb21tb24udmFsaWRhdGVQYXJhbXMoXG4gICAgICAgIHBhcmFtcyxcbiAgICAgICAgW10sXG4gICAgICAgIFtcbiAgICAgICAgICAnY2xpZW50SWQnLFxuICAgICAgICAgICdjbGllbnRTZWNyZXQnLFxuICAgICAgICAgICdyZWZyZXNoVG9rZW4nLFxuICAgICAgICAgICdhY2Nlc3NUb2tlbicsXG4gICAgICAgICAgJ3VzZXJBZ2VudCcsXG4gICAgICAgICAgJ2N1c3RvbVJvb3RVUkknLFxuICAgICAgICAgICdjdXN0b21CaXRjb2luTmV0d29yaycsXG4gICAgICAgICAgJ3NlcnZlclhwdWInLFxuICAgICAgICAgICdzdGVsbGFyRmVkZXJhdGlvblNlcnZlclVybCcsXG4gICAgICAgIF1cbiAgICAgICkgfHxcbiAgICAgIChwYXJhbXMudXNlUHJvZHVjdGlvbiAmJiAhXy5pc0Jvb2xlYW4ocGFyYW1zLnVzZVByb2R1Y3Rpb24pKVxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIGFyZ3VtZW50Jyk7XG4gICAgfVxuXG4gICAgaWYgKCFwYXJhbXMuY2xpZW50SWQgIT09ICFwYXJhbXMuY2xpZW50U2VjcmV0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgYXJndW1lbnQgLSBtdXN0IHByb3ZpZGUgYm90aCBjbGllbnQgaWQgYW5kIHNlY3JldCcpO1xuICAgIH1cblxuICAgIHRoaXMuX3ZlcnNpb24gPSBwanNvbi52ZXJzaW9uO1xuICAgIHRoaXMuX3VzZXJBZ2VudCA9IHBhcmFtcy51c2VyQWdlbnQgfHwgJ0JpdEdvSlMvJyArIHRoaXMudmVyc2lvbigpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIGJhc2Vjb2luIG9iamVjdFxuICAgKiBAcGFyYW0gY29pbk5hbWVcbiAgICovXG4gIGNvaW4oY29pbk5hbWU6IHN0cmluZyk6IEJhc2VDb2luIHtcbiAgICByZXR1cm4gR2xvYmFsQ29pbkZhY3RvcnkuZ2V0SW5zdGFuY2UodGhpcywgY29pbk5hbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIGJhc2Vjb2luIG9iamVjdCBmb3IgYSB2aXJ0dWFsIHRva2VuXG4gICAqIEBwYXJhbSB0b2tlbk5hbWVcbiAgICovXG4gIGFzeW5jIHRva2VuKHRva2VuTmFtZTogc3RyaW5nKTogUHJvbWlzZTxCYXNlQ29pbj4ge1xuICAgIGF3YWl0IHRoaXMuZmV0Y2hDb25zdGFudHMoKTtcbiAgICByZXR1cm4gdGhpcy5jb2luKHRva2VuTmFtZSk7XG4gIH1cbn1cbiJdfQ==