[API Reference](../README.md) > [IUniversalSchemeWrapper](../interfaces/IUniversalSchemeWrapper.md)

# Interface: IUniversalSchemeWrapper

The minimum requirements for a universal scheme.

## Hierarchy

↳  [ISchemeWrapper](ISchemeWrapper.md)

**↳ IUniversalSchemeWrapper**

## Index

### Properties

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

### Methods

* [getDefaultPermissions](IUniversalSchemeWrapper.md#getDefaultPermissions)
* [getParameters](IUniversalSchemeWrapper.md#getParameters)
* [getParametersArray](IUniversalSchemeWrapper.md#getParametersArray)
* [getParametersHash](IUniversalSchemeWrapper.md#getParametersHash)
* [getSchemeParameters](IUniversalSchemeWrapper.md#getSchemeParameters)
* [getSchemePermissions](IUniversalSchemeWrapper.md#getSchemePermissions)
* [hydrateFromAt](IUniversalSchemeWrapper.md#hydrateFromAt)
* [hydrateFromNew](IUniversalSchemeWrapper.md#hydrateFromNew)
* [setParameters](IUniversalSchemeWrapper.md#setParameters)

---

## Properties

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

###  address

**● address**: *[Address](../#Address)*

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

*Defined in [iContractWrapperBase.ts:13](https://github.com/daostack/arc.js/blob/6f704389/lib/iContractWrapperBase.ts#L13)*

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

###  contract

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

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

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

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

###  factory

**● factory**: *[IContractWrapperFactory](IContractWrapperFactory.md)<`any`>*

*Inherited from [IContractWrapper](IContractWrapper.md).[factory](IContractWrapper.md#factory)*

*Defined in [iContractWrapperBase.ts:10](https://github.com/daostack/arc.js/blob/6f704389/lib/iContractWrapperBase.ts#L10)*

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

###  friendlyName

**● friendlyName**: *`string`*

*Inherited from [IContractWrapper](IContractWrapper.md).[friendlyName](IContractWrapper.md#friendlyName)*

*Defined in [iContractWrapperBase.ts:12](https://github.com/daostack/arc.js/blob/6f704389/lib/iContractWrapperBase.ts#L12)*

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

###  name

**● name**: *`string`*

*Inherited from [IContractWrapper](IContractWrapper.md).[name](IContractWrapper.md#name)*

*Defined in [iContractWrapperBase.ts:11](https://github.com/daostack/arc.js/blob/6f704389/lib/iContractWrapperBase.ts#L11)*

___

## Methods

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

###  getDefaultPermissions

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

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

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

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

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

###  getParameters

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

*Defined in [iContractWrapperBase.ts:31](https://github.com/daostack/arc.js/blob/6f704389/lib/iContractWrapperBase.ts#L31)*

**Parameters:**

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

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

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

###  getParametersArray

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

*Defined in [iContractWrapperBase.ts:35](https://github.com/daostack/arc.js/blob/6f704389/lib/iContractWrapperBase.ts#L35)*

**Parameters:**

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

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

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

###  getParametersHash

▸ **getParametersHash**(params: *`any`*): `Promise`<[Hash](../#Hash)>

*Defined in [iContractWrapperBase.ts:32](https://github.com/daostack/arc.js/blob/6f704389/lib/iContractWrapperBase.ts#L32)*

**Parameters:**

| Param | Type |
| ------ | ------ |
| params | `any` |

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

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

###  getSchemeParameters

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

*Defined in [iContractWrapperBase.ts:34](https://github.com/daostack/arc.js/blob/6f704389/lib/iContractWrapperBase.ts#L34)*

**Parameters:**

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

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

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

###  getSchemePermissions

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

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

*Defined in [iContractWrapperBase.ts:23](https://github.com/daostack/arc.js/blob/6f704389/lib/iContractWrapperBase.ts#L23)*

**Parameters:**

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

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

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

###  hydrateFromAt

▸ **hydrateFromAt**(address: *`string`*): `Promise`<`any`>

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

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

**Parameters:**

| Param | Type |
| ------ | ------ |
| address | `string` |

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

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

###  hydrateFromNew

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

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

*Defined in [iContractWrapperBase.ts:15](https://github.com/daostack/arc.js/blob/6f704389/lib/iContractWrapperBase.ts#L15)*

**Parameters:**

| Param | Type |
| ------ | ------ |
| `Rest` rest | `Array`<`any`> |

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

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

###  setParameters

▸ **setParameters**(params: *`any`*): `Promise`<[ArcTransactionDataResult](../classes/ArcTransactionDataResult.md)<[Hash](../#Hash)>>

*Defined in [iContractWrapperBase.ts:33](https://github.com/daostack/arc.js/blob/6f704389/lib/iContractWrapperBase.ts#L33)*

**Parameters:**

| Param | Type |
| ------ | ------ |
| params | `any` |

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

___

