Ich habe einen Soliditätsvertrag, der eine Reihe von Proposal
Informationen speichert:
contract Submissions {
Proposal[] public proposals;
struct Proposal {
// ....
}
}
In einem Test (mit Truffle Framework) versuche ich, auf die Vorschlagsdaten zuzugreifen:
const proposals = await Submissions.proposals();
Aber ich bekomme diese Ausnahme:
Ungültige Anzahl von Argumenten für Solidity-Funktion
Ich verstehe das nicht, da es keine Funktion ist und daher keine Argumente benötigt. An anderer Stelle in meinen Tests habe ich mit dieser Methode erfolgreich Vertragsdaten gesammelt (allerdings nicht für Arrays) - was fehlt mir?
Der automatisch generierte Getter für ein Array akzeptiert einen einzigen Parameter: den Index in das Array.
Sie sollten also in der Lage sein, , usw. aufzurufen proposals(0)
, proposals(1)
um Mitglieder des Arrays abzurufen.
Kollaborativer Lernender
Benutzer19510
Proposal
, obwohl ich denke, dass einige Mitglieder der Struktur übersprungen werden könnten, wenn ihre Typen nicht vom ABI-Encoder unterstützt werden. Ohne zu wissen, wasProposal
drin ist, ist es schwer, weiter zu spekulieren.