Info
Pull request
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
Comments
Haste free multi-signature wallet. Main advantages: orders are signed without seqno in them, which means they can be confirmed and launched in any order. (When something more important come into attention, or some members are slow to confirm previous one).
Each step has user friendly explanation on whats exactly happening right now. (Like - you signing order X, which valid within next N hours, it was signed by those participants etc. etc)
Each step has user friendly explanation on whats exactly happening right now. (Like - you signing order X, which valid within next N hours, it was signed by those participants etc. etc)
There some examples on how to extend the contract. How to update public keys list online or change number of required signatures before operation is approved. But because of constrained time of contest, I hadn't chance to finish them. Feel free to contact me if you need that in your applications (my GitHub profile in the link).
Notice, that you cannot send same order twice. If you want to send same amount to same destination again, you should consider making different "expires" value. Because upon sending message to contract it becomes public, anyone could re-send full list of signatures again. But they wont be accepted.
Notice, that you cannot send same order twice. If you want to send same amount to same destination again, you should consider making different "expires" value. Because upon sending message to contract it becomes public, anyone could re-send full list of signatures again. But they wont be accepted.
Any order hash that being sent are stored in history vault, and every message is compared, if it's found in history. (Both pending and history orders are being cleared once they expired automatically, or you can execute clear_space with some grams in message)
Stay tuned for better user-friendly scripts and updates!
Stay tuned for better user-friendly scripts and updates!
While testing please notice, that seqno should be updated after each message being sent. Place valid seqno at enveloping step.
You have not added any comments yet...
by rating
Issues
Tried to send one order with 10 signatures (n = 16, k=10)
Failed with exit_code=100. Also, this transaction was repeated multiple times, so now the account is almost empty
kQDb1tRS_7oRg53A3wQPwmE2Gfc_AgpAGxULr6b6hZLIGf8_
Failed with exit_code=100. Also, this transaction was repeated multiple times, so now the account is almost empty
kQDb1tRS_7oRg53A3wQPwmE2Gfc_AgpAGxULr6b6hZLIGf8_
plus:
All required features are implemented.
It is possible to add a signature to order without modifying seqno.
minus:
Failed with exit_code=100.
Hash does not protect seqno.
The same signature repeated multiple times would be enough to execute an order.
accept_message() is called before any signature is verified.
The code is split into several files. This is fine, but in the current case, this makes it a bit hard to follow workflow.
For example, set_data is called multiple times during execution but this is hard to notice and there is no simple
way to fix it without refactoring
All required features are implemented.
It is possible to add a signature to order without modifying seqno.
minus:
Failed with exit_code=100.
Hash does not protect seqno.
The same signature repeated multiple times would be enough to execute an order.
accept_message() is called before any signature is verified.
The code is split into several files. This is fine, but in the current case, this makes it a bit hard to follow workflow.
For example, set_data is called multiple times during execution but this is hard to notice and there is no simple
way to fix it without refactoring
You accept the message before actually checking the signatures. Accepting message drains wallet funds for executing the code.
Nobody added any issues yet...