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



# Class: GenesisProtocolWrapper

## Hierarchy


 [ContractWrapperBase](ContractWrapperBase.md)

**↳ GenesisProtocolWrapper**







## Implements

* [SchemeWrapper](../interfaces/SchemeWrapper.md)

## Index

### Constructors

* [constructor](GenesisProtocolWrapper.md#constructor)


### Properties

* [ExecuteProposal](GenesisProtocolWrapper.md#ExecuteProposal)
* [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

* [address](GenesisProtocolWrapper.md#address)


### Methods

* [getController](GenesisProtocolWrapper.md#getController)
* [getDefaultPermissions](GenesisProtocolWrapper.md#getDefaultPermissions)
* [getExecutedDaoProposals](GenesisProtocolWrapper.md#getExecutedDaoProposals)
* [getNumberOfChoices](GenesisProtocolWrapper.md#getNumberOfChoices)
* [getParameters](GenesisProtocolWrapper.md#getParameters)
* [getParametersArray](GenesisProtocolWrapper.md#getParametersArray)
* [getProposalAvatar](GenesisProtocolWrapper.md#getProposalAvatar)
* [getProposalStatus](GenesisProtocolWrapper.md#getProposalStatus)
* [getRedeemableReputationProposer](GenesisProtocolWrapper.md#getRedeemableReputationProposer)
* [getRedeemableReputationStaker](GenesisProtocolWrapper.md#getRedeemableReputationStaker)
* [getRedeemableReputationVoter](GenesisProtocolWrapper.md#getRedeemableReputationVoter)
* [getRedeemableTokensStaker](GenesisProtocolWrapper.md#getRedeemableTokensStaker)
* [getRedeemableTokensStakerBounty](GenesisProtocolWrapper.md#getRedeemableTokensStakerBounty)
* [getRedeemableTokensVoter](GenesisProtocolWrapper.md#getRedeemableTokensVoter)
* [getSchemeParameters](GenesisProtocolWrapper.md#getSchemeParameters)
* [getSchemeParametersHash](GenesisProtocolWrapper.md#getSchemeParametersHash)
* [getSchemePermissions](GenesisProtocolWrapper.md#getSchemePermissions)
* [getScore](GenesisProtocolWrapper.md#getScore)
* [getScoreThresholdParams](GenesisProtocolWrapper.md#getScoreThresholdParams)
* [getStakerInfo](GenesisProtocolWrapper.md#getStakerInfo)
* [getState](GenesisProtocolWrapper.md#getState)
* [getThreshold](GenesisProtocolWrapper.md#getThreshold)
* [getTokenBalances](GenesisProtocolWrapper.md#getTokenBalances)
* [getVoteStake](GenesisProtocolWrapper.md#getVoteStake)
* [getVoteStatus](GenesisProtocolWrapper.md#getVoteStatus)
* [getVoterInfo](GenesisProtocolWrapper.md#getVoterInfo)
* [getWinningVote](GenesisProtocolWrapper.md#getWinningVote)
* [hydrateFromAt](GenesisProtocolWrapper.md#hydrateFromAt)
* [hydrateFromDeployed](GenesisProtocolWrapper.md#hydrateFromDeployed)
* [hydrateFromNew](GenesisProtocolWrapper.md#hydrateFromNew)
* [isVotable](GenesisProtocolWrapper.md#isVotable)
* [propose](GenesisProtocolWrapper.md#propose)
* [redeem](GenesisProtocolWrapper.md#redeem)
* [redeemDaoBounty](GenesisProtocolWrapper.md#redeemDaoBounty)
* [setParameters](GenesisProtocolWrapper.md#setParameters)
* [shouldBoost](GenesisProtocolWrapper.md#shouldBoost)
* [stake](GenesisProtocolWrapper.md#stake)
* [vote](GenesisProtocolWrapper.md#vote)
* [voteWithSpecifiedAmounts](GenesisProtocolWrapper.md#voteWithSpecifiedAmounts)



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


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


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

*Defined in [contractWrapperBase.ts:46](https://github.com/daostack/arc.js/blob/77005d4/lib/contractWrapperBase.ts#L46)*



ContractWrapperFactory constructs this


**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| solidityContract | `any`   |  The json contract truffle artifact |





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

---


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

###  ExecuteProposal

**●  ExecuteProposal**:  *[EventFetcherFactory](../#EventFetcherFactory)[GenesisProtocolExecuteProposalEventResult](../interfaces/GenesisProtocolExecuteProposalEventResult.md)*  =  this.createEventFetcherFactory<GenesisProtocolExecuteProposalEventResult>("ExecuteProposal")

*Defined in [wrappers/genesisProtocol.ts:45](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/genesisProtocol.ts#L45)*





___

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

###  NewProposal

**●  NewProposal**:  *[EventFetcherFactory](../#EventFetcherFactory)[NewProposalEventResult](../interfaces/NewProposalEventResult.md)*  =  this.createEventFetcherFactory<NewProposalEventResult>("NewProposal")

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



Events




___

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

###  Redeem

**●  Redeem**:  *[EventFetcherFactory](../#EventFetcherFactory)[RedeemEventResult](../interfaces/RedeemEventResult.md)*  =  this.createEventFetcherFactory<RedeemEventResult>("Redeem")

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





___

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

###  RedeemDaoBounty

**●  RedeemDaoBounty**:  *[EventFetcherFactory](../#EventFetcherFactory)[RedeemEventResult](../interfaces/RedeemEventResult.md)*  =  this.createEventFetcherFactory<RedeemEventResult>("RedeemDaoBounty")

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





___

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

###  RedeemReputation

**●  RedeemReputation**:  *[EventFetcherFactory](../#EventFetcherFactory)[RedeemEventResult](../interfaces/RedeemEventResult.md)*  =  this.createEventFetcherFactory<RedeemEventResult>("RedeemReputation")

*Defined in [wrappers/genesisProtocol.ts:50](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/genesisProtocol.ts#L50)*





___

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

###  Stake

**●  Stake**:  *[EventFetcherFactory](../#EventFetcherFactory)[StakeEventResult](../interfaces/StakeEventResult.md)*  =  this.createEventFetcherFactory<StakeEventResult>("Stake")

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





___

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

###  VoteProposal

**●  VoteProposal**:  *[EventFetcherFactory](../#EventFetcherFactory)[VoteProposalEventResult](../interfaces/VoteProposalEventResult.md)*  =  this.createEventFetcherFactory<VoteProposalEventResult>("VoteProposal")

*Defined in [wrappers/genesisProtocol.ts:46](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/genesisProtocol.ts#L46)*





___

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

###  contract

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

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

*Defined in [contractWrapperBase.ts:46](https://github.com/daostack/arc.js/blob/77005d4/lib/contractWrapperBase.ts#L46)*



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**:  *[ContractWrapperFactory](ContractWrapperFactory.md)[GenesisProtocolWrapper](GenesisProtocolWrapper.md)*  =  GenesisProtocolFactory

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

*Defined in [wrappers/genesisProtocol.ts:38](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/genesisProtocol.ts#L38)*





___

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

###  friendlyName

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

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

*Defined in [wrappers/genesisProtocol.ts:37](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/genesisProtocol.ts#L37)*





___

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

###  name

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

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

*Defined in [wrappers/genesisProtocol.ts:36](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/genesisProtocol.ts#L36)*





___


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

###  address


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

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

*Defined in [contractWrapperBase.ts:41](https://github.com/daostack/arc.js/blob/77005d4/lib/contractWrapperBase.ts#L41)*



The address of the contract




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



___


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

###  getController

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



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

*Defined in [contractWrapperBase.ts:142](https://github.com/daostack/arc.js/blob/77005d4/lib/contractWrapperBase.ts#L142)*



Returns the controller associated with the given avatar


**Parameters:**

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





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





___

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

###  getDefaultPermissions

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



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

*Defined in [wrappers/genesisProtocol.ts:948](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/genesisProtocol.ts#L948)*





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





___

<a id="getExecutedDaoProposals"></a>

###  getExecutedDaoProposals

► **getExecutedDaoProposals**(options?: *[GetDaoProposalsConfig](../interfaces/GetDaoProposalsConfig.md)*): `Promise`.<`Array`.<[ExecutedGenesisProposal](../interfaces/ExecutedGenesisProposal.md)>>



*Defined in [wrappers/genesisProtocol.ts:798](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/genesisProtocol.ts#L798)*



Return all executed GenesisProtocol proposals created under the given avatar. Filter by the optional proposalId.


**Parameters:**

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





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





___

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

###  getNumberOfChoices

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



*Defined in [wrappers/genesisProtocol.ts:545](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/genesisProtocol.ts#L545)*



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`.<[GenesisProtocolParams](../interfaces/GenesisProtocolParams.md)>



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

*Defined in [wrappers/genesisProtocol.ts:960](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/genesisProtocol.ts#L960)*



**Parameters:**

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





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





___

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

###  getParametersArray

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



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

*Defined in [contractWrapperBase.ts:134](https://github.com/daostack/arc.js/blob/77005d4/lib/contractWrapperBase.ts#L134)*



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="getProposalAvatar"></a>

###  getProposalAvatar

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



*Defined in [wrappers/genesisProtocol.ts:667](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/genesisProtocol.ts#L667)*



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="getProposalStatus"></a>

###  getProposalStatus

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



*Defined in [wrappers/genesisProtocol.ts:640](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/genesisProtocol.ts#L640)*



Return the total votes, total staked, voter stakes and staker stakes 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="getRedeemableReputationProposer"></a>

###  getRedeemableReputationProposer

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



*Defined in [wrappers/genesisProtocol.ts:369](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/genesisProtocol.ts#L369)*



Return the reputation amount to which the proposal proposer is entitled in the event that the proposal is approved.


**Parameters:**

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





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






___

<a id="getRedeemableReputationStaker"></a>

###  getRedeemableReputationStaker

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



*Defined in [wrappers/genesisProtocol.ts:486](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/genesisProtocol.ts#L486)*



Return the reputation amount to which the staker is entitled in the event that the proposal is approved.


**Parameters:**

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





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






___

<a id="getRedeemableReputationVoter"></a>

###  getRedeemableReputationVoter

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



*Defined in [wrappers/genesisProtocol.ts:412](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/genesisProtocol.ts#L412)*



Return the reputation amount to which the voter is entitled in the event that the proposal is approved.


**Parameters:**

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





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






___

<a id="getRedeemableTokensStaker"></a>

###  getRedeemableTokensStaker

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



*Defined in [wrappers/genesisProtocol.ts:436](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/genesisProtocol.ts#L436)*



Return the token amount to which the given staker is entitled in the event that the proposal is approved.


**Parameters:**

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





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






___

<a id="getRedeemableTokensStakerBounty"></a>

###  getRedeemableTokensStakerBounty

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



*Defined in [wrappers/genesisProtocol.ts:461](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/genesisProtocol.ts#L461)*



Return the token amount of bounty to which the given staker is entitled in the event that the proposal is approved.


**Parameters:**

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





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






___

<a id="getRedeemableTokensVoter"></a>

###  getRedeemableTokensVoter

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



*Defined in [wrappers/genesisProtocol.ts:387](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/genesisProtocol.ts#L387)*



Return the token amount to which the voter is entitled in the event that the proposal is approved.


**Parameters:**

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





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






___

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

###  getSchemeParameters

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



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

*Defined in [wrappers/genesisProtocol.ts:956](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/genesisProtocol.ts#L956)*



**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:124](https://github.com/daostack/arc.js/blob/77005d4/lib/contractWrapperBase.ts#L124)*



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 [SchemeWrapper](../interfaces/SchemeWrapper.md).[getSchemePermissions](../interfaces/SchemeWrapper.md#getSchemePermissions)*

*Defined in [wrappers/genesisProtocol.ts:952](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/genesisProtocol.ts#L952)*



**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.BigNumber`>



*Defined in [wrappers/genesisProtocol.ts:331](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/genesisProtocol.ts#L331)*



Return the current proposal score.


**Parameters:**

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





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






___

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

###  getScoreThresholdParams

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



*Defined in [wrappers/genesisProtocol.ts:685](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/genesisProtocol.ts#L685)*



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:708](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/genesisProtocol.ts#L708)*



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="getState"></a>

###  getState

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



*Defined in [wrappers/genesisProtocol.ts:781](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/genesisProtocol.ts#L781)*



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.BigNumber`>



*Defined in [wrappers/genesisProtocol.ts:349](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/genesisProtocol.ts#L349)*



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.BigNumber`>





___

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

###  getTokenBalances

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



*Defined in [wrappers/genesisProtocol.ts:513](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/genesisProtocol.ts#L513)*



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="getVoteStake"></a>

###  getVoteStake

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



*Defined in [wrappers/genesisProtocol.ts:738](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/genesisProtocol.ts#L738)*



Return the amount stakes behind a given proposal and vote.


**Parameters:**

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





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






___

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

###  getVoteStatus

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



*Defined in [wrappers/genesisProtocol.ts:597](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/genesisProtocol.ts#L597)*



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.BigNumber`>
Promise<BigNumber.BigNumber>






___

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

###  getVoterInfo

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



*Defined in [wrappers/genesisProtocol.ts:567](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/genesisProtocol.ts#L567)*



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:761](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/genesisProtocol.ts#L761)*



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`.<`any`>



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

*Defined in [contractWrapperBase.ts:76](https://github.com/daostack/arc.js/blob/77005d4/lib/contractWrapperBase.ts#L76)*



Initialize from a given address on the current network.


**Parameters:**

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





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






___

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

###  hydrateFromDeployed

► **hydrateFromDeployed**(): `Promise`.<`any`>



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

*Defined in [contractWrapperBase.ts:91](https://github.com/daostack/arc.js/blob/77005d4/lib/contractWrapperBase.ts#L91)*



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




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






___

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

###  hydrateFromNew

► **hydrateFromNew**(...rest: *`Array`.<`any`>*): `Promise`.<`any`>



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

*Defined in [contractWrapperBase.ts:60](https://github.com/daostack/arc.js/blob/77005d4/lib/contractWrapperBase.ts#L60)*



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`.<`any`>
this






___

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

###  isVotable

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



*Defined in [wrappers/genesisProtocol.ts:622](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/genesisProtocol.ts#L622)*



Return whether the proposal is in a votable state.


**Parameters:**

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





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






___

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

###  propose

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



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



Create a proposal


**Parameters:**

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





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






___

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

###  redeem

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



*Defined in [wrappers/genesisProtocol.ts:246](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/genesisProtocol.ts#L246)*



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 |   - |





**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:281](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/genesisProtocol.ts#L281)*



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 |   - |





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






___

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

###  setParameters

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



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

*Defined in [wrappers/genesisProtocol.ts:840](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/genesisProtocol.ts#L840)*



Set the contract parameters.


**Parameters:**

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





**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:315](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/genesisProtocol.ts#L315)*



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:112](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/genesisProtocol.ts#L112)*



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 |   - |





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






___

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

###  vote

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



*Defined in [wrappers/genesisProtocol.ts:180](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/genesisProtocol.ts#L180)*



Vote on a proposal


**Parameters:**

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





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






___

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

###  voteWithSpecifiedAmounts

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



*Defined in [wrappers/genesisProtocol.ts:213](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/genesisProtocol.ts#L213)*



Vote on a proposal, staking some reputation that the final outcome will match this vote. Reputation of 0 will stake all the voter's reputation.


**Parameters:**

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





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






___


