Info

Download ZIP (14.1 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

Comments

Multisignature wallet.

- New wallet;
- Gen request;
- View request;
- Add signature to request;
- Merge two requests;
- runvmctx tests;
Signature of "action" message is missing here. And its check before accept. Forgot about it.
My test messages <b 42 8 u, b> and <b 137 8 u, b> both have hash < 2^255, so my mistake with idict was hidden until now.
If your message is ignored you can add nanogram to amount to change hash :)
Or change idict to udict on:
multisig-contract.fc:59
multisig-contract.fc:69 (delete_get or update stdlib)
multisig-contract.fc:72
multisig-creator.fif:12
You have not added any comments yet...
by rating

Issues

Magic Python Nov 4, 2019 at 10:34
plus:
Very fast (0.038G for a transfer with n=16, k=10).

minus:
Not all features are implemented (get methods)
Sometimes transaction fails with exit_code=5. (it was a minor bug)
Signature do not include seqno. One could simply repeat a transaction.
No garbage collection.
10
Magic Python Oct 23, 2019 at 13:46
Can't create a wallet with n=16, k=10.
Nothing happens after sendfile.
Dashing Raccoon Oct 24, 2019 at 14:40
Can you provide more information, please?
Did you fill address with some initial grams?
Just created 16 10 sc instance for check:
```
runmethod kQDXsb6Le8LcKzvvekKMOEhzEhNrsLdtuIxs4DRO1Z7CHmJO max_keys
```
Magic Python Oct 24, 2019 at 15:02
Got it. multisig-contract.fif in your archive was outdated. I recompiled it from *.fc and it worked.
Dashing Raccoon Oct 24, 2019 at 19:17
It was in "tests" mode. Thank you for noticing.
Magic Python Oct 24, 2019 at 15:07
I tried to make a transaction. It fails during the compute phase with exit_code=5.

fift -s multisig-new-request.fif kQAMraCMxT4jPz4TiuNEN37TfxacH2dYCZFxA_2Htrk7BzNI 0 1 10 key{1..10}.pk

kQAMraCMxT4jPz4TiuNEN37TfxacH2dYCZFxA_2Htrk7BzNI
Dashing Raccoon Oct 24, 2019 at 21:04
Are you trying to send 0 grams to the same account?
Even though, your request signature worked on my instance of sc.. Just consumed some gas.

./multisig-new-request.fif kQBltqsQOoYRRt8cJgS4-YezbkvH68svMyliS84m998qcm3B 0 1 10 key{1..10}.pk

getaccount kQBltqsQOoYRRt8cJgS4-YezbkvH68svMyliS84m998qcm3B

Idn, maybe some environment issues?

UPD:
I tried this first-zero-self transaction on few fresh instances. And some of them leading to error (others still work). Looks like there is bug but i dont know where as for now.

UPD2:
Got it. My mistake was that I used idict 256 with hashes. (multisig-contract.fc:61)
So half of all hashes doesnt fit in it as unsigned 256 integers.
Unfortunatly my testing message had "good" hash. :)
Simple change messages_d to udict version fixes this problem.
Nobody added any issues yet...