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



# Class: VestingSchemeWrapper

## Hierarchy


 [ContractWrapperBase](ContractWrapperBase.md)

**↳ VestingSchemeWrapper**







## Implements

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

## Index

### Constructors

* [constructor](VestingSchemeWrapper.md#constructor)


### Properties

* [AgreementCancel](VestingSchemeWrapper.md#AgreementCancel)
* [AgreementProposal](VestingSchemeWrapper.md#AgreementProposal)
* [Collect](VestingSchemeWrapper.md#Collect)
* [NewVestedAgreement](VestingSchemeWrapper.md#NewVestedAgreement)
* [ProposalExecuted](VestingSchemeWrapper.md#ProposalExecuted)
* [RevokeSignToCancelAgreement](VestingSchemeWrapper.md#RevokeSignToCancelAgreement)
* [SignToCancelAgreement](VestingSchemeWrapper.md#SignToCancelAgreement)
* [contract](VestingSchemeWrapper.md#contract)
* [factory](VestingSchemeWrapper.md#factory)
* [friendlyName](VestingSchemeWrapper.md#friendlyName)
* [name](VestingSchemeWrapper.md#name)


### Accessors

* [address](VestingSchemeWrapper.md#address)


### Methods

* [collect](VestingSchemeWrapper.md#collect)
* [create](VestingSchemeWrapper.md#create)
* [getAgreements](VestingSchemeWrapper.md#getAgreements)
* [getController](VestingSchemeWrapper.md#getController)
* [getDefaultPermissions](VestingSchemeWrapper.md#getDefaultPermissions)
* [getParameters](VestingSchemeWrapper.md#getParameters)
* [getParametersArray](VestingSchemeWrapper.md#getParametersArray)
* [getSchemeParameters](VestingSchemeWrapper.md#getSchemeParameters)
* [getSchemeParametersHash](VestingSchemeWrapper.md#getSchemeParametersHash)
* [getSchemePermissions](VestingSchemeWrapper.md#getSchemePermissions)
* [hydrateFromAt](VestingSchemeWrapper.md#hydrateFromAt)
* [hydrateFromDeployed](VestingSchemeWrapper.md#hydrateFromDeployed)
* [hydrateFromNew](VestingSchemeWrapper.md#hydrateFromNew)
* [propose](VestingSchemeWrapper.md#propose)
* [revokeSignToCancel](VestingSchemeWrapper.md#revokeSignToCancel)
* [setParameters](VestingSchemeWrapper.md#setParameters)
* [signToCancel](VestingSchemeWrapper.md#signToCancel)



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


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

---


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

###  AgreementCancel

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

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





___

<a id="AgreementProposal"></a>

###  AgreementProposal

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

*Defined in [wrappers/vestingScheme.ts:32](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/vestingScheme.ts#L32)*





___

<a id="Collect"></a>

###  Collect

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

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





___

<a id="NewVestedAgreement"></a>

###  NewVestedAgreement

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

*Defined in [wrappers/vestingScheme.ts:33](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/vestingScheme.ts#L33)*





___

<a id="ProposalExecuted"></a>

###  ProposalExecuted

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

*Defined in [wrappers/vestingScheme.ts:31](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/vestingScheme.ts#L31)*



Events




___

<a id="RevokeSignToCancelAgreement"></a>

###  RevokeSignToCancelAgreement

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

*Defined in [wrappers/vestingScheme.ts:35](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/vestingScheme.ts#L35)*





___

<a id="SignToCancelAgreement"></a>

###  SignToCancelAgreement

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

*Defined in [wrappers/vestingScheme.ts:34](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/vestingScheme.ts#L34)*





___

<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)[VestingSchemeWrapper](VestingSchemeWrapper.md)*  =  VestingSchemeFactory

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

*Defined in [wrappers/vestingScheme.ts:25](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/vestingScheme.ts#L25)*





___

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

###  friendlyName

**●  friendlyName**:  *`string`*  = "Vesting Scheme"

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

*Defined in [wrappers/vestingScheme.ts:24](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/vestingScheme.ts#L24)*





___

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

###  name

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

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

*Defined in [wrappers/vestingScheme.ts:23](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/vestingScheme.ts#L23)*





___


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

###  collect

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



*Defined in [wrappers/vestingScheme.ts:202](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/vestingScheme.ts#L202)*



Collects for a beneficiary, according to the agreement


**Parameters:**

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





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





___

<a id="create"></a>

###  create

► **create**(options?: *[CreateVestingAgreementConfig](../interfaces/CreateVestingAgreementConfig.md)*): `Promise`.<[ArcTransactionAgreementResult](ArcTransactionAgreementResult.md)>



*Defined in [wrappers/vestingScheme.ts:101](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/vestingScheme.ts#L101)*



Create a new vesting agreement


**Parameters:**

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





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





___

<a id="getAgreements"></a>

###  getAgreements

► **getAgreements**(options?: *[GetAgreementParams](../interfaces/GetAgreementParams.md)*): `Promise`.<`Array`.<[Agreement](../interfaces/Agreement.md)>>



*Defined in [wrappers/vestingScheme.ts:223](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/vestingScheme.ts#L223)*



Return all agreements ever created by this scheme Filter by the optional agreementId.


**Parameters:**

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





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





___

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





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





___

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

###  getParameters

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



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

*Defined in [wrappers/vestingScheme.ts:283](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/vestingScheme.ts#L283)*



**Parameters:**

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





**Returns:** `Promise`.<[StandardSchemeParams](../interfaces/StandardSchemeParams.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="getSchemeParameters"></a>

###  getSchemeParameters

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



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

*Defined in [wrappers/vestingScheme.ts:279](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/vestingScheme.ts#L279)*



**Parameters:**

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





**Returns:** `Promise`.<[StandardSchemeParams](../interfaces/StandardSchemeParams.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/vestingScheme.ts:275](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/vestingScheme.ts#L275)*



**Parameters:**

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





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





___

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

###  propose

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



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



Propose a new vesting agreement


**Parameters:**

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





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





___

<a id="revokeSignToCancel"></a>

###  revokeSignToCancel

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



*Defined in [wrappers/vestingScheme.ts:181](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/vestingScheme.ts#L181)*



Revoke vote for cancelling a vesting agreement


**Parameters:**

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





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





___

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

###  setParameters

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



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

*Defined in [wrappers/vestingScheme.ts:260](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/vestingScheme.ts#L260)*



**Parameters:**

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





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





___

<a id="signToCancel"></a>

###  signToCancel

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



*Defined in [wrappers/vestingScheme.ts:160](https://github.com/daostack/arc.js/blob/77005d4/lib/wrappers/vestingScheme.ts#L160)*



Sign to cancel a vesting agreement


**Parameters:**

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





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





___


