Compare commits
2 Commits
master
...
addresses/
Author | SHA1 | Date | |
---|---|---|---|
|
96a18d3c5c | ||
|
b3dabb41e1 |
@ -1,4 +1,10 @@
|
||||
{
|
||||
"31": {
|
||||
"Contributor": "0x9C66a36fa6296EBb81d8F5D4642B05dF2CE85a8D",
|
||||
"Contribution": "0xa12630a995337e45bDD746B6baedc1Ce2a1DCC9D",
|
||||
"Token": "0x12Eb86338076450f86E5B552556028c7D21eaf1F",
|
||||
"Reimbursement": "0xe2FE7cb00e2f94b8bA0AE526dfbe313f34c66E3C"
|
||||
},
|
||||
"1337": {
|
||||
"Contributor": "0xCc66f9A3cA2670972938FAD91d0865c4a62DFB25",
|
||||
"Contribution": "0x8999CaBc43E28202c5A2257f2a95A45b1F8A62BD",
|
||||
|
@ -1,6 +1,8 @@
|
||||
const fs = require('fs');
|
||||
const Kredits = require('../../lib/kredits');
|
||||
|
||||
const PARALLEL_TXS = 5;
|
||||
|
||||
async function main() {
|
||||
kredits = new Kredits(hre.ethers.provider, hre.ethers.provider.getSigner())
|
||||
await kredits.init();
|
||||
@ -18,19 +20,40 @@ async function main() {
|
||||
const confirmationPeriod = 40320 // blocks
|
||||
const unconfirmedHeight = currentBlockHeight + confirmationPeriod;
|
||||
|
||||
for (const contributionId of ids) {
|
||||
const c = contributions[contributionId.toString()];
|
||||
const txBundlesAmount = Math.ceil(ids.length / PARALLEL_TXS);
|
||||
let txBundles = [];
|
||||
|
||||
const confirmedAtBlock = c.confirmed ? currentBlockHeight : unconfirmedHeight;
|
||||
for (let i = 0; i < txBundlesAmount; i++) {
|
||||
txBundles.push(ids.slice((i * PARALLEL_TXS), (i * PARALLEL_TXS) + PARALLEL_TXS));
|
||||
}
|
||||
|
||||
const result = await kredits.Contribution.contract.add(
|
||||
c.amount, c.contributorId,
|
||||
c.hashDigest, c.hashFunction, c.hashSize,
|
||||
confirmedAtBlock, c.vetoed
|
||||
);
|
||||
// await result.wait();
|
||||
console.log(`Added contribution #${contributionId}: ${result.hash}`);
|
||||
};
|
||||
for (const txBundle of txBundles) {
|
||||
console.log(`Adding contributions #${txBundle[0]} to #${txBundle[txBundle.length - 1]}`)
|
||||
|
||||
let resultPromises = [];
|
||||
|
||||
for (const contributionId of txBundle) {
|
||||
const c = contributions[contributionId.toString()];
|
||||
|
||||
const confirmedAtBlock = c.confirmed ? currentBlockHeight : unconfirmedHeight;
|
||||
|
||||
const result = await kredits.Contribution.contract.add(
|
||||
c.amount, c.contributorId,
|
||||
c.hashDigest, c.hashFunction, c.hashSize,
|
||||
confirmedAtBlock, c.vetoed
|
||||
);
|
||||
|
||||
resultPromises.push(result.wait());
|
||||
|
||||
console.log(`Added contribution #${contributionId}: ${result.hash}`);
|
||||
}
|
||||
|
||||
console.log(`Waiting for confirmations...`);
|
||||
|
||||
await Promise.all(resultPromises);
|
||||
|
||||
console.log('Transactions confirmed');
|
||||
}
|
||||
} catch(e) {
|
||||
console.log(e);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user