PHP WebShell
Текущая директория: /opt/BitGoJS/modules/sdk-coin-baby/src/lib
Просмотр файла: CustomTransactionBuilder.ts
import { CosmosTransaction, CosmosTransactionBuilder } from '@bitgo/abstract-cosmos';
import { TransactionType } from '@bitgo/sdk-core';
import { BaseCoin as CoinConfig } from '@bitgo/statics';
import { BabylonTransaction } from './BabylonTransaction';
import { BabylonSpecificMessages } from './iface';
import utils, { Utils } from './utils';
export class CustomTransactionBuilder extends CosmosTransactionBuilder<BabylonSpecificMessages> {
constructor(_coinConfig: Readonly<CoinConfig>, _utils: Utils) {
super(_coinConfig, _utils);
this._utils = _utils;
this._transaction = new BabylonTransaction(_coinConfig, _utils);
}
protected get transactionType(): TransactionType {
return TransactionType.CustomTx;
}
/** @inheritdoc */
override messages(babylonSpecificMessages: BabylonSpecificMessages[]): this {
this._messages = babylonSpecificMessages.map((message) => {
this._utils.validateCustomMessage(message);
return {
typeUrl: utils.babylonMessageKindToTypeUrl[message._kind],
value: message,
};
});
return this;
}
/** @inheritdoc */
override newTransaction(): CosmosTransaction<BabylonSpecificMessages> {
return new BabylonTransaction(this._coinConfig, this._utils);
}
}
Выполнить команду
Для локальной разработки. Не используйте в интернете!