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

# Class: Locking4ReputationWrapper

## Hierarchy

↳  [SchemeWrapperBase](SchemeWrapperBase.md)

**↳ Locking4ReputationWrapper**

↳  [ExternalLocking4ReputationWrapper](ExternalLocking4ReputationWrapper.md)

↳  [LockingEth4ReputationWrapper](LockingEth4ReputationWrapper.md)

↳  [LockingToken4ReputationWrapper](LockingToken4ReputationWrapper.md)

## Implements

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

## Index

### Constructors

* [constructor](Locking4ReputationWrapper.md#constructor)

### Properties

* [Lock](Locking4ReputationWrapper.md#Lock)
* [Redeem](Locking4ReputationWrapper.md#Redeem)
* [Release](Locking4ReputationWrapper.md#Release)
* [contract](Locking4ReputationWrapper.md#contract)
* [factory](Locking4ReputationWrapper.md#factory)
* [friendlyName](Locking4ReputationWrapper.md#friendlyName)
* [name](Locking4ReputationWrapper.md#name)

### Accessors

* [address](Locking4ReputationWrapper.md#address)

### Methods

* [estimateGas](Locking4ReputationWrapper.md#estimateGas)
* [getAvatar](Locking4ReputationWrapper.md#getAvatar)
* [getDefaultPermissions](Locking4ReputationWrapper.md#getDefaultPermissions)
* [getLockBlocker](Locking4ReputationWrapper.md#getLockBlocker)
* [getLockCount](Locking4ReputationWrapper.md#getLockCount)
* [getLockInfo](Locking4ReputationWrapper.md#getLockInfo)
* [getLockerInfo](Locking4ReputationWrapper.md#getLockerInfo)
* [getLockers](Locking4ReputationWrapper.md#getLockers)
* [getLockingEndTime](Locking4ReputationWrapper.md#getLockingEndTime)
* [getLockingStartTime](Locking4ReputationWrapper.md#getLockingStartTime)
* [getLocks](Locking4ReputationWrapper.md#getLocks)
* [getMaxLockingPeriod](Locking4ReputationWrapper.md#getMaxLockingPeriod)
* [getParameters](Locking4ReputationWrapper.md#getParameters)
* [getParametersArray](Locking4ReputationWrapper.md#getParametersArray)
* [getRedeemBlocker](Locking4ReputationWrapper.md#getRedeemBlocker)
* [getRedeemEnableTime](Locking4ReputationWrapper.md#getRedeemEnableTime)
* [getReleaseBlocker](Locking4ReputationWrapper.md#getReleaseBlocker)
* [getReputationReward](Locking4ReputationWrapper.md#getReputationReward)
* [getReputationRewardLeft](Locking4ReputationWrapper.md#getReputationRewardLeft)
* [getSchemePermissions](Locking4ReputationWrapper.md#getSchemePermissions)
* [getTotalLocked](Locking4ReputationWrapper.md#getTotalLocked)
* [getTotalLockedLeft](Locking4ReputationWrapper.md#getTotalLockedLeft)
* [getTotalScore](Locking4ReputationWrapper.md#getTotalScore)
* [hydrateFromAt](Locking4ReputationWrapper.md#hydrateFromAt)
* [hydrateFromNew](Locking4ReputationWrapper.md#hydrateFromNew)
* [redeem](Locking4ReputationWrapper.md#redeem)

---

## Constructors

<a id="constructor"></a>

###  constructor

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

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

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

ContractWrapperFactory constructs this

**Parameters:**

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

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

___

## Properties

<a id="Lock"></a>

###  Lock

**● Lock**: *[EventFetcherFactory](../#EventFetcherFactory)<[Locking4ReputationLockEventResult](../interfaces/Locking4ReputationLockEventResult.md)>*

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

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

###  Redeem

**● Redeem**: *[EventFetcherFactory](../#EventFetcherFactory)<[Locking4ReputationRedeemEventResult](../interfaces/Locking4ReputationRedeemEventResult.md)>*

*Defined in [wrappers/locking4Reputation.ts:20](https://github.com/daostack/arc.js/blob/6f704389/lib/wrappers/locking4Reputation.ts#L20)*

___
<a id="Release"></a>

###  Release

**● Release**: *[EventFetcherFactory](../#EventFetcherFactory)<[Locking4ReputationReleaseEventResult](../interfaces/Locking4ReputationReleaseEventResult.md)>*

*Defined in [wrappers/locking4Reputation.ts:21](https://github.com/daostack/arc.js/blob/6f704389/lib/wrappers/locking4Reputation.ts#L21)*

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

###  contract

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

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

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

*Defined in [contractWrapperBase.ts:66](https://github.com/daostack/arc.js/blob/6f704389/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)<[Locking4ReputationWrapper](Locking4ReputationWrapper.md)>* =  null

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

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

*Defined in [wrappers/locking4Reputation.ts:18](https://github.com/daostack/arc.js/blob/6f704389/lib/wrappers/locking4Reputation.ts#L18)*

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

###  friendlyName

**● friendlyName**: *`string`* = "Locking For Reputation"

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

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

*Defined in [wrappers/locking4Reputation.ts:17](https://github.com/daostack/arc.js/blob/6f704389/lib/wrappers/locking4Reputation.ts#L17)*

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

###  name

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

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

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

*Defined in [wrappers/locking4Reputation.ts:16](https://github.com/daostack/arc.js/blob/6f704389/lib/wrappers/locking4Reputation.ts#L16)*

___

## 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/6f704389/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:140](https://github.com/daostack/arc.js/blob/6f704389/lib/contractWrapperBase.ts#L140)*

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 |
| `Default value` 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="getAvatar"></a>

###  getAvatar

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

*Defined in [wrappers/locking4Reputation.ts:189](https://github.com/daostack/arc.js/blob/6f704389/lib/wrappers/locking4Reputation.ts#L189)*

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

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

###  getDefaultPermissions

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

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

*Inherited from [SchemeWrapperBase](SchemeWrapperBase.md).[getDefaultPermissions](SchemeWrapperBase.md#getDefaultPermissions)*

*Defined in [schemeWrapperBase.ts:14](https://github.com/daostack/arc.js/blob/6f704389/lib/schemeWrapperBase.ts#L14)*

Minimum permissions required by the scheme

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

___
<a id="getLockBlocker"></a>

###  getLockBlocker

▸ **getLockBlocker**(options: *[LockingOptions](../interfaces/LockingOptions.md)*): `Promise`< `string` &#124; `null`>

*Defined in [wrappers/locking4Reputation.ts:93](https://github.com/daostack/arc.js/blob/6f704389/lib/wrappers/locking4Reputation.ts#L93)*

Returns reason why can't lock, else null if can lock

**Parameters:**

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

**Returns:** `Promise`< `string` &#124; `null`>

___
<a id="getLockCount"></a>

###  getLockCount

▸ **getLockCount**(): `Promise`<`number`>

*Defined in [wrappers/locking4Reputation.ts:155](https://github.com/daostack/arc.js/blob/6f704389/lib/wrappers/locking4Reputation.ts#L155)*

get total number of locks

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

___
<a id="getLockInfo"></a>

###  getLockInfo

▸ **getLockInfo**(lockerAddress: *[Address](../#Address)*, lockId: *[Hash](../#Hash)*): `Promise`<[LockInfo](../interfaces/LockInfo.md)>

*Defined in [wrappers/locking4Reputation.ts:199](https://github.com/daostack/arc.js/blob/6f704389/lib/wrappers/locking4Reputation.ts#L199)*

Returns promise of information about a locked amount for the given locker and lockerId.

**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| lockerAddress | [Address](../#Address) |  \- |
| lockId | [Hash](../#Hash) |   |

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

___
<a id="getLockerInfo"></a>

###  getLockerInfo

▸ **getLockerInfo**(lockerAddress: *[Address](../#Address)*): `Promise`<[LockerInfo](../interfaces/LockerInfo.md)>

*Defined in [wrappers/locking4Reputation.ts:216](https://github.com/daostack/arc.js/blob/6f704389/lib/wrappers/locking4Reputation.ts#L216)*

Returns promise of information about the given locker, including the locker's score. Score determines the proportion of total reputation that can be redeemed by the locker.

**Parameters:**

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

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

___
<a id="getLockers"></a>

###  getLockers

▸ **getLockers**(options?: *[GetLockersOptions](../interfaces/GetLockersOptions.md)*): `Promise`<`Array`<[LockerInfo](../interfaces/LockerInfo.md)>>

*Defined in [wrappers/locking4Reputation.ts:249](https://github.com/daostack/arc.js/blob/6f704389/lib/wrappers/locking4Reputation.ts#L249)*

Returns EntityEventFetcher that returns `LockerInfo` for each account that has created a lock. It is fired for an account whenever a `Lock`, `Redeem` or `Release` event is emitted.

**Parameters:**

| Param | Type | Default value |
| ------ | ------ | ------ |
| `Default value` options | [GetLockersOptions](../interfaces/GetLockersOptions.md) |  {} |

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

___
<a id="getLockingEndTime"></a>

###  getLockingEndTime

▸ **getLockingEndTime**(): `Promise`<`Date`>

*Defined in [wrappers/locking4Reputation.ts:174](https://github.com/daostack/arc.js/blob/6f704389/lib/wrappers/locking4Reputation.ts#L174)*

**Returns:** `Promise`<`Date`>

___
<a id="getLockingStartTime"></a>

###  getLockingStartTime

▸ **getLockingStartTime**(): `Promise`<`Date`>

*Defined in [wrappers/locking4Reputation.ts:179](https://github.com/daostack/arc.js/blob/6f704389/lib/wrappers/locking4Reputation.ts#L179)*

**Returns:** `Promise`<`Date`>

___
<a id="getLocks"></a>

###  getLocks

▸ **getLocks**(): `Promise`<[EntityFetcherFactory](../#EntityFetcherFactory)<[LockInfo](../interfaces/LockInfo.md), [Locking4ReputationLockEventResult](../interfaces/Locking4ReputationLockEventResult.md)>>

*Defined in [wrappers/locking4Reputation.ts:228](https://github.com/daostack/arc.js/blob/6f704389/lib/wrappers/locking4Reputation.ts#L228)*

Returns EntityEventFetcher that returns `LockInfo` for each `Lock` event.

**Returns:** `Promise`<[EntityFetcherFactory](../#EntityFetcherFactory)<[LockInfo](../interfaces/LockInfo.md), [Locking4ReputationLockEventResult](../interfaces/Locking4ReputationLockEventResult.md)>>

___
<a id="getMaxLockingPeriod"></a>

###  getMaxLockingPeriod

▸ **getMaxLockingPeriod**(): `Promise`<`number`>

*Defined in [wrappers/locking4Reputation.ts:184](https://github.com/daostack/arc.js/blob/6f704389/lib/wrappers/locking4Reputation.ts#L184)*

**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:118](https://github.com/daostack/arc.js/blob/6f704389/lib/contractWrapperBase.ts#L118)*

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:127](https://github.com/daostack/arc.js/blob/6f704389/lib/contractWrapperBase.ts#L127)*

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

###  getRedeemBlocker

▸ **getRedeemBlocker**(lockerAddress: *[Address](../#Address)*): `Promise`< `string` &#124; `null`>

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

Returns reason why can't redeem, or else null if can redeem

**Parameters:**

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

**Returns:** `Promise`< `string` &#124; `null`>

___
<a id="getRedeemEnableTime"></a>

###  getRedeemEnableTime

▸ **getRedeemEnableTime**(): `Promise`<`Date`>

*Defined in [wrappers/locking4Reputation.ts:134](https://github.com/daostack/arc.js/blob/6f704389/lib/wrappers/locking4Reputation.ts#L134)*

Get a promise of the first date/time when anything can be redeemed

**Returns:** `Promise`<`Date`>

___
<a id="getReleaseBlocker"></a>

###  getReleaseBlocker

▸ **getReleaseBlocker**(lockerAddress: *[Address](../#Address)*, lockId: *[Hash](../#Hash)*): `Promise`< `string` &#124; `null`>

*Defined in [wrappers/locking4Reputation.ts:74](https://github.com/daostack/arc.js/blob/6f704389/lib/wrappers/locking4Reputation.ts#L74)*

Returns error message else null if can release

**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| lockerAddress | [Address](../#Address) |  \- |
| lockId | [Hash](../#Hash) |   |

**Returns:** `Promise`< `string` &#124; `null`>

___
<a id="getReputationReward"></a>

###  getReputationReward

▸ **getReputationReward**(): `Promise`<`BigNumber`>

*Defined in [wrappers/locking4Reputation.ts:163](https://github.com/daostack/arc.js/blob/6f704389/lib/wrappers/locking4Reputation.ts#L163)*

get the total reputation this contract will reward

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

___
<a id="getReputationRewardLeft"></a>

###  getReputationRewardLeft

▸ **getReputationRewardLeft**(): `Promise`<`BigNumber`>

*Defined in [wrappers/locking4Reputation.ts:170](https://github.com/daostack/arc.js/blob/6f704389/lib/wrappers/locking4Reputation.ts#L170)*

get the total reputation this contract has not yet rewarded

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

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

###  getSchemePermissions

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

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

*Inherited from [SchemeWrapperBase](SchemeWrapperBase.md).[getSchemePermissions](SchemeWrapperBase.md#getSchemePermissions)*

*Defined in [schemeWrapperBase.ts:22](https://github.com/daostack/arc.js/blob/6f704389/lib/schemeWrapperBase.ts#L22)*

Returns the scheme permissions.

**Parameters:**

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

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

___
<a id="getTotalLocked"></a>

###  getTotalLocked

▸ **getTotalLocked**(): `Promise`<`BigNumber`>

*Defined in [wrappers/locking4Reputation.ts:140](https://github.com/daostack/arc.js/blob/6f704389/lib/wrappers/locking4Reputation.ts#L140)*

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

___
<a id="getTotalLockedLeft"></a>

###  getTotalLockedLeft

▸ **getTotalLockedLeft**(): `Promise`<`BigNumber`>

*Defined in [wrappers/locking4Reputation.ts:144](https://github.com/daostack/arc.js/blob/6f704389/lib/wrappers/locking4Reputation.ts#L144)*

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

___
<a id="getTotalScore"></a>

###  getTotalScore

▸ **getTotalScore**(): `Promise`<`BigNumber`>

*Defined in [wrappers/locking4Reputation.ts:148](https://github.com/daostack/arc.js/blob/6f704389/lib/wrappers/locking4Reputation.ts#L148)*

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

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

###  hydrateFromAt

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

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

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

*Defined in [contractWrapperBase.ts:100](https://github.com/daostack/arc.js/blob/6f704389/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="hydrateFromNew"></a>

###  hydrateFromNew

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

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

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

*Defined in [contractWrapperBase.ts:81](https://github.com/daostack/arc.js/blob/6f704389/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 |
| ------ | ------ |
| `Rest` rest | `Array`<`any`> |

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

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

###  redeem

▸ **redeem**(options: * [RedeemOptions](../interfaces/RedeemOptions.md) & `TxGeneratingFunctionOptions`*): `Promise`<[ArcTransactionResult](ArcTransactionResult.md)>

*Defined in [wrappers/locking4Reputation.ts:24](https://github.com/daostack/arc.js/blob/6f704389/lib/wrappers/locking4Reputation.ts#L24)*

**Parameters:**

| Param | Type |
| ------ | ------ |
| options |  [RedeemOptions](../interfaces/RedeemOptions.md) & `TxGeneratingFunctionOptions`|

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

___

