PHP WebShell

Текущая директория: /opt/BitGoJS/node_modules/@bitgo-forks/avalanchejs/src/utils

Просмотр файла: packTx.ts

import { DEFAULT_CODEC_VERSION } from '../constants/codec';
import { getAVMManager } from '../serializable/avm/codec';
import type { Manager } from '../serializable/codec';
import type { Serializable } from '../serializable/common/types';
import type { VM } from '../serializable/constants';
import { getEVMManager } from '../serializable/evm/codec';
import { Short } from '../serializable/primitives';
import { getPVMManager } from '../serializable/pvm/codec';

export interface GenericTransaction extends Serializable {
  vm: VM;
}

export function getManagerForVM(vm: VM): Manager {
  switch (vm) {
    case 'AVM':
      return getAVMManager();
    case 'EVM':
      return getEVMManager();
    case 'PVM':
      return getPVMManager();
    default:
      throw new Error('unknown VM');
  }
}

export function unpackWithManager(vm: VM, txBytes: Uint8Array) {
  return getManagerForVM(vm).unpackTransaction(txBytes);
}

export function packTx(tx: GenericTransaction) {
  return getManagerForVM(tx.vm).packCodec(tx);
}

export function getDefaultCodecFromTx(tx: GenericTransaction) {
  return getManagerForVM(tx.vm).getCodecForVersion(
    new Short(DEFAULT_CODEC_VERSION),
  );
}

Выполнить команду


Для локальной разработки. Не используйте в интернете!