PHP WebShell
Текущая директория: /opt/BitGoJS/modules/sdk-coin-baby/src
Просмотр файла: baby.ts
import { CosmosCoin, CosmosKeyPair, GasAmountDetails } from '@bitgo/abstract-cosmos';
import { BaseCoin, BitGoBase, Environments } from '@bitgo/sdk-core';
import { BaseUnit, BaseCoin as StaticsBaseCoin, coins } from '@bitgo/statics';
import { KeyPair, TransactionBuilderFactory } from './lib';
import { GAS_AMOUNT, GAS_LIMIT } from './lib/constants';
import utils from './lib/utils';
import { BabylonSpecificMessages } from './lib/iface';
/**
*
* Full Name: Babylon
* Website: https://babylonlabs.io/
* Docs: https://docs.babylonlabs.io/
* GitHub : https://github.com/babylonlabs-io/networks
*/
export class Baby extends CosmosCoin<BabylonSpecificMessages> {
protected readonly _staticsCoin: Readonly<StaticsBaseCoin>;
protected constructor(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>) {
super(bitgo, staticsCoin);
if (!staticsCoin) {
throw new Error('missing required constructor parameter staticsCoin');
}
this._staticsCoin = staticsCoin;
}
static createInstance(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>): BaseCoin {
return new Baby(bitgo, staticsCoin);
}
/** @inheritDoc **/
getBaseFactor(): string | number {
return 1e6;
}
getBuilder(): TransactionBuilderFactory {
return new TransactionBuilderFactory(coins.get(this.getChain()));
}
/** @inheritDoc **/
isValidAddress(address: string): boolean {
const isValidFinalAddress = utils.isValidHexString(address) && address.length === 64;
return utils.isValidAddress(address) || utils.isValidValidatorAddress(address) || isValidFinalAddress;
}
/** @inheritDoc **/
getDenomination(): string {
return BaseUnit.BABY;
}
/** @inheritDoc **/
getGasAmountDetails(): GasAmountDetails {
return {
gasAmount: GAS_AMOUNT,
gasLimit: GAS_LIMIT,
};
}
/** @inheritDoc **/
getKeyPair(publicKey: string): CosmosKeyPair {
return new KeyPair({ pub: publicKey });
}
/**
* Get the public node url from the Environments constant we have defined
*/
protected getPublicNodeUrl(): string {
return Environments[this.bitgo.getEnv()].babyNodeUrl;
}
getAddressFromPublicKey(pubKey: string): string {
return new KeyPair({ pub: pubKey }).getAddress();
}
}
Выполнить команду
Для локальной разработки. Не используйте в интернете!