Dieser Vertrag kann abstrakt sein, die Methoden eines abstrakten Elternteils nicht vollständig implementieren oder den Konstruktor eines geerbten Vertrags nicht korrekt aufrufen

Ich versuche, Ampleforth auf Rinkbey mit Remix zu testen. Hier sind alle Dateien, die ich in Remix kopiere. https://github.com/cryptoghoulz/based-contracts/tree/master/contracts/v4

Sie werden gut kompiliert, aber wenn ich UFragments bereitstelle, erhalte ich diesen Fehler:

Dieser Vertrag kann abstrakt sein, die Methoden eines abstrakten Elternteils nicht vollständig implementieren oder den Konstruktor eines geerbten Vertrags nicht korrekt aufrufen.

Weiß jemand was los sein könnte? Danke!

Ja: contract UFragments is ERC20Detailed, Ownable, und dann contract ERC20Detailed is Initializable, IERC20. Sie können also keine Instanz von bereitstellen UFragments. Sie müssen diesen Vertrag erben und alle noch nicht implementierten Funktionen implementieren (vermutlich sind alle in deklariert IERC20).
@goodvibration aber UFragments implementiert alle 6 Funktionen in IERC20 ...
Suchen Sie dann nach anderen Funktionen in anderen Verträgen, die es erbt.
Ich hatte die gleiche Fehlermeldung. Hast du es schon gelöst? Danke @Richard Garfield

Antworten (3)

Ich hatte die falsche kompilierte Datei in der Dropdown-Leiste "Bereitstellen" des Remix ausgewählt -_- aus irgendeinem Grund ist die Standarddatei die höchste in der Hierarchie

Oh Mann! Das hat mir gerade den Tag gerettet.... Vielen Dank.
Es ist mir ein bisschen peinlich zu sagen, dass ich über eine Stunde gebraucht habe, um meinen Code mehrmals durchzugehen, bevor ich gegoogelt und diese Antwort gefunden habe.

BildschirmfotoDies ist sicherlich kein Codefehler, kein Compilerfehler. In der IDE ist nur die richtige Einstellung erforderlich. Siehe nur linke Seite, die dritte Registerkarte im Abschnitt „VERTRAG“ wählen Sie „EIGENE“.

Dasselbe Problem, bei dem ich die falsche CONTRACT-Datei ausgewählt habe.

Geben Sie hier die Bildbeschreibung ein

Wählen Sie die Vertragsdatei aus der Dropdown-Liste aus und sie wird bereitgestellt