Pasar parámetros en pruebas de trufa

Oct 22 2020

Tengo este parámetro para una función:

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

type modify_list_michelson is michelson_or_right_comb(modify_list)

Cuando trato de proporcionar el parámetro en mis pruebas de trufa de esta manera:

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

Me sale este error:

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

¿Alguien puede decirme cómo proporcionar los argumentos correctamente? Intenté simplificar el parámetro con direcciones en lugar de una lista y probé casi todas las estructuras de datos que pude pensar en la prueba JS, pero todavía no tuve éxito.

Respuestas

2 ClaudeBarde Oct 27 2020 at 21:54

La sintaxis correcta para el parámetro es la siguiente: "remove", [account1, account2](2 parámetros diferentes, ningún objeto).
Construí un contrato simple para emular su caso, lo implementé y escribí un pequeño script para probarlo . Después de llamar al punto de entrada de su elección, debe proporcionar 2 parámetros: 1- el campo en el que desea establecer el valor de unión con 2- sus parámetros (si los hay).
Avísame si tienes otras preguntas :)

1 RoxaneLétourneau Oct 24 2020 at 00:56

Creo que el error es que pasas los 2 parámetros (agregar y eliminar), pero solo debes pasar el elegido. Te sugiero que pruebes:{ add: [account1, account2] }