Info

Download ZIP (10.6 KB)

Testing and Issues

You can test this entry and submit issues during the testing period of the Blockchain Contest contest.

Entries with serious issues will not be able to win the contest, but even minor issues might be important for overall results.

Voting

33
by rating

Issues

Magic Python Oct 29, 2019 at 17:06
From README: "Disclaimer: this is incomplete task". Also, it looks very slow.
10
Magic Python Oct 16, 2019 at 12:09
accept_message() is called after ALL signatures are checked. It is very likely than it won't be enough gas_credit to handle messages with multiple signatures.
1
Partially signed orders dict (orders cache) uses in_msg hash as a key, however in_msg also contains seqno, which is incremented each time, so you will never hit a cache (hash will be always different, even if other data is the same).
Most of the key/signature search algorithms are O(N), which will consume tons of gas. Especially find_signature, which calls heavy check_signature on each iteration.
In worst case it could be even O(N^2) (see find_signature usage in the"do-until" loop).
valid_until for partially signed order can be overwritten by next external message
It counts votes twice. Should be ifnot, instead of if
Nobody added any issues yet...