PHP WebShell
Текущая директория: /usr/lib/node_modules/bitgo/node_modules/@bitgo/sdk-coin-cosmos/dist/src/lib
Просмотр файла: keyPair.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.KeyPair = void 0;
const amino_1 = require("@cosmjs/amino");
const abstract_cosmos_1 = require("@bitgo/abstract-cosmos");
/**
* Cosmos keys and address management for the shared Cosmos SDK.
*/
class KeyPair extends abstract_cosmos_1.CosmosKeyPair {
/**
* Public constructor. By default, creates a key pair with a random master seed.
*
* @param source Either a master seed, a private key (extended or raw), or a public key
* @param coin The coin configuration for this key pair
*/
constructor(source, coin) {
super(source);
this._coin = coin;
}
/** @inheritdoc */
getAddress() {
if (!this._coin) {
throw new Error('Coin configuration is required to derive address');
}
const network = this._coin.network;
if (!network || !network.addressPrefix) {
throw new Error('Invalid network configuration: missing addressPrefix');
}
const addressPrefix = network.addressPrefix;
const base64String = Buffer.from(this.getKeys().pub.slice(0, 66), 'hex').toString('base64');
return (0, amino_1.pubkeyToAddress)({
type: 'tendermint/PubKeySecp256k1',
value: base64String,
}, addressPrefix);
}
}
exports.KeyPair = KeyPair;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIva2V5UGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSx5Q0FBZ0Q7QUFDaEQsNERBQXVEO0FBR3ZEOztHQUVHO0FBQ0gsTUFBYSxPQUFRLFNBQVEsK0JBQWE7SUFHeEM7Ozs7O09BS0c7SUFDSCxZQUFZLE1BQXVCLEVBQUUsSUFBeUI7UUFDNUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7SUFDcEIsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixVQUFVO1FBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLGtEQUFrRCxDQUFDLENBQUM7UUFDdEUsQ0FBQztRQUVELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBd0IsQ0FBQztRQUNwRCxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sSUFBSSxLQUFLLENBQUMsc0RBQXNELENBQUMsQ0FBQztRQUMxRSxDQUFDO1FBRUQsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUM1QyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFNUYsT0FBTyxJQUFBLHVCQUFlLEVBQ3BCO1lBQ0UsSUFBSSxFQUFFLDRCQUE0QjtZQUNsQyxLQUFLLEVBQUUsWUFBWTtTQUNwQixFQUNELGFBQWEsQ0FDZCxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBcENELDBCQW9DQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEtleVBhaXJPcHRpb25zIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IHB1YmtleVRvQWRkcmVzcyB9IGZyb20gJ0Bjb3NtanMvYW1pbm8nO1xuaW1wb3J0IHsgQ29zbW9zS2V5UGFpciB9IGZyb20gJ0BiaXRnby9hYnN0cmFjdC1jb3Ntb3MnO1xuaW1wb3J0IHsgQmFzZUNvaW4sIENvc21vc05ldHdvcmsgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5cbi8qKlxuICogQ29zbW9zIGtleXMgYW5kIGFkZHJlc3MgbWFuYWdlbWVudCBmb3IgdGhlIHNoYXJlZCBDb3Ntb3MgU0RLLlxuICovXG5leHBvcnQgY2xhc3MgS2V5UGFpciBleHRlbmRzIENvc21vc0tleVBhaXIge1xuICBwcml2YXRlIHJlYWRvbmx5IF9jb2luPzogUmVhZG9ubHk8QmFzZUNvaW4+O1xuXG4gIC8qKlxuICAgKiBQdWJsaWMgY29uc3RydWN0b3IuIEJ5IGRlZmF1bHQsIGNyZWF0ZXMgYSBrZXkgcGFpciB3aXRoIGEgcmFuZG9tIG1hc3RlciBzZWVkLlxuICAgKlxuICAgKiBAcGFyYW0gc291cmNlIEVpdGhlciBhIG1hc3RlciBzZWVkLCBhIHByaXZhdGUga2V5IChleHRlbmRlZCBvciByYXcpLCBvciBhIHB1YmxpYyBrZXlcbiAgICogQHBhcmFtIGNvaW4gVGhlIGNvaW4gY29uZmlndXJhdGlvbiBmb3IgdGhpcyBrZXkgcGFpclxuICAgKi9cbiAgY29uc3RydWN0b3Ioc291cmNlPzogS2V5UGFpck9wdGlvbnMsIGNvaW4/OiBSZWFkb25seTxCYXNlQ29pbj4pIHtcbiAgICBzdXBlcihzb3VyY2UpO1xuICAgIHRoaXMuX2NvaW4gPSBjb2luO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldEFkZHJlc3MoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuX2NvaW4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ29pbiBjb25maWd1cmF0aW9uIGlzIHJlcXVpcmVkIHRvIGRlcml2ZSBhZGRyZXNzJyk7XG4gICAgfVxuXG4gICAgY29uc3QgbmV0d29yayA9IHRoaXMuX2NvaW4ubmV0d29yayBhcyBDb3Ntb3NOZXR3b3JrO1xuICAgIGlmICghbmV0d29yayB8fCAhbmV0d29yay5hZGRyZXNzUHJlZml4KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgbmV0d29yayBjb25maWd1cmF0aW9uOiBtaXNzaW5nIGFkZHJlc3NQcmVmaXgnKTtcbiAgICB9XG5cbiAgICBjb25zdCBhZGRyZXNzUHJlZml4ID0gbmV0d29yay5hZGRyZXNzUHJlZml4O1xuICAgIGNvbnN0IGJhc2U2NFN0cmluZyA9IEJ1ZmZlci5mcm9tKHRoaXMuZ2V0S2V5cygpLnB1Yi5zbGljZSgwLCA2NiksICdoZXgnKS50b1N0cmluZygnYmFzZTY0Jyk7XG5cbiAgICByZXR1cm4gcHVia2V5VG9BZGRyZXNzKFxuICAgICAge1xuICAgICAgICB0eXBlOiAndGVuZGVybWludC9QdWJLZXlTZWNwMjU2azEnLFxuICAgICAgICB2YWx1ZTogYmFzZTY0U3RyaW5nLFxuICAgICAgfSxcbiAgICAgIGFkZHJlc3NQcmVmaXhcbiAgICApO1xuICB9XG59XG4iXX0=Выполнить команду
Для локальной разработки. Не используйте в интернете!