---
# System prepended metadata

title: libra txs community gov-init -

---


# community wallets

### bugs
- new comm wallet references to modules have changed
- `--finalize` warning is after the mnemonic is inputted
-  Number of sigs required for action (must be greater than 3-of-5) warning for adding a signer is wrong
-  migrated com wallets can send to any account - check on transfer for CommunityWallet struct
-  sending a normal transfer is done as a human readable libra value while community transfers are microlibras
-  Sending 2 payments of differing values to the same recipient from the same wallet. One goes through, the other stays scheduled.
-  vetos are able to be proposed on but are not able to to be voted on.
```
ERROR: veto vote rejected, message: Unknown error Transaction committed on chain, but failed execution: MoveAbort { location: 0000000000000000000000000000000000000000000000000000000000000001::donor_voice_governance, code: 65539, info: Some(AbortInfo { reason_name: "EDUPLICATE_PROPOSAL", description: "A proposal already exists with this data" }) }
```

## Tests
### Previous community wallet migration
- [ ] unmigrated community wallet should not be able to transfer funds from original auth key
- [ ] initialized a old com wallet
- [ ] intialized com wallet should not be able to transfer funds
- [ ] finalized a old com wallet
- [ ] added admin to old wallet for 2 epochs
- [ ] Send a transfer to a non slow wallet - SHOULD FAIL
- [ ] Send a transfer to a slow wallet
- [ ] veto a transfer(must be done by a depositor meaning you would need to create a new wallet, fund, veto an upcoming tx)

### New community wallet migration
- [ ] Initialized a new community wallet
- [ ] Add an admin
- [ ] Add an admin for a epoch period and they should automatically be removed
- [ ] Remove a admin
- [ ] Send a transfer to a non slow wallet - SHOULD FAIL
- [ ] Send a transfer to a slow wallet
- [ ] veto a transfer(must be done by a depositor meaning you would need to create a new wallet, fund, veto an upcoming tx)


### Initialize
```
libra txs community gov-init -a 0x058e4b7d6cf1b9cb2b865f76b17073d7da8c6a1b78ea51f33e451420232831d4  -a 0x6c9da5b7062a6dde3541d4a6ce4ffa77a8184075b4367b2c6b361c9b82ec6000 -a  0x8523f0429411055aacedf732a0db5a9651999fdf2a7e03bbca5025febfd0b695
```

### finalize 
```
libra txs community gov-init -a 0x058e4b7d6cf1b9cb2b865f76b17073d7da8c6a1b78ea51f33e451420232831d4  -a 0x6c9da5b7062a6dde3541d4a6ce4ffa77a8184075b4367b2c6b361c9b82ec6000 -a  0x8523f0429411055aacedf732a0db5a9651999fdf2a7e03bbca5025febfd0b695 --num-signers 2 --finalize
```

# Multisig transactions
Multi signature transactions happen when two of the signers send the same tx(I think). See propose signer tx that would be sent by two admins.

## propose signer
```
libra txs community gov-admin --community-wallet <COMMUNITY_WALLET> --admin <ADMIN> --n <N>
   ``` 
   ``` 
libra txs community gov-admin --community-wallet <COMMUNITY_WALLET> --admin <ADMIN> --n <N>
```
## Transfer 

```
libra txs community propose --community-wallet <COMMUNITY_WALLET> --recipient <RECIPIENT> --amount <AMOUNT> --description <DESCRIPTION>
```
```
libra txs community propose --community-wallet <COMMUNITY_WALLET> --recipient <RECIPIENT> --amount <AMOUNT> --description <DESCRIPTION>
```

## view 

```
libra query view --function-id 0x1::community_wallet_init::qualifies --args 0x2640CD6D652AC94DC5F0963DCC00BCC7
```

```
libra query view --function-id 0x1::community_wallet_init::get_community_wallet_authorities --args 0x2640CD6D652AC94DC5F0963DCC00BCC7
```

```
libra query resource --account 0x2640CD6D652AC94DC5F0963DCC00BCC7 --resource-path-string '0x1::donor_voice_governance::Governance<0x1::turnout_tally::TurnoutTally<0x1::donor_voice_governance::Veto>>'
```

```
libra query resource --account 0x2640CD6D652AC94DC5F0963DCC00BCC7 --resource-path-string 0x1::donor_voice_txs::TxSchedule
```


two path flows for gov-init

1. with -m flag
donor_voice::donor_voice_make_donor_voice_tx
make_multi_action
multi_action::init_gov
multi_action::init_type


2. without
community_wallet::init_community
donor_voice::make_donor_voice


