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



# Class: RedeemerWrapper

## Hierarchy


 [ContractWrapperBase](ContractWrapperBase.md)

**↳ RedeemerWrapper**







## Implements

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

## Index

### Constructors

* [constructor](RedeemerWrapper.md#constructor)


### Properties

* [contract](RedeemerWrapper.md#contract)
* [factory](RedeemerWrapper.md#factory)
* [friendlyName](RedeemerWrapper.md#friendlyName)
* [name](RedeemerWrapper.md#name)


### Accessors

* [address](RedeemerWrapper.md#address)


### Methods

* [estimateGas](RedeemerWrapper.md#estimateGas)
* [getParameters](RedeemerWrapper.md#getParameters)
* [getParametersArray](RedeemerWrapper.md#getParametersArray)
* [getSchemeParametersHash](RedeemerWrapper.md#getSchemeParametersHash)
* [hydrateFromAt](RedeemerWrapper.md#hydrateFromAt)
* [hydrateFromDeployed](RedeemerWrapper.md#hydrateFromDeployed)
* [hydrateFromNew](RedeemerWrapper.md#hydrateFromNew)
* [redeem](RedeemerWrapper.md#redeem)
* [redeemables](RedeemerWrapper.md#redeemables)



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


### ⊕ **new RedeemerWrapper**(solidityContract: *`any`*, web3EventService: *[Web3EventService](Web3EventService.md)*): [RedeemerWrapper](RedeemerWrapper.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:** [RedeemerWrapper](RedeemerWrapper.md)

---


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

###  contract

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

*Implementation of [IContractWrapper](../interfaces/IContractWrapper.md).[contract](../interfaces/IContractWrapper.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)[RedeemerWrapper](RedeemerWrapper.md)*  =  RedeemerFactory

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

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

*Defined in [wrappers/redeemer.ts:13](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/redeemer.ts#L13)*





___

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

###  friendlyName

**●  friendlyName**:  *`string`*  = "Redeemer"

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

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

*Defined in [wrappers/redeemer.ts:12](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/redeemer.ts#L12)*





___

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

###  name

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

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

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

*Defined in [wrappers/redeemer.ts:11](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/redeemer.ts#L11)*





___


## Accessors
<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="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="getParameters"></a>

###  getParameters

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



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

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



Given a hash, returns the associated parameters as an object.


**Parameters:**

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





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





___

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

###  hydrateFromAt

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



*Implementation of [IContractWrapper](../interfaces/IContractWrapper.md).[hydrateFromAt](../interfaces/IContractWrapper.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 [IContractWrapper](../interfaces/IContractWrapper.md).[hydrateFromDeployed](../interfaces/IContractWrapper.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 [IContractWrapper](../interfaces/IContractWrapper.md).[hydrateFromNew](../interfaces/IContractWrapper.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="redeem"></a>

###  redeem

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



*Defined in [wrappers/redeemer.ts:22](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/redeemer.ts#L22)*



Redeems rewards for a ContributionReward proposal in a single transaction. Calls execute on the proposal if it is not yet executed. Redeems rewardable reputation and stake from the GenesisProtocol. Redeem rewardable contribution proposal rewards.


**Parameters:**

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





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





___

<a id="redeemables"></a>

###  redeemables

► **redeemables**(options: *[RedeemerOptions](../interfaces/RedeemerOptions.md)*): `Promise`.<[RedeeemableResult](../interfaces/RedeeemableResult.md)>



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



Returns the amounts that would be redeemed if `Redeemer.redeem` were invoked right now.


**Parameters:**

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





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





___


