Fix deprecation warninsg
This commit is contained in:
parent
cc9cc53d0b
commit
623cf6d6da
@ -1,14 +1,13 @@
|
||||
const Record = require('./record');
|
||||
const ExpenseSerializer = require('../serializers/expense');
|
||||
const Record = require("./record");
|
||||
const ExpenseSerializer = require("../serializers/expense");
|
||||
|
||||
class Reimbursement extends Record {
|
||||
get count() {
|
||||
return this.functions.reimbursementsCount();
|
||||
return this.contract.reimbursementsCount();
|
||||
}
|
||||
|
||||
getById(id) {
|
||||
return this.functions.get(id)
|
||||
.then(data => {
|
||||
return this.contract.get(id).then((data) => {
|
||||
return this.ipfs.catAndMerge(data, (ipfsDocument) => {
|
||||
const expenses = JSON.parse(ipfsDocument);
|
||||
return { expenses };
|
||||
@ -17,36 +16,39 @@ class Reimbursement extends Record {
|
||||
}
|
||||
|
||||
getData(id) {
|
||||
return this.functions.getReimbursement(id);
|
||||
return this.contract.getReimbursement(id);
|
||||
}
|
||||
|
||||
async add(attrs, callOptions = {}) {
|
||||
const amount = parseInt(attrs.amount);
|
||||
const token = attrs.token;
|
||||
const recipientId = attrs.recipientId;
|
||||
const expenses = attrs.expenses.map( e => new ExpenseSerializer(e) );
|
||||
const expenses = attrs.expenses.map((e) => new ExpenseSerializer(e));
|
||||
let errorMessage;
|
||||
|
||||
if (typeof amount !== 'number' || amount <= 0) {
|
||||
errorMessage = 'Invalid data: amount must be a positive number.';
|
||||
if (typeof amount !== "number" || amount <= 0) {
|
||||
errorMessage = "Invalid data: amount must be a positive number.";
|
||||
}
|
||||
if (!token || token === '') {
|
||||
errorMessage = 'Invalid data: token must be a token address.';
|
||||
if (!token || token === "") {
|
||||
errorMessage = "Invalid data: token must be a token address.";
|
||||
}
|
||||
if (!recipientId || recipientId === '') {
|
||||
errorMessage = 'Invalid data: recipientId is required.';
|
||||
if (!recipientId || recipientId === "") {
|
||||
errorMessage = "Invalid data: recipientId is required.";
|
||||
}
|
||||
if (expenses.length === 0) {
|
||||
errorMessage = 'Invalid data: at least one expense item is required.';
|
||||
errorMessage = "Invalid data: at least one expense item is required.";
|
||||
}
|
||||
if (errorMessage) {
|
||||
return Promise.reject(new Error(errorMessage));
|
||||
}
|
||||
if (errorMessage) { return Promise.reject(new Error(errorMessage)); }
|
||||
|
||||
return Promise.all(expenses.map(e => e.validate()))
|
||||
.then(() => {
|
||||
const jsonStr = JSON.stringify(expenses.map(e => e.data), null, 2);
|
||||
return this.ipfs
|
||||
.add(jsonStr)
|
||||
.then(ipfsHashAttr => {
|
||||
return Promise.all(expenses.map((e) => e.validate())).then(() => {
|
||||
const jsonStr = JSON.stringify(
|
||||
expenses.map((e) => e.data),
|
||||
null,
|
||||
2
|
||||
);
|
||||
return this.ipfs.add(jsonStr).then((ipfsHashAttr) => {
|
||||
const reimbursement = [
|
||||
amount,
|
||||
token,
|
||||
@ -56,7 +58,7 @@ class Reimbursement extends Record {
|
||||
ipfsHashAttr.hashSize,
|
||||
];
|
||||
|
||||
return this.functions.add(...reimbursement, callOptions);
|
||||
return this.contract.add(...reimbursement, callOptions);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
@ -1,25 +1,38 @@
|
||||
const promptly = require('promptly');
|
||||
const Table = require('cli-table');
|
||||
const promptly = require("promptly");
|
||||
const Table = require("cli-table");
|
||||
|
||||
const { ethers } = require("hardhat");
|
||||
const Kredits = require('../lib/kredits');
|
||||
const Kredits = require("../lib/kredits");
|
||||
|
||||
async function main() {
|
||||
kredits = new Kredits(hre.ethers.provider, hre.ethers.provider.getSigner())
|
||||
kredits = new Kredits(hre.ethers.provider, hre.ethers.provider.getSigner());
|
||||
await kredits.init();
|
||||
|
||||
console.log(`Using Reimbursement at: ${kredits.Reimbursement.contract.address}`);
|
||||
console.log(
|
||||
`Using Reimbursement at: ${kredits.Reimbursement.contract.address}`
|
||||
);
|
||||
|
||||
const table = new Table({
|
||||
head: ['ID', 'Amount', 'Token', 'recipientId', 'Confirmed?', 'Vetoed?', 'IPFS', 'Expenses']
|
||||
})
|
||||
head: [
|
||||
"ID",
|
||||
"Amount",
|
||||
"Token",
|
||||
"recipientId",
|
||||
"Confirmed?",
|
||||
"Vetoed?",
|
||||
"IPFS",
|
||||
"Expenses",
|
||||
],
|
||||
});
|
||||
|
||||
let blockNumber = await kredits.provider.getBlockNumber();
|
||||
let reimbursements = await kredits.Reimbursement.all({page: {size: 1000}});
|
||||
let reimbursements = await kredits.Reimbursement.all({
|
||||
page: { size: 1000 },
|
||||
});
|
||||
|
||||
let kreditsSum = 0;
|
||||
console.log(`Current block number: ${blockNumber}`);
|
||||
reimbursements.forEach(r => {
|
||||
reimbursements.forEach((r) => {
|
||||
const confirmed = r.confirmedAtBlock <= blockNumber;
|
||||
|
||||
table.push([
|
||||
@ -30,15 +43,21 @@ async function main() {
|
||||
`${confirmed}`,
|
||||
`${r.vetoed}`,
|
||||
`${r.ipfsHash}`,
|
||||
`${r.expenses.length}`
|
||||
`${r.expenses.length}`,
|
||||
]);
|
||||
});
|
||||
|
||||
console.log(table.toString());
|
||||
|
||||
let totalAmountUnconfirmed = await kredits.Reimbursement.functions.totalAmount(false);
|
||||
let totalAmountConfirmed = await kredits.Reimbursement.functions.totalAmount(true);
|
||||
console.log(`Total: ${totalAmountConfirmed} (confirmed) | ${totalAmountUnconfirmed} (including unconfirmed)`);
|
||||
let totalAmountUnconfirmed = await kredits.Reimbursement.contract.totalAmount(
|
||||
false
|
||||
);
|
||||
let totalAmountConfirmed = await kredits.Reimbursement.contract.totalAmount(
|
||||
true
|
||||
);
|
||||
console.log(
|
||||
`Total: ${totalAmountConfirmed} (confirmed) | ${totalAmountUnconfirmed} (including unconfirmed)`
|
||||
);
|
||||
}
|
||||
|
||||
main();
|
||||
|
Loading…
x
Reference in New Issue
Block a user