Go to file
Armani Ferrante 7697d680a9
Add await
2021-12-21 10:40:57 -05:00
migrations Init repo 2021-03-10 09:58:46 -08:00
programs/multisig Add test case 2021-12-21 09:34:46 -05:00
tests Add await 2021-12-21 10:40:57 -05:00
.gitignore Init repo 2021-03-10 09:58:46 -08:00
.travis.yml Use anchor v0.18.2 (#29) 2021-12-08 13:36:17 -05:00
Anchor.toml Use anchor v0.18.2 (#29) 2021-12-08 13:36:17 -05:00
Cargo.lock Add threshold and unique owners checks (#30) 2021-12-15 20:09:02 -05:00
Cargo.toml Init repo 2021-03-10 09:58:46 -08:00
LICENSE Add LICENSE 2021-03-18 16:48:15 -07:00
README.md Add non-upgradeable verifiable deployment info (#21) 2021-09-17 23:34:04 -05:00

README.md

Multisig

An example of a multisig to execute arbitrary Solana transactions.

This program can be used to allow a multisig to govern anything a regular Pubkey can govern. One can use the multisig as a BPF program upgrade authority, a mint authority, etc.

To use, one must first create a Multisig account, specifying two important parameters:

  1. Owners - the set of addresses that sign transactions for the multisig.
  2. Threshold - the number of signers required to execute a transaction.

Once the Multisig account is created, one can create a Transaction account, specifying the parameters for a normal solana transaction.

To sign, owners should invoke the approve instruction, and finally, the execute_transaction, once enough (i.e. threhsold) of the owners have signed.

Note

  • This code is unaudited. Use at your own risk.

Non-Upgradeable mainnet-beta verifiable deployed versions

  • Tag 0.7.0 deployed at: msigmtwzgXJHj2ext4XJjCDmpbcMuufFb5cHuwg6Xdt

To verify: check out tag 0.7.0 and...

cd serum/multisig/programs/multisig
anchor verify msigmtwzgXJHj2ext4XJjCDmpbcMuufFb5cHuwg6Xdt`

Developing

Anchor is used for developoment, and it's recommended workflow is used here. To get started, see the guide.

Build

anchor build --verifiable

The --verifiable flag should be used before deploying so that your build artifacts can be deterministically generated with docker.

Test

anchor test

Verify

To verify the program deployed on Solana matches your local source code, install docker, cd programs/multisig, and run

anchor verify <program-id | write-buffer>

A list of build artifacts can be found under releases.