PHP WebShell

Текущая директория: /opt/BitGoJS/modules/sdk-core/src/account-lib/mpc

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

import {
  bigIntFromBufferLE,
  bigIntToBufferLE,
  bigIntFromU8ABE,
  bigIntFromBufferBE,
  bigIntToBufferBE,
  clamp,
  getPaillierPublicKey,
  DklsUtils,
  DklsTypes,
} from '@bitgo/sdk-lib-mpc';

/**
 * Combines serialized partial signatures from parties participating in DSG.
 * @param round4DsgMessages - round 4 serialized broadcast messages payloads from participating parties
 * @returns {DklsTypes.SerializedDklsSignature} - serialized final signature
 */
export function combineRound4DklsDsgMessages(
  round4DsgMessages: DklsTypes.SerializedBroadcastMessage[]
): DklsTypes.SerializedDklsSignature {
  const round4DsgMessagesDeser = round4DsgMessages.map(DklsTypes.deserializeBroadcastMessage);
  const signatureR = round4DsgMessagesDeser.find((m) => m.signatureR !== undefined)?.signatureR;
  if (!signatureR) {
    throw Error('None of the round 4 Dkls messages contain a Signature.R value.');
  }
  const signatureDeser = DklsUtils.combinePartialSignatures(
    round4DsgMessagesDeser.map((m) => m.payload),
    Buffer.from(signatureR).toString('hex')
  );
  return {
    R: Buffer.from(signatureDeser.R).toString('hex'),
    S: Buffer.from(signatureDeser.S).toString('hex'),
  };
}

/**
 * @deprecated - use exported methods from @bitgo/sdk-lib-mpc instead
 */
export {
  bigIntFromBufferLE,
  bigIntToBufferLE,
  bigIntFromU8ABE,
  bigIntFromBufferBE,
  bigIntToBufferBE,
  clamp,
  getPaillierPublicKey,
};

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


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