const path = require('path'); const each = require('async-each-series'); const seeds = require(path.join(__dirname, '..', '/config/seeds.js')); const { ethers } = require("hardhat"); const Kredits = require('../lib/kredits'); async function main() { kredits = new Kredits(hre.ethers.provider, hre.ethers.provider.getSigner()) await kredits.init(); let fundingAmount = '2'; each(seeds.funds, (address, next) => { console.log(`funding ${address} with 2 ETH`); try { hre.ethers.provider.getSigner().sendTransaction({ to: address, value: hre.ethers.utils.parseEther(fundingAmount) }); } catch(e) { console.log('FAILED:', e); } next(); }); each(seeds.contractCalls, (call, next) => { let [contractName, method, args] = call; let contractWrapper = kredits[contractName]; let func; if (contractWrapper[method]) { func = contractWrapper[method]; } else { func = contractWrapper.contract[method]; } func.apply(contractWrapper, args).then((result) => { console.log(`[OK] kredits.${contractName}.${method}(${JSON.stringify(args)}) => ${result.hash}`); next(); }).catch((error) => { console.log(`[FAILED] kredits.${contractName}.${method}(${JSON.stringify(args)})`); console.log(`Error: ${error.message}`); next(); }); }, () => { console.log("\nDone!") }); } main();