This is a smart-contract for TON blockchain implementing basic multi-signature wallet.
Multi-signature wallet is a wallet managed by some number N of private keys (fixed at the moment of wallet creation). It accepts requests for money transfers (or any other internal message from this wallet), signed by any subset of those keys.
If a request was signed by M keys, where M > some number K (fixed at the moment of wallet creation as well), the corresponding message will be sent. Otherwise it will be stored as a pending request.
Owners of the wallet can add their signatures to pending requests at any moment.
Each request can optionally have expiry time set, so it will be void after that moment (even if missing signatures will arrive). Current implementation will keep it among pending requests until the next valid message will arrive.
For more details about usage of this smart contract, please refer to the included
README.md file.