# Proposal and Committee

## Committee

The committee can modify tVision Network parameters, like transaction fees, block producing reward amount, etc. Committee is composed of the current 23 First Validtors. Every First Validtors has the right to start a proposal. A proposal will be effective when receiving at least 16 votes and will become valid in the next maintenance period.

## Proposal

Only First Validtors, Validated Partners and Validated Candidates can create a proposal.\
The network parameters can be modified(\[min, max]).\
{0,1}: 1 means 'allowed' or 'actived', 0 means no.

#### Note

**In Vision Network, 1 VS = 1\_000\_000 VDT, your paramters must be VDT as unit**\
**In Vision Network, 1s = 1\_000 ms, your paramters must be ms as unit**

| #   | Command                                                                                                                                                   | Value                                                                |
| --- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------- |
| #0  | <p>getMaintenanceTimeInterval<br>(Modify the maintenance interval of FVs)</p>                                                                             | <p>21600 s (6 h)<br>[81, 86400] s</p>                                |
| #1  | <p>getAccountUpgradeCost<br>(Modify the cost of applying for FV account)</p>                                                                              | <p>2000 VS<br>[0, 100_000_000_000] VS</p>                            |
| #2  | <p>getCreateAccountFee<br>(Modify the account creation fee)</p>                                                                                           | <p>0.1VS<br>[0, 100_000_000_000] VS</p>                              |
| #3  | <p>getTransactionFee<br>(Modify the fee of 1 PHOTON)</p>                                                                                                  | <p>10 VDT<br>[0, 100_000_000_000] VS</p>                             |
| #4  | <p>getAssetIssueFee<br>(Modify VRC10 asset issuance fee)</p>                                                                                              | <p>1024  VS<br>[0, 100_000_000_000] VS</p>                           |
| #5  | <p>getWitnessPayPerBlock<br>(Modify FV block generation reward)</p>                                                                                       | <p>0.144 VS<br>[0, 100_000_000_000] VS</p>                           |
| #7  | <p>getCreateNewAccountFeeInSystemContract<br>(Modify the cost of account creation)</p>                                                                    | <p>0 VS<br>[0, 100_000_000_000] VS</p>                               |
| #8  | <p>getCreateNewAccountPhotonRate<br>(Modify the Photon fee of new account creation)</p>                                                                   | <p>1 photon<br>[0, 100_000_000_000] VS</p>                           |
| #9  | <p>getAllowCreationOfContracts<br>(Allow activate the Vision Virtual Machine (VVM))</p>                                                                   | <p>1<br>{0, 1}</p>                                                   |
| #10 | <p>getRemoveThePowerOfTheGr<br>(Allow remove the GR Genesis votes)</p>                                                                                    | <p>0<br>{0, 1}</p>                                                   |
| #11 | <p>getEntropyFee<br>(Modify the fee of 1 entropy)</p>                                                                                                     | <p>5 VDT<br>[0, 100_000_000_000] VS</p>                              |
| #12 | <p>getExchangeCreateFee<br>(Modify the cost of trading pair creation)</p>                                                                                 | <p>1024 VS<br>[0, 100_000_000_000] VS</p>                            |
| #13 | <p>getMaxCpuTimeOfOneTx<br>(Modify the maximum execution time of one transaction)</p>                                                                     | <p>50 ms<br>[10, 1000] ms</p>                                        |
| #14 | <p>getAllowUpdateAccountName<br>(Allow to change the account name VRC10 )</p>                                                                             | <p>0<br>{0, 1}</p>                                                   |
| #15 | <p>getAllowSameTokenName<br>(Allow the same token name VRC10 )</p>                                                                                        | <p>0<br>{0, 1}</p>                                                   |
| #16 | <p>getAllowDelegateResource<br>(Allow resource delegation)</p>                                                                                            | <p>0<br>{0, 1}</p>                                                   |
| #17 | <p>getTotalEntropyLimit<br>(Modify total entropy limit)</p>                                                                                               | <p>3_000_000_000 entropy<br>[1, 100_000_000_000_000_000] entropy</p> |
| #18 | <p>getAllowVvmTransferVrc10<br>(Allow the VRC-10 token transfer in smart contracts)</p>                                                                   | <p>1<br>{0, 1}</p>                                                   |
| #19 | <p>getTotalEntropyCurrentLimit<br>(Modify current total entropy limit)</p>                                                                                | <p>3_000_000_000 entropy<br>[1, 100_000_000_000_000_000] entropy</p> |
| #20 | <p>getAllowMultiSign<br>(Allow the initiation of multi-signature)</p>                                                                                     | <p>1<br>{0, 1}</p>                                                   |
| #21 | <p>getAllowAdaptiveEntropy<br>(Allow adaptive adjustment for total entropy)</p>                                                                           | <p>1<br>{0, 1}</p>                                                   |
| #22 | <p>getUpdateAccountPermissionFee<br>(Modify the fee for updating account permission)</p>                                                                  | <p>100 VS<br>[0, 100_000] VS</p>                                     |
| #23 | <p>getMultiSignFee<br>(Modify the fee for multi-signature)</p>                                                                                            | <p>1 VS<br>[0, 100_000] VS</p>                                       |
| #24 | <p>getAllowProtoFilterNum<br>(Allow protocol optimization)</p>                                                                                            | <p>0<br>{0, 1}</p>                                                   |
| #25 | <p>getAllowAccountStateRoot<br>(Allow activate user's state )</p>                                                                                         | <p>0<br>{0, 1}</p>                                                   |
| #26 | <p>getAllowVvmConstantinople<br>(Support new commands of constantinople)</p>                                                                              | <p>1<br>{0, 1}</p>                                                   |
| #27 | <p>getAdaptiveResourceLimitMultiplier<br>(Modify the maximum of dynamic entropy, this value use for multi base value， link to #19)</p>                    | <p>1000<br>[1, 10000]</p>                                            |
| #28 | <p>getChangeDelegation<br>(Support the decentralized vote dividend)</p>                                                                                   | <p>1<br>{0, 1}</p>                                                   |
| #29 | <p>getWitness123PayPerBlock<br>(Modify the block voting rewards given to<br>the top 23 FVs and the following 100 partners))</p>                           | <p>1.2 VS<br>[0, 100_000_000_000] VS</p>                             |
| #30 | <p>getAllowVvmSolidity059<br>(Allow vvm support solidity compiler 0.5.9)</p>                                                                              | <p>1<br>{0, 1}</p>                                                   |
| #31 | <p>getAdaptiveResourceLimitTargetRatio<br>(Modify target Entropy limit )</p>                                                                              | <p>14400<br>[1, 1000]</p>                                            |
| #32 | <p>getForbidTransferToContract<br>(Prohibit the transfer of VS and VRC10 assets into smart contracts through TransferContract and )</p>                   | <p>1<br>{0, 1}</p>                                                   |
| #33 | <p>getAllowShieldedVRC20Transaction<br>(Activate VRC20 anonymous trading)</p>                                                                             | <p>1<br>{0, 1}</p>                                                   |
| #34 | <p>getAllowPBFT<br>(Allow use PBFT as consensus)</p>                                                                                                      | <p>0<br>{0, 1}</p>                                                   |
| #35 | <p>getAllowVvmIstanbul<br>(Support new commands of Istanbul)</p>                                                                                          | <p>1<br>{0, 1}</p>                                                   |
| #36 | <p>getAllowMarketTransaction<br>(activate market transaction)</p>                                                                                         | <p>0<br>{0, 1}</p>                                                   |
| #37 | <p>getMarketSellFee<br>(Activate Market Transaction Selling Fees, link to #36)</p>                                                                        | -                                                                    |
| #38 | <p>getMarketCancelFee<br><br>(Activate market transaction fee, link to #36)</p>                                                                           | -                                                                    |
| #39 | <p>getMaxFeeLimit<br>(Modify the upper limit of the smart contract fee)</p>                                                                               | <p>5_000 VS<br>[0, 10_000] VS</p>                                    |
| #40 | <p>getAllowTransactionFeePool<br>(Open transaction fee pool rewards)</p>                                                                                  | <p>1<br>{0, 1}</p>                                                   |
| #41 | <p>getAllowOptimizeBlackHole<br>(Allow optimize the block hole account, link to #34)</p>                                                                  | <p>1<br>{0, 1}</p>                                                   |
| #42 | <p>getSpreadMintPayPerBlock<br>(Modify the amount of spread mint rewards)</p>                                                                             | <p>0.256 VS<br>[0, 100] VS</p>                                       |
| #43 | <p>getEconomyCycle<br>(Modify Economy the amount of economic cycle maintenance cycles,)</p>                                                               | <p>120<br>[1, 500]</p>                                               |
| #44 | <p>getAllowSpreadMintLevelProp<br>(Enable spread mint)</p>                                                                                                | <p>1<br>{0, 1}</p>                                                   |
| #45 | <p>getSpreadMintLevelProp<br>(Modify the spread mint reward ratio for different level, need 4 parameter split with "," and total value should be 100)</p> | <p>80,10,8,2<br>[0, 100]</p>                                         |
| #46 | <p>getInflationRate<br>(Modify Inflation Rate, first as<br>equals or more than 60%; second as less than 60%; front &#x3C; end)</p>                        | <p>689, 2322<br>[0, 10000]</p>                                       |
| #47 | <p>getPledgeRateThreshold<br>(Modify the inflation ratio )</p>                                                                                            | <p>60<br>[0, 100]</p>                                                |
| #48 | <p>getFreezePeriodLimit<br>(Modify the SPREAD MINT unfreeze time limit, link to #44)</p>                                                                  | <p>1 day<br>[1, 30] days</p>                                         |
| #49 | <p>getAllowETHTransaction<br>(support ETH JSON RPC, so you can use eth wallet like metamask)</p>                                                          | <p>1<br>{0, 1}</p>                                                   |

### Create a Proposal

* Using HTTP API\
  [ProposalCreate](https://developers.v.network/reference/proposalcreate)
* Using wallet-cli:

```
createproposal id value  
id: the serial number (0 ~ 18)  
value: the parameter value  
```

### Vote for a Proposal

Proposal only support YES vote. Since the creation time of the proposal, the proposal is valid within 3 days. If the proposal does not receive enough YES votes within the period of validity, the proposal will be invalid beyond the period of validity. Yes vote can be cancelled.

* Using HTTP API\
  [voteProposal](https://developers.v.network/reference/voteproposal)
* Using wallet-cli:\
  Example (Using wallet-cli):

```
approveProposal id is_or_not_add_approval
id: proposal id  
is_or_not_add_approval: YES vote or cancel YES vote
```

### Cancel Proposal

Proposal creator can cancel the proposal before it is passed.

* HTTP api\
  [ProposalDelete](https://developers.v.network/reference/proposaldelete)
* Wallet-cli

```
deleteProposal id
id: proposal id
```

### Query Proposal

[List Proposals](https://developers.v.network/reference/listproposals) with Full Node HTTP API\
[List Proposals](https://developers.v.network/reference/listproposals-1) with VisionWeb API\
[Get Proposal by ID](https://developers.v.network/reference/getproposalbyid) Full Node HTTP API
