Übergeben von Parametern in Trüffeltests

Oct 22 2020

Ich habe diesen Parameter für eine Funktion:

type modify_list is 
| Add of list(address)
| Remove of list(address)

type modify_list_michelson is michelson_or_right_comb(modify_list)

Wenn ich versuche, den Parameter in meinen Trüffeltests wie folgt anzugeben:

{ add: [account1, account2], remove: [] }

Ich erhalte diesen Fehler:

Received 1 arguments while expecting one of the following signatures ([["add","list"],["remove","list"]])

Kann mir jemand sagen, wie man die Argumente richtig liefert? Ich habe versucht, den Parameter mit Adressen anstelle einer Liste zu vereinfachen und so ziemlich jede Datenstruktur ausprobiert, die mir im JS-Test einfiel, aber noch keinen Erfolg.

Antworten

2 ClaudeBarde Oct 27 2020 at 21:54

Die korrekte Syntax für den Parameter lautet wie folgt: "remove", [account1, account2](2 verschiedene Parameter, kein Objekt).
Ich habe einen einfachen Vertrag erstellt, um Ihren Fall zu emulieren, ihn bereitgestellt und ein kleines Skript geschrieben, um ihn zu testen . Nachdem Sie den Einstiegspunkt Ihrer Wahl aufgerufen haben, müssen Sie 2 Parameter angeben: 1- das Feld, in dem Sie den Vereinigungswert festlegen möchten, 2- seine Parameter (falls vorhanden).
Lass es mich wissen, wenn du andere Fragen hast :)

1 RoxaneLétourneau Oct 24 2020 at 00:56

Ich glaube, der Fehler ist, dass Sie die 2 Parameter übergeben (Hinzufügen und Entfernen), aber Sie sollten nur den ausgewählten übergeben. Ich schlage vor, Sie versuchen:{ add: [account1, account2] }