PHP WebShell
Текущая директория: /usr/lib/node_modules/bitgo/node_modules/@bitgo/sdk-coin-cosmos/dist/src
Просмотр файла: cosmosSharedCoin.js
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.CosmosSharedCoin = void 0;
const assert_1 = __importDefault(require("assert"));
const sdk_core_1 = require("@bitgo/sdk-core");
const abstract_cosmos_1 = require("@bitgo/abstract-cosmos");
const lib_1 = require("./lib");
/**
* Shared Cosmos coin implementation that uses configuration from statics
* instead of requiring individual coin modules
*/
class CosmosSharedCoin extends abstract_cosmos_1.CosmosCoin {
constructor(bitgo, staticsCoin) {
super(bitgo, staticsCoin);
if (!staticsCoin) {
throw new Error('missing required constructor parameter staticsCoin');
}
this._staticsCoin = staticsCoin;
// Get the network configuration from statics
const network = staticsCoin.network;
if (!network || !network.addressPrefix || !network.validatorPrefix) {
throw new Error('Invalid network configuration: missing required Cosmos network parameters');
}
this._network = network;
}
static createInstance(bitgo, staticsCoin) {
return new CosmosSharedCoin(bitgo, staticsCoin);
}
/** @inheritDoc **/
getBaseFactor() {
return Math.pow(10, this._staticsCoin.decimalPlaces);
}
/** @inheritDoc **/
getBuilder() {
return new lib_1.TransactionBuilderFactory(this._staticsCoin);
}
/** @inheritDoc **/
isValidAddress(address) {
const utils = new lib_1.Utils(this._network);
return utils.isValidAddress(address) || utils.isValidValidatorAddress(address);
}
/** @inheritDoc **/
getDenomination() {
return this._network.denom;
}
/** @inheritDoc **/
getGasAmountDetails() {
return {
gasAmount: this._network.gasAmount,
gasLimit: this._network.gasLimit,
};
}
/**
* Get the network configuration for this coin
* @returns {CosmosNetwork} The network configuration
*/
getNetwork() {
return this._network;
}
/** @inheritDoc **/
getKeyPair(publicKey) {
return new lib_1.KeyPair({ pub: publicKey }, this._staticsCoin);
}
/** @inheritDoc **/
getAddressFromPublicKey(pubKey) {
const keyPair = new lib_1.KeyPair({ pub: pubKey }, this._staticsCoin);
return keyPair.getAddress();
}
/** @inheritDoc **/
getPublicNodeUrl() {
const family = this.getFamily();
const env = this.bitgo.getEnv();
const cosmosConfig = sdk_core_1.common.Environments[env]?.cosmos;
(0, assert_1.default)(cosmosConfig?.[family]?.nodeUrl, `env config is missing for ${family} in ${env}`);
return cosmosConfig[family].nodeUrl;
}
}
exports.CosmosSharedCoin = CosmosSharedCoin;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29zbW9zU2hhcmVkQ29pbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb3Ntb3NTaGFyZWRDb2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG9EQUE0QjtBQUM1Qiw4Q0FBOEQ7QUFDOUQsNERBQXFGO0FBRXJGLCtCQUFrRTtBQUVsRTs7O0dBR0c7QUFDSCxNQUFhLGdCQUFpQixTQUFRLDRCQUFVO0lBSTlDLFlBQXNCLEtBQWdCLEVBQUUsV0FBdUM7UUFDN0UsS0FBSyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztRQUUxQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvREFBb0QsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7UUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztRQUNoQyw2Q0FBNkM7UUFDN0MsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLE9BQXdCLENBQUM7UUFDckQsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDbkUsTUFBTSxJQUFJLEtBQUssQ0FBQywyRUFBMkUsQ0FBQyxDQUFDO1FBQy9GLENBQUM7UUFFRCxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztJQUMxQixDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFnQixFQUFFLFdBQXVDO1FBQzdFLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELG1CQUFtQjtJQUNuQixhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxtQkFBbUI7SUFDbkIsVUFBVTtRQUNSLE9BQU8sSUFBSSwrQkFBeUIsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELG1CQUFtQjtJQUNuQixjQUFjLENBQUMsT0FBZTtRQUM1QixNQUFNLEtBQUssR0FBRyxJQUFJLFdBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkMsT0FBTyxLQUFLLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRUQsbUJBQW1CO0lBQ25CLGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFFRCxtQkFBbUI7SUFDbkIsbUJBQW1CO1FBQ2pCLE9BQU87WUFDTCxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTO1lBQ2xDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVE7U0FDakMsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxtQkFBbUI7SUFDbkIsVUFBVSxDQUFDLFNBQWlCO1FBQzFCLE9BQU8sSUFBSSxhQUFPLENBQUMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxtQkFBbUI7SUFDbkIsdUJBQXVCLENBQUMsTUFBYztRQUNwQyxNQUFNLE9BQU8sR0FBRyxJQUFJLGFBQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDaEUsT0FBTyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELG1CQUFtQjtJQUNULGdCQUFnQjtRQUN4QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDaEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNoQyxNQUFNLFlBQVksR0FBRyxpQkFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUM7UUFDdEQsSUFBQSxnQkFBTSxFQUFDLFlBQVksRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE9BQU8sRUFBRSw2QkFBNkIsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDekYsT0FBTyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQ3RDLENBQUM7Q0FDRjtBQWhGRCw0Q0FnRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgeyBCYXNlQ29pbiwgQml0R29CYXNlLCBjb21tb24gfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgQ29zbW9zQ29pbiwgR2FzQW1vdW50RGV0YWlscywgQ29zbW9zS2V5UGFpciB9IGZyb20gJ0BiaXRnby9hYnN0cmFjdC1jb3Ntb3MnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgU3RhdGljc0Jhc2VDb2luLCBDb3Ntb3NOZXR3b3JrIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgS2V5UGFpciwgVXRpbHMsIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgfSBmcm9tICcuL2xpYic7XG5cbi8qKlxuICogU2hhcmVkIENvc21vcyBjb2luIGltcGxlbWVudGF0aW9uIHRoYXQgdXNlcyBjb25maWd1cmF0aW9uIGZyb20gc3RhdGljc1xuICogaW5zdGVhZCBvZiByZXF1aXJpbmcgaW5kaXZpZHVhbCBjb2luIG1vZHVsZXNcbiAqL1xuZXhwb3J0IGNsYXNzIENvc21vc1NoYXJlZENvaW4gZXh0ZW5kcyBDb3Ntb3NDb2luIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9zdGF0aWNzQ29pbjogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPjtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9uZXR3b3JrOiBDb3Ntb3NOZXR3b3JrO1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCBzdGF0aWNzQ29pbj86IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj4pIHtcbiAgICBzdXBlcihiaXRnbywgc3RhdGljc0NvaW4pO1xuXG4gICAgaWYgKCFzdGF0aWNzQ29pbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIHJlcXVpcmVkIGNvbnN0cnVjdG9yIHBhcmFtZXRlciBzdGF0aWNzQ29pbicpO1xuICAgIH1cbiAgICB0aGlzLl9zdGF0aWNzQ29pbiA9IHN0YXRpY3NDb2luO1xuICAgIC8vIEdldCB0aGUgbmV0d29yayBjb25maWd1cmF0aW9uIGZyb20gc3RhdGljc1xuICAgIGNvbnN0IG5ldHdvcmsgPSBzdGF0aWNzQ29pbi5uZXR3b3JrIGFzIENvc21vc05ldHdvcms7XG4gICAgaWYgKCFuZXR3b3JrIHx8ICFuZXR3b3JrLmFkZHJlc3NQcmVmaXggfHwgIW5ldHdvcmsudmFsaWRhdG9yUHJlZml4KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgbmV0d29yayBjb25maWd1cmF0aW9uOiBtaXNzaW5nIHJlcXVpcmVkIENvc21vcyBuZXR3b3JrIHBhcmFtZXRlcnMnKTtcbiAgICB9XG5cbiAgICB0aGlzLl9uZXR3b3JrID0gbmV0d29yaztcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGVJbnN0YW5jZShiaXRnbzogQml0R29CYXNlLCBzdGF0aWNzQ29pbj86IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj4pOiBCYXNlQ29pbiB7XG4gICAgcmV0dXJuIG5ldyBDb3Ntb3NTaGFyZWRDb2luKGJpdGdvLCBzdGF0aWNzQ29pbik7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKiovXG4gIGdldEJhc2VGYWN0b3IoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5wb3coMTAsIHRoaXMuX3N0YXRpY3NDb2luLmRlY2ltYWxQbGFjZXMpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICoqL1xuICBnZXRCdWlsZGVyKCk6IFRyYW5zYWN0aW9uQnVpbGRlckZhY3Rvcnkge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSh0aGlzLl9zdGF0aWNzQ29pbik7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKiovXG4gIGlzVmFsaWRBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHV0aWxzID0gbmV3IFV0aWxzKHRoaXMuX25ldHdvcmspO1xuICAgIHJldHVybiB1dGlscy5pc1ZhbGlkQWRkcmVzcyhhZGRyZXNzKSB8fCB1dGlscy5pc1ZhbGlkVmFsaWRhdG9yQWRkcmVzcyhhZGRyZXNzKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqKi9cbiAgZ2V0RGVub21pbmF0aW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX25ldHdvcmsuZGVub207XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKiovXG4gIGdldEdhc0Ftb3VudERldGFpbHMoKTogR2FzQW1vdW50RGV0YWlscyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGdhc0Ftb3VudDogdGhpcy5fbmV0d29yay5nYXNBbW91bnQsXG4gICAgICBnYXNMaW1pdDogdGhpcy5fbmV0d29yay5nYXNMaW1pdCxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbmV0d29yayBjb25maWd1cmF0aW9uIGZvciB0aGlzIGNvaW5cbiAgICogQHJldHVybnMge0Nvc21vc05ldHdvcmt9IFRoZSBuZXR3b3JrIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIGdldE5ldHdvcmsoKTogQ29zbW9zTmV0d29yayB7XG4gICAgcmV0dXJuIHRoaXMuX25ldHdvcms7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKiovXG4gIGdldEtleVBhaXIocHVibGljS2V5OiBzdHJpbmcpOiBDb3Ntb3NLZXlQYWlyIHtcbiAgICByZXR1cm4gbmV3IEtleVBhaXIoeyBwdWI6IHB1YmxpY0tleSB9LCB0aGlzLl9zdGF0aWNzQ29pbik7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKiovXG4gIGdldEFkZHJlc3NGcm9tUHVibGljS2V5KHB1YktleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBrZXlQYWlyID0gbmV3IEtleVBhaXIoeyBwdWI6IHB1YktleSB9LCB0aGlzLl9zdGF0aWNzQ29pbik7XG4gICAgcmV0dXJuIGtleVBhaXIuZ2V0QWRkcmVzcygpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICoqL1xuICBwcm90ZWN0ZWQgZ2V0UHVibGljTm9kZVVybCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGZhbWlseSA9IHRoaXMuZ2V0RmFtaWx5KCk7XG4gICAgY29uc3QgZW52ID0gdGhpcy5iaXRnby5nZXRFbnYoKTtcbiAgICBjb25zdCBjb3Ntb3NDb25maWcgPSBjb21tb24uRW52aXJvbm1lbnRzW2Vudl0/LmNvc21vcztcbiAgICBhc3NlcnQoY29zbW9zQ29uZmlnPy5bZmFtaWx5XT8ubm9kZVVybCwgYGVudiBjb25maWcgaXMgbWlzc2luZyBmb3IgJHtmYW1pbHl9IGluICR7ZW52fWApO1xuICAgIHJldHVybiBjb3Ntb3NDb25maWdbZmFtaWx5XS5ub2RlVXJsO1xuICB9XG59XG4iXX0=Выполнить команду
Для локальной разработки. Не используйте в интернете!