From 7d0755695ed48cb5858f24973ffabc26d36cf081 Mon Sep 17 00:00:00 2001 From: Franco NG Date: Thu, 11 Jan 2024 14:16:23 +0100 Subject: [PATCH] Update backend structure --- packages/claim-backend/src/check.ts | 22 ++++++++++++++++ packages/claim-backend/src/index.ts | 36 ++------------------------- packages/claim-backend/src/leafMap.ts | 18 ++++++++++++++ 3 files changed, 42 insertions(+), 34 deletions(-) create mode 100644 packages/claim-backend/src/check.ts create mode 100644 packages/claim-backend/src/leafMap.ts diff --git a/packages/claim-backend/src/check.ts b/packages/claim-backend/src/check.ts new file mode 100644 index 0000000..90f5da7 --- /dev/null +++ b/packages/claim-backend/src/check.ts @@ -0,0 +1,22 @@ +import { Request, Response} from "express"; +import {address as addressUtil} from "@liskhq/lisk-cryptography"; +import leafMap from "./leafMap"; + +export function check (req: Request, res: Response) { + const { address } = req.body; + try { + addressUtil.validateLisk32Address(address); + } catch (_) { + res.status(400).json({ + error: true, + message: `'${address}' is not a valid address.`, + }); + return; + } + + if (!leafMap[address]) { + res.status(400).json({ error: true, message: `${address} has no eligible claim.` }); + return; + } + res.json(leafMap[address]); +} \ No newline at end of file diff --git a/packages/claim-backend/src/index.ts b/packages/claim-backend/src/index.ts index 27d1880..138288c 100644 --- a/packages/claim-backend/src/index.ts +++ b/packages/claim-backend/src/index.ts @@ -1,44 +1,12 @@ import express, { Express } from 'express'; -import { address as addressUtil } from '@liskhq/lisk-cryptography'; -import * as fs from 'fs'; -import { Leaf } from './interface'; +import {check} from "./check"; const app: Express = express(); app.use(express.json()); app.use(express.urlencoded({ extended: true })); -const { leaves } = JSON.parse( - fs.readFileSync('../../data/example/merkle-tree-result-detailed.json', 'utf-8'), -); - -const leafMap: { - [lskAddress: string]: Leaf; -} = {}; - -for (const leaf of leaves) { - leafMap[leaf.lskAddress] = leaf; -} - -console.log(`${Object.keys(leafMap).length} Leaves loaded`); -app.post('/check', (req: express.Request, res: express.Response) => { - const { address } = req.body; - try { - addressUtil.validateLisk32Address(address); - } catch (_) { - res.status(400).json({ - error: true, - message: `'${address}' is not a valid address.`, - }); - return; - } - - if (!leafMap[address]) { - res.status(400).json({ error: true, message: `${address} has no eligible claim.` }); - return; - } - res.json(leafMap[address]); -}); +app.post('/check', check); const PORT = process.env.PORT || 3000; diff --git a/packages/claim-backend/src/leafMap.ts b/packages/claim-backend/src/leafMap.ts new file mode 100644 index 0000000..882cab6 --- /dev/null +++ b/packages/claim-backend/src/leafMap.ts @@ -0,0 +1,18 @@ +import fs from "fs"; +import {Leaf} from "./interface"; + +const { leaves } = JSON.parse( + fs.readFileSync('../../data/example/merkle-tree-result-detailed.json', 'utf-8'), +); + +const leafMap: { + [lskAddress: string]: Leaf; +} = {}; + +for (const leaf of leaves) { + leafMap[leaf.lskAddress] = leaf; +} + +console.log(`LeafMap: ${Object.keys(leafMap).length} Leaves loaded`); + +export default leafMap; \ No newline at end of file