mirror of https://github.com/status-im/js-waku.git
Do not process Public Key Message if field is missing
This commit is contained in:
parent
370a347ff2
commit
f9174cd3d2
|
@ -121,6 +121,7 @@ function handlePublicKeyMessage(
|
||||||
) {
|
) {
|
||||||
if (!msg.payload) return;
|
if (!msg.payload) return;
|
||||||
const publicKeyMsg = PublicKeyMessage.decode(msg.payload);
|
const publicKeyMsg = PublicKeyMessage.decode(msg.payload);
|
||||||
|
if (!publicKeyMsg) return;
|
||||||
const ethDmPublicKey = bytesToHexStr(publicKeyMsg.ethDmPublicKey);
|
const ethDmPublicKey = bytesToHexStr(publicKeyMsg.ethDmPublicKey);
|
||||||
if (ethDmPublicKey === myPublicKey) return;
|
if (ethDmPublicKey === myPublicKey) return;
|
||||||
|
|
||||||
|
|
|
@ -30,10 +30,16 @@ export class PublicKeyMessage {
|
||||||
return PublicKeyMessage.Type.encode(message).finish();
|
return PublicKeyMessage.Type.encode(message).finish();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static decode(bytes: Uint8Array | Buffer): PublicKeyMessage {
|
public static decode(
|
||||||
|
bytes: Uint8Array | Buffer
|
||||||
|
): PublicKeyMessage | undefined {
|
||||||
const payload = PublicKeyMessage.Type.decode(
|
const payload = PublicKeyMessage.Type.decode(
|
||||||
bytes
|
bytes
|
||||||
) as unknown as PublicKeyMessagePayload;
|
) as unknown as PublicKeyMessagePayload;
|
||||||
|
if (!payload.signature || !payload.ethDmPublicKey || !payload.ethAddress) {
|
||||||
|
console.log('Field missing on decoded Public Key Message', payload);
|
||||||
|
return;
|
||||||
|
}
|
||||||
return new PublicKeyMessage(payload);
|
return new PublicKeyMessage(payload);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue