You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
session-desktop/ts/session/messages/outgoing/content/data/mediumgroup/MediumGroupResponseKeysMess...

37 lines
1.1 KiB
TypeScript

import { SignalService } from '../../../../../../protobuf';
import { MediumGroupMessage, MediumGroupMessageParams } from '.';
import { RatchetState } from '../../../../../medium_group/senderKeys';
export interface MediumGroupResponseKeysParams
extends MediumGroupMessageParams {
senderKey: RatchetState;
}
export class MediumGroupResponseKeysMessage extends MediumGroupMessage {
public readonly senderKey: RatchetState;
constructor({
timestamp,
identifier,
groupId,
senderKey,
}: MediumGroupResponseKeysParams) {
super({ timestamp, identifier, groupId });
this.senderKey = senderKey;
}
protected mediumGroupContext(): SignalService.MediumGroupUpdate {
const mediumGroupContext = super.mediumGroupContext();
mediumGroupContext.type = SignalService.MediumGroupUpdate.Type.SENDER_KEY;
const senderKey = new SignalService.MediumGroupUpdate.SenderKey({
chainKey: this.senderKey.chainKey,
keyIndex: this.senderKey.keyIdx,
publicKey: this.senderKey.pubKey,
});
mediumGroupContext.senderKeys = [senderKey];
return mediumGroupContext;
}
}