UNPKG

@bitgo-beta/bitgo

Version:
47 lines 5.23 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-beta/sdk-core"); const sdk_api_1 = require("@bitgo-beta/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0Z28uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYml0Z28udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsRUFBRTtBQUNGLHVCQUF1QjtBQUN2QixFQUFFO0FBQ0Ysb0RBQW9EO0FBQ3BELEVBQUU7QUFDRix5Q0FBMEM7QUFDMUMsNEJBQTRCO0FBRTVCLGtEQUFpRDtBQUNqRCxtREFBd0Q7QUFDeEQsaURBRzZCO0FBSTdCLE1BQWEsS0FBTSxTQUFRLGtCQUFRO0lBQ2pDOztPQUVHO0lBQ0gsWUFBWSxTQUEwQixFQUFFO1FBQ3RDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNkLElBQUksQ0FBQyxpQkFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsVUFBVSxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsc0JBQXNCLEVBQUUsWUFBWSxFQUFFLDRCQUE0QixDQUFDLENBQUM7WUFDbk0sQ0FBQyxNQUFNLENBQUMsYUFBYSxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBRTtZQUM5RCxNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7U0FDckM7UUFFRCxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUNqRCxNQUFNLElBQUksS0FBSyxDQUFDLDJEQUEyRCxDQUFDLENBQUM7U0FDOUU7UUFFRCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDcEUsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUksQ0FBQyxRQUFnQjtRQUNuQixPQUFPLHFCQUFpQixDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBaUI7UUFDM0IsTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDNUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlCLENBQUM7Q0FDRjtBQW5DRCxzQkFtQ0MiLCJzb3VyY2VzQ29udGVudCI6WyIvL1xuLy8gQml0R28gSmF2YVNjcmlwdCBTREtcbi8vXG4vLyBDb3B5cmlnaHQgMjAxNCwgQml0R28sIEluYy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4vL1xuaW1wb3J0IHBqc29uID0gcmVxdWlyZSgnLi4vcGFja2FnZS5qc29uJyk7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5cbmltcG9ydCBHbG9iYWxDb2luRmFjdG9yeSBmcm9tICcuL3YyL2NvaW5GYWN0b3J5JztcbmltcG9ydCB7IEJhc2VDb2luLCBjb21tb24gfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQge1xuICBCaXRHb0FQSSxcbiAgQml0R29BUElPcHRpb25zLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstYXBpJztcblxuZXhwb3J0IHR5cGUgQml0R29PcHRpb25zID0gQml0R29BUElPcHRpb25zO1xuXG5leHBvcnQgY2xhc3MgQml0R28gZXh0ZW5kcyBCaXRHb0FQSSB7XG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RvciBmb3IgQml0R28gT2JqZWN0XG4gICAqL1xuICBjb25zdHJ1Y3RvcihwYXJhbXM6IEJpdEdvQVBJT3B0aW9ucyA9IHt9KSB7XG4gICAgc3VwZXIocGFyYW1zKTtcbiAgICBpZiAoIWNvbW1vbi52YWxpZGF0ZVBhcmFtcyhwYXJhbXMsIFtdLCBbJ2NsaWVudElkJywgJ2NsaWVudFNlY3JldCcsICdyZWZyZXNoVG9rZW4nLCAnYWNjZXNzVG9rZW4nLCAndXNlckFnZW50JywgJ2N1c3RvbVJvb3RVUkknLCAnY3VzdG9tQml0Y29pbk5ldHdvcmsnLCAnc2VydmVyWHB1YicsICdzdGVsbGFyRmVkZXJhdGlvblNlcnZlclVybCddKSB8fFxuICAgICAgKHBhcmFtcy51c2VQcm9kdWN0aW9uICYmICFfLmlzQm9vbGVhbihwYXJhbXMudXNlUHJvZHVjdGlvbikpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgYXJndW1lbnQnKTtcbiAgICB9XG5cbiAgICBpZiAoKCFwYXJhbXMuY2xpZW50SWQpICE9PSAoIXBhcmFtcy5jbGllbnRTZWNyZXQpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgYXJndW1lbnQgLSBtdXN0IHByb3ZpZGUgYm90aCBjbGllbnQgaWQgYW5kIHNlY3JldCcpO1xuICAgIH1cblxuICAgIHRoaXMuX3ZlcnNpb24gPSBwanNvbi52ZXJzaW9uO1xuICAgIHRoaXMuX3VzZXJBZ2VudCA9IHBhcmFtcy51c2VyQWdlbnQgfHwgJ0JpdEdvSlMvJyArIHRoaXMudmVyc2lvbigpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIGJhc2Vjb2luIG9iamVjdFxuICAgKiBAcGFyYW0gY29pbk5hbWVcbiAgICovXG4gIGNvaW4oY29pbk5hbWU6IHN0cmluZyk6IEJhc2VDb2luIHtcbiAgICByZXR1cm4gR2xvYmFsQ29pbkZhY3RvcnkuZ2V0SW5zdGFuY2UodGhpcywgY29pbk5hbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIGJhc2Vjb2luIG9iamVjdCBmb3IgYSB2aXJ0dWFsIHRva2VuXG4gICAqIEBwYXJhbSB0b2tlbk5hbWVcbiAgICovXG4gIGFzeW5jIHRva2VuKHRva2VuTmFtZTogc3RyaW5nKTogUHJvbWlzZTxCYXNlQ29pbj4ge1xuICAgIGF3YWl0IHRoaXMuZmV0Y2hDb25zdGFudHMoKTtcbiAgICByZXR1cm4gdGhpcy5jb2luKHRva2VuTmFtZSk7XG4gIH1cbn1cbiJdfQ==