Info

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

44

Comments

Multi-signature wallet.

There are 5 Fift scripts and 1 script, written in FunC, for smart contract.

[new-wallet.fif] creates a BOC external message to create new wallet. Creates <n> private keys as well.
[new-order.fif] creates a BOC external message to the wallet to append new order for a transaction
[new-adder.fif] creates a BOC external message to the wallet to sign already existed sent order
[sign.fif] adds signature to a BOC external message (order or adder)
[info.fif] shows info of a BOC external message
External messages to smartcontract are divided into 3 groups:
[mode=0] first message of creation
[mode=1] creating new order (order request)
[mode=2] signing already sent orders (adder request)

Signing the order could be done in two ways:
1) One person creates a boc file of order request and asks others to sign it. When all signatures will be collected (or partially), boc file can be sent.
[!] While signing, seqno can be changed and request will not be accepted.

2) One person creates a boc file of order request and immidiatelly send it to the blockchain. Knowing the id of the order, he/she can ask others to push adder requests with their signatures to confirm the order.
[!] This method will use more gas.

~) As I wrote, order request could be sent even if not all signatures are collected. After that, adder request to add new signatures should be sent.
[tiny feature] Fift scripts are colourful!
You can check Colors.fif library, how I have done this.
2
Code is also available in GitHub: https://github.com/dkaraush/ton-multisig
You have not added any comments yet...
by rating

Issues

Magic Python Nov 4, 2019 at 10:40
plus:
Very fast (0.040G for a transfer with n=16, k=10)
accept_message() is called only after one signature was verified.

minus:
Not all features are implemented (merge signatures)
11
Nobody added any issues yet...