Add HASH_VALUE and GET_MERKLE_PROOF
This commit is contained in:
parent
207b308173
commit
7c39795cef
@ -691,6 +691,62 @@ export async function registerAllListeners() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const handleHashValue = async (event: MessageEvent) => {
|
||||||
|
if (event.data.type !== MessageType.HASH_VALUE) return;
|
||||||
|
|
||||||
|
console.log('handleHashValue', event.data);
|
||||||
|
|
||||||
|
try {
|
||||||
|
const { accessToken, commitedIn, label, fileBlob } = event.data;
|
||||||
|
|
||||||
|
if (!accessToken || !(await tokenService.validateToken(accessToken, event.origin))) {
|
||||||
|
throw new Error('Invalid or expired session token');
|
||||||
|
}
|
||||||
|
|
||||||
|
const hash = services.getHashForFile(commitedIn, label, fileBlob);
|
||||||
|
|
||||||
|
window.parent.postMessage(
|
||||||
|
{
|
||||||
|
type: MessageType.VALUE_HASHED,
|
||||||
|
hash,
|
||||||
|
messageId: event.data.messageId
|
||||||
|
},
|
||||||
|
event.origin
|
||||||
|
);
|
||||||
|
} catch (e) {
|
||||||
|
const errorMsg = `Failed to hash value: ${e}`;
|
||||||
|
errorResponse(errorMsg, event.origin, event.data.messageId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const handleGetMerkleProof = async (event: MessageEvent) => {
|
||||||
|
if (event.data.type !== MessageType.GET_MERKLE_PROOF) return;
|
||||||
|
|
||||||
|
console.log('handleGetMerkleProof', event.data);
|
||||||
|
|
||||||
|
try {
|
||||||
|
const { accessToken, processState, attributeName } = event.data;
|
||||||
|
|
||||||
|
if (!accessToken || !(await tokenService.validateToken(accessToken, event.origin))) {
|
||||||
|
throw new Error('Invalid or expired session token');
|
||||||
|
}
|
||||||
|
|
||||||
|
const proof = services.getMerkleProofForFile(processState, attributeName);
|
||||||
|
|
||||||
|
window.parent.postMessage(
|
||||||
|
{
|
||||||
|
type: MessageType.MERKLE_PROOF_RETRIEVED,
|
||||||
|
proof,
|
||||||
|
messageId: event.data.messageId
|
||||||
|
},
|
||||||
|
event.origin
|
||||||
|
);
|
||||||
|
} catch (e) {
|
||||||
|
const errorMsg = `Failed to get merkle proof: ${e}`;
|
||||||
|
errorResponse(errorMsg, event.origin, event.data.messageId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
window.removeEventListener('message', handleMessage);
|
window.removeEventListener('message', handleMessage);
|
||||||
window.addEventListener('message', handleMessage);
|
window.addEventListener('message', handleMessage);
|
||||||
|
|
||||||
@ -733,6 +789,12 @@ export async function registerAllListeners() {
|
|||||||
case MessageType.DECODE_PUBLIC_DATA:
|
case MessageType.DECODE_PUBLIC_DATA:
|
||||||
await handleDecodePublicData(event);
|
await handleDecodePublicData(event);
|
||||||
break;
|
break;
|
||||||
|
case MessageType.HASH_VALUE:
|
||||||
|
await handleHashValue(event);
|
||||||
|
break;
|
||||||
|
case MessageType.GET_MERKLE_PROOF:
|
||||||
|
await handleGetMerkleProof(event);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
console.warn(`Unhandled message type: ${event.data.type}`);
|
console.warn(`Unhandled message type: ${event.data.type}`);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user