diff --git a/src/router.ts b/src/router.ts index 62e87db..5ff91f1 100755 --- a/src/router.ts +++ b/src/router.ts @@ -9,6 +9,7 @@ import { LoginComponent } from './pages/home/home-component'; import { prepareAndSendPairingTx } from './utils/sp-address.utils'; import ModalService from './services/modal.service'; import { MessageType } from './models/process.model'; +import { splitPrivateData, isValid32ByteHex } from './utils/service.utils'; const routes: { [key: string]: string } = { home: '/src/pages/home/home.html', @@ -457,16 +458,7 @@ export async function registerAllListeners() { throw new Error('Invalid or expired session token'); } - const privateData: Record = {}; - const publicData: Record = {}; - - Object.entries(processData).forEach(([key, value]) => { - if (privateFields.includes(key)) { - privateData[key] = value; - } else { - publicData[key] = value; - } - }); + const { privateData, publicData } = splitPrivateData(processData, privateFields); const createProcessReturn = await services.createProcess(privateData, publicData, roles); if (!createProcessReturn.updated_process) { @@ -512,6 +504,10 @@ export async function registerAllListeners() { throw new Error('Invalid or expired session token'); } + if (!isValid32ByteHex(stateId)) { + throw new Error('Invalid state id'); + } + const res = await services.createPrdUpdate(processId, stateId); await services.handleApiReturn(res);