Skip to content

Conversation

@francescomiliani
Copy link

Fixes the infinite loop bug in calculating the value for the transfer sender when receiving the TransferOccured event produced as a result of a transfer.

In detail: during the transfer all listening clients receive and process the event, and only the involved parties will go to decrypt the value with secret x.

The bug consists of an infinite loop in the calculation of the value in the client of the sender of the transfer since the value to look for is negative, not positive, because it would never be found by blocking the application.

This bug is not apparent with Truffle since the statement in the client.js file.

event.returnValues['parties'] === null

returns in the sender client event.

In case the application is integrated into serious applications that listen for events and the clients are distributed son multiple machines, the problem becomes serious and very relevant.

Fixes the infinite loop bug in calculating the value for the transfer sender when receiving the TransferOccured event produced as a result of a transfer.

In detail: during the transfer all listening clients receive and process the event, and only the involved parties will go to decrypt the value with secret x.

The bug consists of an infinite loop in the calculation of the value in the client of the sender of the transfer since the value to look for is negative, not positive, because it would never be found by blocking the application.

This bug is not apparent with Truffle since the statement in the client.js file.

event.returnValues['parties'] === null

returns in the sender client event.

In case the application is integrated into serious applications that listen for events and the clients are distributed son multiple machines, the problem becomes serious and very relevant.

Solution: calculate the gB_neg that negative corresponding to - value, as well

Fix infinite ♾️ loop bug 🐛 in calculating value for transfer sender when receiving TransferOccured event
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant