-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathStandardSeedProcessor.js
44 lines (30 loc) · 1.23 KB
/
StandardSeedProcessor.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
const ethers = require("ethers");
//var slugify = require('slugify');
const Utils = require("../classes/Utils");
const Status = require("../classes/Status");
module.exports = async ({
contractName,
contractInstance,
contractMethod,
argsArray,
networkId,
web3,
web3Account
}) => {
let resultsArray = [];
for(let index in argsArray) {
let _argArray = argsArray[index];
try {
Utils.infoMsg(`Retrieving gas for contract method ${contractMethod}`)
let gas = await Utils.getGasEstimate(contractInstance, contractMethod, _argArray, web3Account);
Utils.successMsg(`${contractMethod} Gas Fee: ${gas} wei`)
let result = await contractInstance.methods[contractMethod](..._argArray).send({from: web3Account, gas});
Utils.successMsg(`Standard Seed Tx Success: ${result.transactionHash}`)
resultsArray[index] = {contractMethod, data: _argArray, txInfo: result};
} catch (e) {
console.log(`standardSeedProcessor Error ${e.message}`,e)
return Status.errorPromise(`standardSeedProcessor Error: ${e.message}`)
}
} //end loop
return Status.successPromise("", resultsArray)
}