El depósito se realizó, pero el contrato no se comportó como yo esperaba en la siguiente llamada. Nada dramático. El $DUSK había llegado, la transacción estaba ahí, sin embargo la parte útil de la interacción seguía esperando otro cambio de estado.

Eso hizo que dejara de tratar el depósito como el evento en sí.

Cuando DUSK pasa a un contrato inteligente, el valor está entrando en un tipo distinto de control. Ya no se limita a estar en una cuenta esperando a que el propietario lo mueva. El contrato puede poner ese valor a disposición de otra pieza de lógica, mantenerlo sujeto a una condición, o dejarlo intacto hasta que una transacción posterior cambie el estado.

La parte incómoda es que estos pasos pueden parecer casi idénticos si solo observas la transferencia. No lo son. El valor se movió. El estado del contrato cambió, o no. La ejecución consumió gas por separado. Un reintento puede costar más incluso cuando la posición subyacente de DUSK no ha cambiado.

Encuentro que esa distinción es más útil que simplemente decir que DUSK es programable. La prueba real es lo que ocurre después del depósito cuando varias llamadas a contratos empiezan a depender del mismo estado.

Ahí es donde seguiría mirando.

@Dusk_Foundation #dusk