message: refactor(core): unwrap explainTransaction
  Remove bluebird wrapping
  Issue:
diff: @@ -1236,14 +1236,8 @@ export abstract class AbstractUtxoCoin extends BaseCoin {
  * Decompose a raw transaction into useful information, such as the total amounts,
  * change amounts, and transaction outputs.
  * @param params
  - * @param callback
  */
  - explainTransaction(
  - params: ExplainTransactionOptions,
  - callback?: NodeCallback<TransactionExplanation>
  - ): Bluebird<TransactionExplanation> {
  - const self = this;
  - return co<TransactionExplanation>(function* () {
  + explainTransaction(params: ExplainTransactionOptions): Promise<TransactionExplanation> {
  const txHex = _.get(params, 'txHex');
  if (!txHex || !_.isString(txHex) || !txHex.match(/^([a-f0-9]{2})+$/i)) {
  throw new Error('invalid transaction hex, must be a valid hex string');
  @@ -1251,7 +1245,7 @@ export abstract class AbstractUtxoCoin extends BaseCoin {
  let transaction;
  try {
  - transaction = self.createTransactionFromHex(txHex);
  + transaction = this.createTransactionFromHex(txHex);
  } catch (e) {
  throw new Error('failed to parse transaction hex');
  }
  @@ -1272,7 +1266,7 @@ export abstract class AbstractUtxoCoin extends BaseCoin {
  };
  transaction.outs.forEach((currentOutput) => {
  - const currentAddress = utxolib.address.fromOutputScript(currentOutput.script, self.network);
  + const currentAddress = utxolib.address.fromOutputScript(currentOutput.script, this.network);
  const currentAmount = currentOutput.value;
  if (changeAddresses.indexOf(currentAddress) !== -1) {
  @@ -1363,9 +1357,6 @@ export abstract class AbstractUtxoCoin extends BaseCoin {
  explanation.inputSignatures = inputSignatures;
  explanation.signatures = _.max(inputSignatures);
  return explanation;
  - })
  - .call(this)
  - .asCallback(callback);
  }
  /**
  