From 55c6e252cfd8bf52e0566704d34080c84f424be5 Mon Sep 17 00:00:00 2001 From: Michael Bumann Date: Thu, 10 Aug 2023 19:54:34 +0200 Subject: [PATCH] Add reimbursement import --- scripts/import/reimbursements.js | 36 ++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 scripts/import/reimbursements.js diff --git a/scripts/import/reimbursements.js b/scripts/import/reimbursements.js new file mode 100644 index 0000000..2867a92 --- /dev/null +++ b/scripts/import/reimbursements.js @@ -0,0 +1,36 @@ +const fs = require('fs'); +const Kredits = require('../../lib/kredits'); + +async function main() { + kredits = new Kredits(hre.ethers.provider, hre.ethers.provider.getSigner()) + await kredits.init(); + + console.log(`Using Reimbursement at: ${kredits.Reimbursement.contract.address}`); + const count = await kredits.Reimbursement.count; + console.log(`Currently ${count} entries`); + try { + const data = fs.readFileSync("./data/reimbursements.json"); + const reimbursements = JSON.parse(data); + const ids = Object.keys(reimbursements) + .map(k => parseInt(k)) + .sort(function(a, b) { return a - b }); + + for (const reimbursementId of ids) { + const reimbursement = reimbursements[reimbursementId.toString()]; + const result = await kredits.Reimbursement.contract.add( + reimbursement.amount, + reimbursement.token, + reimbursement.recipientId, + reimbursement.hashDigest, + reimbursement.hashFunction, + reimbursement.hashSize, + ); + console.log(`Adding reimbursement #${reimbursementId}: ${result.hash}`); + await result.wait(); + }; + } catch (e) { + console.error(e); + } +} + +main();