[API Reference](../README.md) > [GenesisProtocolWrapper](../classes/GenesisProtocolWrapper.md)



# Class: GenesisProtocolWrapper

## Hierarchy


↳  [IntVoteInterfaceWrapper](IntVoteInterfaceWrapper.md)

**↳ GenesisProtocolWrapper**







## Implements

* [IContractWrapper](../interfaces/IContractWrapper.md)
* [IIntVoteInterface](../interfaces/IIntVoteInterface.md)
* [IUniversalSchemeWrapper](../interfaces/IUniversalSchemeWrapper.md)
* [IVotingMachineWrapper](../interfaces/IVotingMachineWrapper.md)

## Index

### Constructors

* [constructor](GenesisProtocolWrapper.md#constructor)


### Properties

* [CancelProposal](GenesisProtocolWrapper.md#CancelProposal)
* [CancelVoting](GenesisProtocolWrapper.md#CancelVoting)
* [ExecuteProposal](GenesisProtocolWrapper.md#ExecuteProposal)
* [GPExecuteProposal](GenesisProtocolWrapper.md#GPExecuteProposal)
* [NewProposal](GenesisProtocolWrapper.md#NewProposal)
* [Redeem](GenesisProtocolWrapper.md#Redeem)
* [RedeemDaoBounty](GenesisProtocolWrapper.md#RedeemDaoBounty)
* [RedeemReputation](GenesisProtocolWrapper.md#RedeemReputation)
* [Stake](GenesisProtocolWrapper.md#Stake)
* [VoteProposal](GenesisProtocolWrapper.md#VoteProposal)
* [contract](GenesisProtocolWrapper.md#contract)
* [factory](GenesisProtocolWrapper.md#factory)
* [friendlyName](GenesisProtocolWrapper.md#friendlyName)
* [name](GenesisProtocolWrapper.md#name)


### Accessors

* [ExecutedProposals](GenesisProtocolWrapper.md#ExecutedProposals)
* [VotableGenesisProtocolProposals](GenesisProtocolWrapper.md#VotableGenesisProtocolProposals)
* [VotableProposals](GenesisProtocolWrapper.md#VotableProposals)
* [address](GenesisProtocolWrapper.md#address)


### Methods

* [cancelProposal](GenesisProtocolWrapper.md#cancelProposal)
* [cancelVote](GenesisProtocolWrapper.md#cancelVote)
* [estimateGas](GenesisProtocolWrapper.md#estimateGas)
* [execute](GenesisProtocolWrapper.md#execute)
* [getAllowedRangeOfChoices](GenesisProtocolWrapper.md#getAllowedRangeOfChoices)
* [getBoostedProposalsCount](GenesisProtocolWrapper.md#getBoostedProposalsCount)
* [getCurrentVoteStatus](GenesisProtocolWrapper.md#getCurrentVoteStatus)
* [getDefaultPermissions](GenesisProtocolWrapper.md#getDefaultPermissions)
* [getNumberOfChoices](GenesisProtocolWrapper.md#getNumberOfChoices)
* [getParameters](GenesisProtocolWrapper.md#getParameters)
* [getParametersArray](GenesisProtocolWrapper.md#getParametersArray)
* [getParametersHash](GenesisProtocolWrapper.md#getParametersHash)
* [getProposal](GenesisProtocolWrapper.md#getProposal)
* [getProposalAvatar](GenesisProtocolWrapper.md#getProposalAvatar)
* [getProposalExecutionState](GenesisProtocolWrapper.md#getProposalExecutionState)
* [getProposalStatus](GenesisProtocolWrapper.md#getProposalStatus)
* [getSchemeParameters](GenesisProtocolWrapper.md#getSchemeParameters)
* [getSchemeParametersHash](GenesisProtocolWrapper.md#getSchemeParametersHash)
* [getSchemePermissions](GenesisProtocolWrapper.md#getSchemePermissions)
* [getScore](GenesisProtocolWrapper.md#getScore)
* [getScoreThresholdParams](GenesisProtocolWrapper.md#getScoreThresholdParams)
* [getStakerInfo](GenesisProtocolWrapper.md#getStakerInfo)
* [getStakingToken](GenesisProtocolWrapper.md#getStakingToken)
* [getStakingTokenAddress](GenesisProtocolWrapper.md#getStakingTokenAddress)
* [getState](GenesisProtocolWrapper.md#getState)
* [getThreshold](GenesisProtocolWrapper.md#getThreshold)
* [getTokenBalances](GenesisProtocolWrapper.md#getTokenBalances)
* [getVoteStatus](GenesisProtocolWrapper.md#getVoteStatus)
* [getVoterInfo](GenesisProtocolWrapper.md#getVoterInfo)
* [getWinningVote](GenesisProtocolWrapper.md#getWinningVote)
* [hydrateFromAt](GenesisProtocolWrapper.md#hydrateFromAt)
* [hydrateFromDeployed](GenesisProtocolWrapper.md#hydrateFromDeployed)
* [hydrateFromNew](GenesisProtocolWrapper.md#hydrateFromNew)
* [isAbstainAllow](GenesisProtocolWrapper.md#isAbstainAllow)
* [isVotable](GenesisProtocolWrapper.md#isVotable)
* [ownerVote](GenesisProtocolWrapper.md#ownerVote)
* [propose](GenesisProtocolWrapper.md#propose)
* [redeem](GenesisProtocolWrapper.md#redeem)
* [redeemDaoBounty](GenesisProtocolWrapper.md#redeemDaoBounty)
* [setParameters](GenesisProtocolWrapper.md#setParameters)
* [shouldBoost](GenesisProtocolWrapper.md#shouldBoost)
* [stake](GenesisProtocolWrapper.md#stake)
* [stakeWithApproval](GenesisProtocolWrapper.md#stakeWithApproval)
* [vote](GenesisProtocolWrapper.md#vote)
* [voteStatus](GenesisProtocolWrapper.md#voteStatus)
* [voteWithSpecifiedAmounts](GenesisProtocolWrapper.md#voteWithSpecifiedAmounts)



---
## Constructors
<a id="constructor"></a>


### ⊕ **new GenesisProtocolWrapper**(solidityContract: *`any`*, web3EventService: *[Web3EventService](Web3EventService.md)*): [GenesisProtocolWrapper](GenesisProtocolWrapper.md)


*Inherited from [ContractWrapperBase](ContractWrapperBase.md).[constructor](ContractWrapperBase.md#constructor)*

*Defined in [contractWrapperBase.ts:66](https://github.com/daostack/arc.js/blob/f343aa24/lib/contractWrapperBase.ts#L66)*



ContractWrapperFactory constructs this


**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| solidityContract | `any`   |  The json contract truffle artifact |
| web3EventService | [Web3EventService](Web3EventService.md)   |  - |





**Returns:** [GenesisProtocolWrapper](GenesisProtocolWrapper.md)

---


## Properties
<a id="CancelProposal"></a>

###  CancelProposal

**●  CancelProposal**:  *[EventFetcherFactory](../#EventFetcherFactory)[CancelProposalEventResult](../interfaces/CancelProposalEventResult.md)* 

*Implementation of [IIntVoteInterface](../interfaces/IIntVoteInterface.md).[CancelProposal](../interfaces/IIntVoteInterface.md#CancelProposal)*

*Inherited from [IntVoteInterfaceWrapper](IntVoteInterfaceWrapper.md).[CancelProposal](IntVoteInterfaceWrapper.md#CancelProposal)*

*Defined in [wrappers/intVoteInterface.ts:49](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/intVoteInterface.ts#L49)*



Get or watch events fired when a vote is cancelled. Note you won't get this from GenesisProtocol whose proposals and votes are not cancellable




___

<a id="CancelVoting"></a>

###  CancelVoting

**●  CancelVoting**:  *[EventFetcherFactory](../#EventFetcherFactory)[CancelVotingEventResult](../interfaces/CancelVotingEventResult.md)* 

*Implementation of [IIntVoteInterface](../interfaces/IIntVoteInterface.md).[CancelVoting](../interfaces/IIntVoteInterface.md#CancelVoting)*

*Inherited from [IntVoteInterfaceWrapper](IntVoteInterfaceWrapper.md).[CancelVoting](IntVoteInterfaceWrapper.md#CancelVoting)*

*Defined in [wrappers/intVoteInterface.ts:62](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/intVoteInterface.ts#L62)*



Get or watch events fired when a voter's vote is cancelled. Note you won't get this from GenesisProtocol whose proposals and votes are not cancellable




___

<a id="ExecuteProposal"></a>

###  ExecuteProposal

**●  ExecuteProposal**:  *[EventFetcherFactory](../#EventFetcherFactory)[ExecuteProposalEventResult](../interfaces/ExecuteProposalEventResult.md)* 

*Implementation of [IIntVoteInterface](../interfaces/IIntVoteInterface.md).[ExecuteProposal](../interfaces/IIntVoteInterface.md#ExecuteProposal)*

*Inherited from [IntVoteInterfaceWrapper](IntVoteInterfaceWrapper.md).[ExecuteProposal](IntVoteInterfaceWrapper.md#ExecuteProposal)*

*Defined in [wrappers/intVoteInterface.ts:53](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/intVoteInterface.ts#L53)*



Get or watch events fired when proposals have been executed




___

<a id="GPExecuteProposal"></a>

###  GPExecuteProposal

**●  GPExecuteProposal**:  *[EventFetcherFactory](../#EventFetcherFactory)[GPExecuteProposalEventResult](../interfaces/GPExecuteProposalEventResult.md)* 

*Defined in [wrappers/genesisProtocol.ts:55](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L55)*



Events




___

<a id="NewProposal"></a>

###  NewProposal

**●  NewProposal**:  *[EventFetcherFactory](../#EventFetcherFactory)[NewProposalEventResult](../interfaces/NewProposalEventResult.md)* 

*Implementation of [IIntVoteInterface](../interfaces/IIntVoteInterface.md).[NewProposal](../interfaces/IIntVoteInterface.md#NewProposal)*

*Inherited from [IntVoteInterfaceWrapper](IntVoteInterfaceWrapper.md).[NewProposal](IntVoteInterfaceWrapper.md#NewProposal)*

*Defined in [wrappers/intVoteInterface.ts:44](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/intVoteInterface.ts#L44)*



Get or watch events fired on the creation of a new proposal.




___

<a id="Redeem"></a>

###  Redeem

**●  Redeem**:  *[EventFetcherFactory](../#EventFetcherFactory)[RedeemEventResult](../interfaces/RedeemEventResult.md)* 

*Defined in [wrappers/genesisProtocol.ts:57](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L57)*





___

<a id="RedeemDaoBounty"></a>

###  RedeemDaoBounty

**●  RedeemDaoBounty**:  *[EventFetcherFactory](../#EventFetcherFactory)[RedeemEventResult](../interfaces/RedeemEventResult.md)* 

*Defined in [wrappers/genesisProtocol.ts:59](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L59)*





___

<a id="RedeemReputation"></a>

###  RedeemReputation

**●  RedeemReputation**:  *[EventFetcherFactory](../#EventFetcherFactory)[RedeemEventResult](../interfaces/RedeemEventResult.md)* 

*Defined in [wrappers/genesisProtocol.ts:58](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L58)*





___

<a id="Stake"></a>

###  Stake

**●  Stake**:  *[EventFetcherFactory](../#EventFetcherFactory)[StakeEventResult](../interfaces/StakeEventResult.md)* 

*Defined in [wrappers/genesisProtocol.ts:56](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L56)*





___

<a id="VoteProposal"></a>

###  VoteProposal

**●  VoteProposal**:  *[EventFetcherFactory](../#EventFetcherFactory)[VoteProposalEventResult](../interfaces/VoteProposalEventResult.md)* 

*Implementation of [IIntVoteInterface](../interfaces/IIntVoteInterface.md).[VoteProposal](../interfaces/IIntVoteInterface.md#VoteProposal)*

*Inherited from [IntVoteInterfaceWrapper](IntVoteInterfaceWrapper.md).[VoteProposal](IntVoteInterfaceWrapper.md#VoteProposal)*

*Defined in [wrappers/intVoteInterface.ts:57](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/intVoteInterface.ts#L57)*



Get or watch events fired whenever votes are cast on a proposal




___

<a id="contract"></a>

###  contract

**●  contract**:  *`any`* 

*Implementation of [IVotingMachineWrapper](../interfaces/IVotingMachineWrapper.md).[contract](../interfaces/IVotingMachineWrapper.md#contract)*

*Inherited from [ContractWrapperBase](ContractWrapperBase.md).[contract](ContractWrapperBase.md#contract)*

*Defined in [contractWrapperBase.ts:66](https://github.com/daostack/arc.js/blob/f343aa24/lib/contractWrapperBase.ts#L66)*



The underlying truffle contract object. Use this to access parts of the contract that aren't accessible via the wrapper.




___

<a id="factory"></a>

###  factory

**●  factory**:  *[IContractWrapperFactory](../interfaces/IContractWrapperFactory.md)[GenesisProtocolWrapper](GenesisProtocolWrapper.md)*  =  GenesisProtocolFactory

*Implementation of [IVotingMachineWrapper](../interfaces/IVotingMachineWrapper.md).[factory](../interfaces/IVotingMachineWrapper.md#factory)*

*Overrides [IntVoteInterfaceWrapper](IntVoteInterfaceWrapper.md).[factory](IntVoteInterfaceWrapper.md#factory)*

*Defined in [wrappers/genesisProtocol.ts:49](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L49)*





___

<a id="friendlyName"></a>

###  friendlyName

**●  friendlyName**:  *`string`*  = "Genesis Protocol"

*Implementation of [IVotingMachineWrapper](../interfaces/IVotingMachineWrapper.md).[friendlyName](../interfaces/IVotingMachineWrapper.md#friendlyName)*

*Overrides [IntVoteInterfaceWrapper](IntVoteInterfaceWrapper.md).[friendlyName](IntVoteInterfaceWrapper.md#friendlyName)*

*Defined in [wrappers/genesisProtocol.ts:48](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L48)*





___

<a id="name"></a>

###  name

**●  name**:  *`string`*  = "GenesisProtocol"

*Implementation of [IVotingMachineWrapper](../interfaces/IVotingMachineWrapper.md).[name](../interfaces/IVotingMachineWrapper.md#name)*

*Overrides [IntVoteInterfaceWrapper](IntVoteInterfaceWrapper.md).[name](IntVoteInterfaceWrapper.md#name)*

*Defined in [wrappers/genesisProtocol.ts:47](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L47)*





___


## Accessors
<a id="ExecutedProposals"></a>

###  ExecutedProposals


getExecutedProposals(): [EntityFetcherFactory](../#EntityFetcherFactory)[ExecutedGenesisProposal](../interfaces/ExecutedGenesisProposal.md), [ExecuteProposalEventResult](../interfaces/ExecuteProposalEventResult.md)

*Defined in [wrappers/genesisProtocol.ts:662](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L662)*



EntityFetcherFactory for executed ExecutedGenesisProposal. The Arc GenesisProtocol contract retains the original proposal struct after execution.




**Returns:** [EntityFetcherFactory](../#EntityFetcherFactory)[ExecutedGenesisProposal](../interfaces/ExecutedGenesisProposal.md), [ExecuteProposalEventResult](../interfaces/ExecuteProposalEventResult.md)



___

<a id="VotableGenesisProtocolProposals"></a>

###  VotableGenesisProtocolProposals


getVotableGenesisProtocolProposals(): [EntityFetcherFactory](../#EntityFetcherFactory)[GenesisProtocolProposal](../interfaces/GenesisProtocolProposal.md), [NewProposalEventResult](../interfaces/NewProposalEventResult.md)

*Defined in [wrappers/genesisProtocol.ts:625](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L625)*



EntityFetcherFactory for votable GenesisProtocolProposal.




**Returns:** [EntityFetcherFactory](../#EntityFetcherFactory)[GenesisProtocolProposal](../interfaces/GenesisProtocolProposal.md), [NewProposalEventResult](../interfaces/NewProposalEventResult.md)



___

<a id="VotableProposals"></a>

###  VotableProposals


getVotableProposals(): [EventFetcherFactory](../#EventFetcherFactory)[NewProposalEventResult](../interfaces/NewProposalEventResult.md)

*Inherited from [IntVoteInterfaceWrapper](IntVoteInterfaceWrapper.md).[VotableProposals](IntVoteInterfaceWrapper.md#VotableProposals)*

*Defined in [wrappers/intVoteInterface.ts:67](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/intVoteInterface.ts#L67)*



Get or watch NewProposal events, filtering out proposals that are no longer votable.




**Returns:** [EventFetcherFactory](../#EventFetcherFactory)[NewProposalEventResult](../interfaces/NewProposalEventResult.md)



___

<a id="address"></a>

###  address


getaddress(): [Address](../#Address)

*Inherited from [ContractWrapperBase](ContractWrapperBase.md).[address](ContractWrapperBase.md#address)*

*Defined in [contractWrapperBase.ts:61](https://github.com/daostack/arc.js/blob/f343aa24/lib/contractWrapperBase.ts#L61)*



The address of the contract




**Returns:** [Address](../#Address)



___


## Methods
<a id="cancelProposal"></a>

###  cancelProposal

► **cancelProposal**(options: *[ProposalIdOption](../interfaces/ProposalIdOption.md)*): `Promise`.<[ArcTransactionResult](ArcTransactionResult.md)>



*Overrides [IntVoteInterfaceWrapper](IntVoteInterfaceWrapper.md).[cancelProposal](IntVoteInterfaceWrapper.md#cancelProposal)*

*Defined in [wrappers/genesisProtocol.ts:645](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L645)*



Cancel the given proposal


**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| options | [ProposalIdOption](../interfaces/ProposalIdOption.md)   |  - |





**Returns:** `Promise`.<[ArcTransactionResult](ArcTransactionResult.md)>





___

<a id="cancelVote"></a>

###  cancelVote

► **cancelVote**(options: *[ProposalIdOption](../interfaces/ProposalIdOption.md)*): `Promise`.<[ArcTransactionResult](ArcTransactionResult.md)>



*Overrides [IntVoteInterfaceWrapper](IntVoteInterfaceWrapper.md).[cancelVote](IntVoteInterfaceWrapper.md#cancelVote)*

*Defined in [wrappers/genesisProtocol.ts:653](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L653)*



**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| options | [ProposalIdOption](../interfaces/ProposalIdOption.md)   |  - |





**Returns:** `Promise`.<[ArcTransactionResult](ArcTransactionResult.md)>





___

<a id="estimateGas"></a>

###  estimateGas

► **estimateGas**(func: *[ITruffleContractFunction](../interfaces/ITruffleContractFunction.md)*, params: *`Array`.<`any`>*, web3Params?: *`any`*): `Promise`.<`number`>



*Inherited from [ContractWrapperBase](ContractWrapperBase.md).[estimateGas](ContractWrapperBase.md#estimateGas)*

*Defined in [contractWrapperBase.ts:168](https://github.com/daostack/arc.js/blob/f343aa24/lib/contractWrapperBase.ts#L168)*



Estimate conservatively the amount of gas required to execute the given function with the given parameters. Adds 21000 to the estimate computed by web3.


**Parameters:**

| Param | Type | Default value | Description |
| ------ | ------ | ------ | ------ |
| func | [ITruffleContractFunction](../interfaces/ITruffleContractFunction.md)  | - |   The function |
| params | `Array`.<`any`>  | - |   The parameters to send to the function |
| web3Params | `any`  |  {} |   The web3 parameters (like "from", for example). If it contains "gas"then that value is returned, effectively a no-op. |





**Returns:** `Promise`.<`number`>





___

<a id="execute"></a>

###  execute

► **execute**(options: *[ProposalIdOption](../interfaces/ProposalIdOption.md)`TxGeneratingFunctionOptions`*): `Promise`.<[ArcTransactionResult](ArcTransactionResult.md)>



*Implementation of [IIntVoteInterface](../interfaces/IIntVoteInterface.md).[execute](../interfaces/IIntVoteInterface.md#execute)*

*Overrides [IntVoteInterfaceWrapper](IntVoteInterfaceWrapper.md).[execute](IntVoteInterfaceWrapper.md#execute)*

*Defined in [wrappers/genesisProtocol.ts:909](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L909)*



**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| options | [ProposalIdOption](../interfaces/ProposalIdOption.md)`TxGeneratingFunctionOptions`   |  - |





**Returns:** `Promise`.<[ArcTransactionResult](ArcTransactionResult.md)>





___

<a id="getAllowedRangeOfChoices"></a>

###  getAllowedRangeOfChoices

► **getAllowedRangeOfChoices**(): `Promise`.<[GetAllowedRangeOfChoicesResult](../interfaces/GetAllowedRangeOfChoicesResult.md)>



*Inherited from [IntVoteInterfaceWrapper](IntVoteInterfaceWrapper.md).[getAllowedRangeOfChoices](IntVoteInterfaceWrapper.md#getAllowedRangeOfChoices)*

*Defined in [wrappers/intVoteInterface.ts:343](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/intVoteInterface.ts#L343)*



Returns promise of the allowed range of choices for a voting machine.




**Returns:** `Promise`.<[GetAllowedRangeOfChoicesResult](../interfaces/GetAllowedRangeOfChoicesResult.md)>





___

<a id="getBoostedProposalsCount"></a>

###  getBoostedProposalsCount

► **getBoostedProposalsCount**(avatar: *[Address](../#Address)*): `Promise`.<`BigNumber`>



*Defined in [wrappers/genesisProtocol.ts:361](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L361)*



Returns a promise of the number of boosted proposals, not including those that have expired but have not yet been executed to update their status.


**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| avatar | [Address](../#Address)   |  - |





**Returns:** `Promise`.<`BigNumber`>





___

<a id="getCurrentVoteStatus"></a>

###  getCurrentVoteStatus

► **getCurrentVoteStatus**(proposalId: *[Address](../#Address)*): `Promise`.<`Array`.<`BigNumber`>>



*Inherited from [IntVoteInterfaceWrapper](IntVoteInterfaceWrapper.md).[getCurrentVoteStatus](IntVoteInterfaceWrapper.md#getCurrentVoteStatus)*

*Defined in [wrappers/intVoteInterface.ts:320](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/intVoteInterface.ts#L320)*



Return an array of the current counts of each vote choice on the proposal. For straight Abstain, Yes and No votes you can use the values of the `BinaryVoteResult` enum to dereference the array. The Abstain vote (in the zeroeth position) is always given even if the voting machine does not allow abstentions.


**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| proposalId | [Address](../#Address)   |  - |





**Returns:** `Promise`.<`Array`.<`BigNumber`>>





___

<a id="getDefaultPermissions"></a>

###  getDefaultPermissions

► **getDefaultPermissions**(): [SchemePermissions](../enums/SchemePermissions.md)



*Implementation of [IUniversalSchemeWrapper](../interfaces/IUniversalSchemeWrapper.md).[getDefaultPermissions](../interfaces/IUniversalSchemeWrapper.md#getDefaultPermissions)*

*Defined in [wrappers/genesisProtocol.ts:838](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L838)*





**Returns:** [SchemePermissions](../enums/SchemePermissions.md)





___

<a id="getNumberOfChoices"></a>

###  getNumberOfChoices

► **getNumberOfChoices**(options?: *[GetNumberOfChoicesConfig](../interfaces/GetNumberOfChoicesConfig.md)*): `Promise`.<`number`>



*Overrides [IntVoteInterfaceWrapper](IntVoteInterfaceWrapper.md).[getNumberOfChoices](IntVoteInterfaceWrapper.md#getNumberOfChoices)*

*Defined in [wrappers/genesisProtocol.ts:410](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L410)*



Return the number of possible choices when voting for the proposal.


**Parameters:**

| Param | Type | Default value | Description |
| ------ | ------ | ------ | ------ |
| options | [GetNumberOfChoicesConfig](../interfaces/GetNumberOfChoicesConfig.md)  |  {} as GetNumberOfChoicesConfig |   - |





**Returns:** `Promise`.<`number`>
Promise<number>






___

<a id="getParameters"></a>

###  getParameters

► **getParameters**(paramsHash: *[Hash](../#Hash)*): `Promise`.<[GetGenesisProtocolParamsResult](../interfaces/GetGenesisProtocolParamsResult.md)>



*Implementation of [IVotingMachineWrapper](../interfaces/IVotingMachineWrapper.md).[getParameters](../interfaces/IVotingMachineWrapper.md#getParameters)*

*Overrides [ContractWrapperBase](ContractWrapperBase.md).[getParameters](ContractWrapperBase.md#getParameters)*

*Defined in [wrappers/genesisProtocol.ts:850](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L850)*



**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| paramsHash | [Hash](../#Hash)   |  - |





**Returns:** `Promise`.<[GetGenesisProtocolParamsResult](../interfaces/GetGenesisProtocolParamsResult.md)>





___

<a id="getParametersArray"></a>

###  getParametersArray

► **getParametersArray**(paramsHash: *[Hash](../#Hash)*): `Promise`.<`Array`.<`any`>>



*Implementation of [IVotingMachineWrapper](../interfaces/IVotingMachineWrapper.md).[getParametersArray](../interfaces/IVotingMachineWrapper.md#getParametersArray)*

*Inherited from [ContractWrapperBase](ContractWrapperBase.md).[getParametersArray](ContractWrapperBase.md#getParametersArray)*

*Defined in [contractWrapperBase.ts:155](https://github.com/daostack/arc.js/blob/f343aa24/lib/contractWrapperBase.ts#L155)*



Given a hash, returns the associated parameters as an array, ordered by the order in which the parameters appear in the contract's Parameters struct.


**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| paramsHash | [Hash](../#Hash)   |  - |





**Returns:** `Promise`.<`Array`.<`any`>>





___

<a id="getParametersHash"></a>

###  getParametersHash

► **getParametersHash**(params: *[GenesisProtocolParams](../interfaces/GenesisProtocolParams.md)*): `Promise`.<[Hash](../#Hash)>



*Defined in [wrappers/genesisProtocol.ts:699](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L699)*



**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| params | [GenesisProtocolParams](../interfaces/GenesisProtocolParams.md)   |  - |





**Returns:** `Promise`.<[Hash](../#Hash)>





___

<a id="getProposal"></a>

###  getProposal

► **getProposal**(proposalId: *[Hash](../#Hash)*): `Promise`.<[GenesisProtocolProposal](../interfaces/GenesisProtocolProposal.md)>



*Defined in [wrappers/genesisProtocol.ts:694](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L694)*



Returns promise of a `GenesisProtocolProposal` for the given proposal id.


**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| proposalId | [Hash](../#Hash)   |  - |





**Returns:** `Promise`.<[GenesisProtocolProposal](../interfaces/GenesisProtocolProposal.md)>





___

<a id="getProposalAvatar"></a>

###  getProposalAvatar

► **getProposalAvatar**(options?: *[GetProposalAvatarConfig](../interfaces/GetProposalAvatarConfig.md)*): `Promise`.<`string`>



*Defined in [wrappers/genesisProtocol.ts:517](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L517)*



Return the DAO avatar address under which the proposal was made


**Parameters:**

| Param | Type | Default value | Description |
| ------ | ------ | ------ | ------ |
| options | [GetProposalAvatarConfig](../interfaces/GetProposalAvatarConfig.md)  |  {} as GetProposalAvatarConfig |   - |





**Returns:** `Promise`.<`string`>
Promise<string>






___

<a id="getProposalExecutionState"></a>

###  getProposalExecutionState

► **getProposalExecutionState**(proposalId: *[Hash](../#Hash)*): `Promise`.<[ExecutionState](../enums/ExecutionState.md)>



*Defined in [wrappers/genesisProtocol.ts:683](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L683)*



Returns a promise of the execution state of the given proposal. The result is ExecutionState.None if the proposal has not been executed or is not found.


**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| proposalId | [Hash](../#Hash)   |  - |





**Returns:** `Promise`.<[ExecutionState](../enums/ExecutionState.md)>





___

<a id="getProposalStatus"></a>

###  getProposalStatus

► **getProposalStatus**(options?: *[GetProposalStatusConfig](../interfaces/GetProposalStatusConfig.md)*): `Promise`.<[GetProposalStatusResult](../interfaces/GetProposalStatusResult.md)>



*Defined in [wrappers/genesisProtocol.ts:488](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L488)*



Return the preBoosted votes, amount staked per vote, total staked and total staked net voters' take for a given proposal


**Parameters:**

| Param | Type | Default value | Description |
| ------ | ------ | ------ | ------ |
| options | [GetProposalStatusConfig](../interfaces/GetProposalStatusConfig.md)  |  {} as GetProposalStatusConfig |   - |





**Returns:** `Promise`.<[GetProposalStatusResult](../interfaces/GetProposalStatusResult.md)>
Promise<GetProposalStatusResult>






___

<a id="getSchemeParameters"></a>

###  getSchemeParameters

► **getSchemeParameters**(avatarAddress: *[Address](../#Address)*): `Promise`.<[GenesisProtocolParams](../interfaces/GenesisProtocolParams.md)>



*Implementation of [IUniversalSchemeWrapper](../interfaces/IUniversalSchemeWrapper.md).[getSchemeParameters](../interfaces/IUniversalSchemeWrapper.md#getSchemeParameters)*

*Defined in [wrappers/genesisProtocol.ts:846](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L846)*



**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| avatarAddress | [Address](../#Address)   |  - |





**Returns:** `Promise`.<[GenesisProtocolParams](../interfaces/GenesisProtocolParams.md)>





___

<a id="getSchemeParametersHash"></a>

###  getSchemeParametersHash

► **getSchemeParametersHash**(avatarAddress: *[Address](../#Address)*): `Promise`.<[Hash](../#Hash)>



*Inherited from [ContractWrapperBase](ContractWrapperBase.md).[getSchemeParametersHash](ContractWrapperBase.md#getSchemeParametersHash)*

*Defined in [contractWrapperBase.ts:144](https://github.com/daostack/arc.js/blob/f343aa24/lib/contractWrapperBase.ts#L144)*



Given an avatar address, returns the schemes parameters hash


**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| avatarAddress | [Address](../#Address)   |  - |





**Returns:** `Promise`.<[Hash](../#Hash)>





___

<a id="getSchemePermissions"></a>

###  getSchemePermissions

► **getSchemePermissions**(avatarAddress: *[Address](../#Address)*): `Promise`.<[SchemePermissions](../enums/SchemePermissions.md)>



*Implementation of [IUniversalSchemeWrapper](../interfaces/IUniversalSchemeWrapper.md).[getSchemePermissions](../interfaces/IUniversalSchemeWrapper.md#getSchemePermissions)*

*Defined in [wrappers/genesisProtocol.ts:842](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L842)*



**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| avatarAddress | [Address](../#Address)   |  - |





**Returns:** `Promise`.<[SchemePermissions](../enums/SchemePermissions.md)>





___

<a id="getScore"></a>

###  getScore

► **getScore**(options?: *[GetScoreConfig](../interfaces/GetScoreConfig.md)*): `Promise`.<`BigNumber`>



*Defined in [wrappers/genesisProtocol.ts:326](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L326)*



Return the current proposal score.


**Parameters:**

| Param | Type | Default value | Description |
| ------ | ------ | ------ | ------ |
| options | [GetScoreConfig](../interfaces/GetScoreConfig.md)  |  {} as GetScoreConfig |   - |





**Returns:** `Promise`.<`BigNumber`>
Promise<BigNumber>






___

<a id="getScoreThresholdParams"></a>

###  getScoreThresholdParams

► **getScoreThresholdParams**(options?: *[GetScoreThresholdParamsConfig](../interfaces/GetScoreThresholdParamsConfig.md)*): `Promise`.<[GetScoreThresholdParamsResult](../interfaces/GetScoreThresholdParamsResult.md)>



*Defined in [wrappers/genesisProtocol.ts:535](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L535)*



Return the score threshold params for the given DAO.


**Parameters:**

| Param | Type | Default value | Description |
| ------ | ------ | ------ | ------ |
| options | [GetScoreThresholdParamsConfig](../interfaces/GetScoreThresholdParamsConfig.md)  |  {} as GetScoreThresholdParamsConfig |   - |





**Returns:** `Promise`.<[GetScoreThresholdParamsResult](../interfaces/GetScoreThresholdParamsResult.md)>
Promise<GetScoreThresholdParamsResult>






___

<a id="getStakerInfo"></a>

###  getStakerInfo

► **getStakerInfo**(options?: *[GetStakerInfoConfig](../interfaces/GetStakerInfoConfig.md)*): `Promise`.<[GetStakerInfoResult](../interfaces/GetStakerInfoResult.md)>



*Defined in [wrappers/genesisProtocol.ts:558](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L558)*



Return the vote and stake amount for a given proposal and staker.


**Parameters:**

| Param | Type | Default value | Description |
| ------ | ------ | ------ | ------ |
| options | [GetStakerInfoConfig](../interfaces/GetStakerInfoConfig.md)  |  {} as GetStakerInfoConfig |   - |





**Returns:** `Promise`.<[GetStakerInfoResult](../interfaces/GetStakerInfoResult.md)>
Promise<GetStakerInfoResult>






___

<a id="getStakingToken"></a>

###  getStakingToken

► **getStakingToken**(): `Promise`.<[StandardTokenWrapper](StandardTokenWrapper.md)>



*Defined in [wrappers/genesisProtocol.ts:874](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L874)*



Returns promise of the staking token as StandardTokenWrapper.




**Returns:** `Promise`.<[StandardTokenWrapper](StandardTokenWrapper.md)>
Promise<StandardTokenWrapper>






___

<a id="getStakingTokenAddress"></a>

###  getStakingTokenAddress

► **getStakingTokenAddress**(): `Promise`.<[Address](../#Address)>



*Defined in [wrappers/genesisProtocol.ts:884](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L884)*



Returns promise of the staking token address.




**Returns:** `Promise`.<[Address](../#Address)>
Promise<Address>






___

<a id="getState"></a>

###  getState

► **getState**(options?: *[GetStateConfig](../interfaces/GetStateConfig.md)*): `Promise`.<[ProposalState](../enums/ProposalState.md)>



*Defined in [wrappers/genesisProtocol.ts:608](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L608)*



Return the current state of a given proposal.


**Parameters:**

| Param | Type | Default value | Description |
| ------ | ------ | ------ | ------ |
| options | [GetStateConfig](../interfaces/GetStateConfig.md)  |  {} as GetStateConfig |   - |





**Returns:** `Promise`.<[ProposalState](../enums/ProposalState.md)>
Promise<number>






___

<a id="getThreshold"></a>

###  getThreshold

► **getThreshold**(options?: *[GetThresholdConfig](../interfaces/GetThresholdConfig.md)*): `Promise`.<`BigNumber`>



*Defined in [wrappers/genesisProtocol.ts:344](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L344)*



Return the threshold that is required by a proposal to it shift it into boosted state. The computation depends on the current number of boosted proposals in the DAO as well as the GenesisProtocol parameters thresholdConstA and thresholdConstB.


**Parameters:**

| Param | Type | Default value | Description |
| ------ | ------ | ------ | ------ |
| options | [GetThresholdConfig](../interfaces/GetThresholdConfig.md)  |  {} as GetThresholdConfig |   - |





**Returns:** `Promise`.<`BigNumber`>





___

<a id="getTokenBalances"></a>

###  getTokenBalances

► **getTokenBalances**(options?: *[GetTokenBalancesOptions](../interfaces/GetTokenBalancesOptions.md)*): `Promise`.<[GenesisProtocolDaoTokenBalances](../interfaces/GenesisProtocolDaoTokenBalances.md)>



*Defined in [wrappers/genesisProtocol.ts:379](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L379)*



Return the current balances on this GenesisProtocol's staking and the given avatar's native tokens. This can be useful, for example, if you want to know in advance whether the avatar has enough funds at the moment to payout rewards to stakers and voters. It also returns the respective tokens' truffle contracts.


**Parameters:**

| Param | Type | Default value | Description |
| ------ | ------ | ------ | ------ |
| options | [GetTokenBalancesOptions](../interfaces/GetTokenBalancesOptions.md)  |  {} as GetTokenBalancesOptions |   - |





**Returns:** `Promise`.<[GenesisProtocolDaoTokenBalances](../interfaces/GenesisProtocolDaoTokenBalances.md)>





___

<a id="getVoteStatus"></a>

###  getVoteStatus

► **getVoteStatus**(options?: *[GetVoteStatusConfig](../interfaces/GetVoteStatusConfig.md)*): `Promise`.<`BigNumber`>



*Defined in [wrappers/genesisProtocol.ts:462](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L462)*



Returns the reputation currently voted on the given choice.


**Parameters:**

| Param | Type | Default value | Description |
| ------ | ------ | ------ | ------ |
| options | [GetVoteStatusConfig](../interfaces/GetVoteStatusConfig.md)  |  {} as GetVoteStatusConfig |   - |





**Returns:** `Promise`.<`BigNumber`>
Promise<BigNumber>






___

<a id="getVoterInfo"></a>

###  getVoterInfo

► **getVoterInfo**(options?: *[GetVoterInfoConfig](../interfaces/GetVoterInfoConfig.md)*): `Promise`.<[GetVoterInfoResult](../interfaces/GetVoterInfoResult.md)>



*Defined in [wrappers/genesisProtocol.ts:432](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L432)*



Return the vote and the amount of reputation of the voter committed to this proposal


**Parameters:**

| Param | Type | Default value | Description |
| ------ | ------ | ------ | ------ |
| options | [GetVoterInfoConfig](../interfaces/GetVoterInfoConfig.md)  |  {} as GetVoterInfoConfig |   - |





**Returns:** `Promise`.<[GetVoterInfoResult](../interfaces/GetVoterInfoResult.md)>
Promise<GetVoterInfoResult>






___

<a id="getWinningVote"></a>

###  getWinningVote

► **getWinningVote**(options?: *[GetWinningVoteConfig](../interfaces/GetWinningVoteConfig.md)*): `Promise`.<`number`>



*Defined in [wrappers/genesisProtocol.ts:588](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L588)*



Return the winningVote for a given proposal.


**Parameters:**

| Param | Type | Default value | Description |
| ------ | ------ | ------ | ------ |
| options | [GetWinningVoteConfig](../interfaces/GetWinningVoteConfig.md)  |  {} as GetWinningVoteConfig |   - |





**Returns:** `Promise`.<`number`>
Promise<number>






___

<a id="hydrateFromAt"></a>

###  hydrateFromAt

► **hydrateFromAt**(address: *`string`*): `Promise`.<[IContractWrapper](../interfaces/IContractWrapper.md)>



*Implementation of [IVotingMachineWrapper](../interfaces/IVotingMachineWrapper.md).[hydrateFromAt](../interfaces/IVotingMachineWrapper.md#hydrateFromAt)*

*Inherited from [ContractWrapperBase](ContractWrapperBase.md).[hydrateFromAt](ContractWrapperBase.md#hydrateFromAt)*

*Defined in [contractWrapperBase.ts:100](https://github.com/daostack/arc.js/blob/f343aa24/lib/contractWrapperBase.ts#L100)*



Initialize from a given address on the current network.


**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| address | `string`   |  of the deployed contract |





**Returns:** `Promise`.<[IContractWrapper](../interfaces/IContractWrapper.md)>
this or undefined if not found






___

<a id="hydrateFromDeployed"></a>

###  hydrateFromDeployed

► **hydrateFromDeployed**(): `Promise`.<[IContractWrapper](../interfaces/IContractWrapper.md)>



*Implementation of [IVotingMachineWrapper](../interfaces/IVotingMachineWrapper.md).[hydrateFromDeployed](../interfaces/IVotingMachineWrapper.md#hydrateFromDeployed)*

*Inherited from [ContractWrapperBase](ContractWrapperBase.md).[hydrateFromDeployed](ContractWrapperBase.md#hydrateFromDeployed)*

*Defined in [contractWrapperBase.ts:118](https://github.com/daostack/arc.js/blob/f343aa24/lib/contractWrapperBase.ts#L118)*



Initialize as it was migrated by Arc.js on the current network.




**Returns:** `Promise`.<[IContractWrapper](../interfaces/IContractWrapper.md)>
this or undefined if not found






___

<a id="hydrateFromNew"></a>

###  hydrateFromNew

► **hydrateFromNew**(...rest: *`Array`.<`any`>*): `Promise`.<[IContractWrapper](../interfaces/IContractWrapper.md)>



*Implementation of [IVotingMachineWrapper](../interfaces/IVotingMachineWrapper.md).[hydrateFromNew](../interfaces/IVotingMachineWrapper.md#hydrateFromNew)*

*Inherited from [ContractWrapperBase](ContractWrapperBase.md).[hydrateFromNew](ContractWrapperBase.md#hydrateFromNew)*

*Defined in [contractWrapperBase.ts:81](https://github.com/daostack/arc.js/blob/f343aa24/lib/contractWrapperBase.ts#L81)*



Initialize from a newly-migrated instance. This will migrate a new instance of the contract to the net.


**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| rest | `Array`.<`any`>   |  - |





**Returns:** `Promise`.<[IContractWrapper](../interfaces/IContractWrapper.md)>
this






___

<a id="isAbstainAllow"></a>

###  isAbstainAllow

► **isAbstainAllow**(): `Promise`.<`boolean`>



*Implementation of [IIntVoteInterface](../interfaces/IIntVoteInterface.md).[isAbstainAllow](../interfaces/IIntVoteInterface.md#isAbstainAllow)*

*Inherited from [IntVoteInterfaceWrapper](IntVoteInterfaceWrapper.md).[isAbstainAllow](IntVoteInterfaceWrapper.md#isAbstainAllow)*

*Defined in [wrappers/intVoteInterface.ts:285](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/intVoteInterface.ts#L285)*



get whether voters are allowed to cast an abstaining vote on these proposals.




**Returns:** `Promise`.<`boolean`>





___

<a id="isVotable"></a>

###  isVotable

► **isVotable**(options: *[ProposalIdOption](../interfaces/ProposalIdOption.md)*): `Promise`.<`boolean`>



*Implementation of [IIntVoteInterface](../interfaces/IIntVoteInterface.md).[isVotable](../interfaces/IIntVoteInterface.md#isVotable)*

*Inherited from [IntVoteInterfaceWrapper](IntVoteInterfaceWrapper.md).[isVotable](IntVoteInterfaceWrapper.md#isVotable)*

*Defined in [wrappers/intVoteInterface.ts:255](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/intVoteInterface.ts#L255)*



Get whether the proposal is in a state where it can be voted-upon.


**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| options | [ProposalIdOption](../interfaces/ProposalIdOption.md)   |  - |





**Returns:** `Promise`.<`boolean`>





___

<a id="ownerVote"></a>

###  ownerVote

► **ownerVote**(options: *[OwnerVoteOptions](../interfaces/OwnerVoteOptions.md)*): `Promise`.<[ArcTransactionResult](ArcTransactionResult.md)>



*Overrides [IntVoteInterfaceWrapper](IntVoteInterfaceWrapper.md).[ownerVote](IntVoteInterfaceWrapper.md#ownerVote)*

*Defined in [wrappers/genesisProtocol.ts:649](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L649)*



**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| options | [OwnerVoteOptions](../interfaces/OwnerVoteOptions.md)   |  - |





**Returns:** `Promise`.<[ArcTransactionResult](ArcTransactionResult.md)>





___

<a id="propose"></a>

###  propose

► **propose**(options: *[ProposeOptions](../interfaces/ProposeOptions.md)`TxGeneratingFunctionOptions`*): `Promise`.<[ArcTransactionProposalResult](ArcTransactionProposalResult.md)>



*Implementation of [IIntVoteInterface](../interfaces/IIntVoteInterface.md).[propose](../interfaces/IIntVoteInterface.md#propose)*

*Overrides [IntVoteInterfaceWrapper](IntVoteInterfaceWrapper.md).[propose](IntVoteInterfaceWrapper.md#propose)*

*Defined in [wrappers/genesisProtocol.ts:888](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L888)*



**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| options | [ProposeOptions](../interfaces/ProposeOptions.md)`TxGeneratingFunctionOptions`   |  - |





**Returns:** `Promise`.<[ArcTransactionProposalResult](ArcTransactionProposalResult.md)>





___

<a id="redeem"></a>

###  redeem

► **redeem**(options?: *[RedeemConfig](../interfaces/RedeemConfig.md)*): `Promise`.<[ArcTransactionResult](ArcTransactionResult.md)>



*Defined in [wrappers/genesisProtocol.ts:245](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L245)*



Redeem any tokens and reputation, excluding bounty, that are due the beneficiary from the outcome of the proposal.


**Parameters:**

| Param | Type | Default value | Description |
| ------ | ------ | ------ | ------ |
| options | [RedeemConfig](../interfaces/RedeemConfig.md)  | 
    {} as RedeemConfig &amp; TxGeneratingFunctionOptions |   - |





**Returns:** `Promise`.<[ArcTransactionResult](ArcTransactionResult.md)>
Promise<ArcTransactionResult>






___

<a id="redeemDaoBounty"></a>

###  redeemDaoBounty

► **redeemDaoBounty**(options?: *[RedeemConfig](../interfaces/RedeemConfig.md)*): `Promise`.<[ArcTransactionResult](ArcTransactionResult.md)>



*Defined in [wrappers/genesisProtocol.ts:278](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L278)*



Redeem any token bounty that are due the beneficiary from the outcome of the proposal.


**Parameters:**

| Param | Type | Default value | Description |
| ------ | ------ | ------ | ------ |
| options | [RedeemConfig](../interfaces/RedeemConfig.md)  | 
    {} as RedeemConfig &amp; TxGeneratingFunctionOptions |   - |





**Returns:** `Promise`.<[ArcTransactionResult](ArcTransactionResult.md)>
Promise<ArcTransactionResult>






___

<a id="setParameters"></a>

###  setParameters

► **setParameters**(params: *[GenesisProtocolParams](../interfaces/GenesisProtocolParams.md)`TxGeneratingFunctionOptions`*): `Promise`.<[ArcTransactionDataResult](ArcTransactionDataResult.md)[Hash](../#Hash)>



*Defined in [wrappers/genesisProtocol.ts:729](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L729)*



Set the contract parameters.


**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| params | [GenesisProtocolParams](../interfaces/GenesisProtocolParams.md)`TxGeneratingFunctionOptions`   |  - |





**Returns:** `Promise`.<[ArcTransactionDataResult](ArcTransactionDataResult.md)[Hash](../#Hash)>
parameters hash






___

<a id="shouldBoost"></a>

###  shouldBoost

► **shouldBoost**(options?: *[ShouldBoostConfig](../interfaces/ShouldBoostConfig.md)*): `Promise`.<`boolean`>



*Defined in [wrappers/genesisProtocol.ts:310](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L310)*



Return whether a proposal should be shifted to the boosted phase.


**Parameters:**

| Param | Type | Default value | Description |
| ------ | ------ | ------ | ------ |
| options | [ShouldBoostConfig](../interfaces/ShouldBoostConfig.md)  |  {} as ShouldBoostConfig |   - |





**Returns:** `Promise`.<`boolean`>
Promise<boolean>






___

<a id="stake"></a>

###  stake

► **stake**(options?: *[StakeConfig](../interfaces/StakeConfig.md)*): `Promise`.<[ArcTransactionResult](ArcTransactionResult.md)>



*Defined in [wrappers/genesisProtocol.ts:72](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L72)*



Stake some tokens on the final outcome matching this vote.

A transfer of tokens from the staker to this GenesisProtocol scheme is automatically approved and executed on the token with which this GenesisProtocol scheme was deployed.


**Parameters:**

| Param | Type | Default value | Description |
| ------ | ------ | ------ | ------ |
| options | [StakeConfig](../interfaces/StakeConfig.md)  | 
    {} as StakeConfig &amp; TxGeneratingFunctionOptions |   - |





**Returns:** `Promise`.<[ArcTransactionResult](ArcTransactionResult.md)>
Promise<ArcTransactionResult>






___

<a id="stakeWithApproval"></a>

###  stakeWithApproval

► **stakeWithApproval**(options?: *[StakeConfig](../interfaces/StakeConfig.md)*): `Promise`.<[ArcTransactionResult](ArcTransactionResult.md)>



*Defined in [wrappers/genesisProtocol.ts:133](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L133)*



Preapprove the transfer of stakingTokens from the default account to this GenesisProtocol contract, and then stake, all in a single transaction.


**Parameters:**

| Param | Type | Default value | Description |
| ------ | ------ | ------ | ------ |
| options | [StakeConfig](../interfaces/StakeConfig.md)  | 
    {} as StakeConfig &amp; TxGeneratingFunctionOptions |   - |





**Returns:** `Promise`.<[ArcTransactionResult](ArcTransactionResult.md)>





___

<a id="vote"></a>

###  vote

► **vote**(options: *[VoteOptions](../interfaces/VoteOptions.md)`TxGeneratingFunctionOptions`*): `Promise`.<[ArcTransactionResult](ArcTransactionResult.md)>



*Implementation of [IIntVoteInterface](../interfaces/IIntVoteInterface.md).[vote](../interfaces/IIntVoteInterface.md#vote)*

*Overrides [IntVoteInterfaceWrapper](IntVoteInterfaceWrapper.md).[vote](IntVoteInterfaceWrapper.md#vote)*

*Defined in [wrappers/genesisProtocol.ts:895](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L895)*



**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| options | [VoteOptions](../interfaces/VoteOptions.md)`TxGeneratingFunctionOptions`   |  - |





**Returns:** `Promise`.<[ArcTransactionResult](ArcTransactionResult.md)>





___

<a id="voteStatus"></a>

###  voteStatus

► **voteStatus**(options: *[VoteStatusOptions](../interfaces/VoteStatusOptions.md)*): `Promise`.<`BigNumber`>



*Implementation of [IIntVoteInterface](../interfaces/IIntVoteInterface.md).[voteStatus](../interfaces/IIntVoteInterface.md#voteStatus)*

*Inherited from [IntVoteInterfaceWrapper](IntVoteInterfaceWrapper.md).[voteStatus](IntVoteInterfaceWrapper.md#voteStatus)*

*Defined in [wrappers/intVoteInterface.ts:269](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/intVoteInterface.ts#L269)*



Get the number of votes currently cast on the given choice.


**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| options | [VoteStatusOptions](../interfaces/VoteStatusOptions.md)   |  - |





**Returns:** `Promise`.<`BigNumber`>





___

<a id="voteWithSpecifiedAmounts"></a>

###  voteWithSpecifiedAmounts

► **voteWithSpecifiedAmounts**(options: *[VoteWithSpecifiedAmountsOptions](../interfaces/VoteWithSpecifiedAmountsOptions.md)`TxGeneratingFunctionOptions`*): `Promise`.<[ArcTransactionResult](ArcTransactionResult.md)>



*Implementation of [IIntVoteInterface](../interfaces/IIntVoteInterface.md).[voteWithSpecifiedAmounts](../interfaces/IIntVoteInterface.md#voteWithSpecifiedAmounts)*

*Overrides [IntVoteInterfaceWrapper](IntVoteInterfaceWrapper.md).[voteWithSpecifiedAmounts](IntVoteInterfaceWrapper.md#voteWithSpecifiedAmounts)*

*Defined in [wrappers/genesisProtocol.ts:902](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/genesisProtocol.ts#L902)*



**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| options | [VoteWithSpecifiedAmountsOptions](../interfaces/VoteWithSpecifiedAmountsOptions.md)`TxGeneratingFunctionOptions`   |  - |





**Returns:** `Promise`.<[ArcTransactionResult](ArcTransactionResult.md)>





___


