Мне нужен незавершенный баланс моего контракта. Насколько я понимаю, я мог бы сделать это с помощью web3:
web3.eth.call(callObject [, defaultBlock] [, callback])
Могу ли я также передать defaultBlock в абстракцию трюфельного контракта или мне нужно напрямую вызывать web3?
Т.е. когда я пытаюсь передать defaultBlock вызову трюфельного контракта:
import { default as Contract } from "truffle-contract";
let contractDef = Contract(artifacts);
contractDef.setProvider(provider);
let instance = await contractDef.deployed();
let balance = await myContract.instance.balanceOf(
address,
"pending"
);
Я получил:
Error: Invalid number of arguments to Solidity function
Были проблемы с этим раньше , откатитесь до truffle 3.x, удалите папку build/contracts/ (на всякий случай сделайте ее резервную копию), пересоберите артефакты с помощью truffle migrate --compile-all и повторите попытку.