INNER CODE UNIT · TypeScript
combine
privy-io/shamir-secret-sharing · src/index.ts:273
export async function combine(shares: Uint8Array[]): Promise<Uint8Array> {
// Shares must be an array with length in the range [2, 256)
AssertArgument.instanceOf(shares, Array, 'shares must be an Array');
AssertArgument.inRange(
shares.length,
2,
256,
'shares must have at least 2 and at most 255 elements',
);
// Shares must be a Uint8Array with at least 2 bytes and all shares must have the same byte length.
const share1 = shares[0]!;
AssertArgument.instanceOf(share1, Uint8Array, 'each share must be a Uint8Array');
for (const share of shares) {
AssertArgument.instanceOf(share, Uint8Array, 'each share must be a Uint8Array');
AssertArgument.greaterThanOrEqualTo(share.byteLength, 2, 'each share must be at least 2 bytes');
AssertArgument.equalTo(
share.byteLength,