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

# Interface: IErc827TokenWrapper

## Hierarchy

**IErc827TokenWrapper**

## Implemented by

* [DaoTokenWrapper](../classes/DaoTokenWrapper.md)

## Index

### Methods

* [approveAndCall](IErc827TokenWrapper.md#approveAndCall)
* [decreaseApprovalAndCall](IErc827TokenWrapper.md#decreaseApprovalAndCall)
* [increaseApprovalAndCall](IErc827TokenWrapper.md#increaseApprovalAndCall)
* [transferAndCall](IErc827TokenWrapper.md#transferAndCall)
* [transferFromAndCall](IErc827TokenWrapper.md#transferFromAndCall)

---

## Methods

<a id="approveAndCall"></a>

###  approveAndCall

▸ **approveAndCall**(options: * [ApproveAndCallOptions](ApproveAndCallOptions.md) & `TxGeneratingFunctionOptions`*): `Promise`<[ArcTransactionResult](../classes/ArcTransactionResult.md)>

*Defined in [wrappers/iErc827Token.ts:19](https://github.com/daostack/arc.js/blob/6f704389/lib/wrappers/iErc827Token.ts#L19)*

Approve transfer of tokens by msg.sender (or `onBehalfOf`, if given) from the given "spender". Then call the function specified by `callData`, all in a single transaction.

**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| options |  [ApproveAndCallOptions](ApproveAndCallOptions.md) & `TxGeneratingFunctionOptions`|   |

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

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

###  decreaseApprovalAndCall

▸ **decreaseApprovalAndCall**(options: * [ChangeApprovalAndCallOptions](ChangeApprovalAndCallOptions.md) & `TxGeneratingFunctionOptions`*): `Promise`<[ArcTransactionResult](../classes/ArcTransactionResult.md)>

*Defined in [wrappers/iErc827Token.ts:51](https://github.com/daostack/arc.js/blob/6f704389/lib/wrappers/iErc827Token.ts#L51)*

Decrease the number of tokens approved that msg.sender (or `onBehalfOf` if given) may transfer from the given "spender". Then call the function specified by `callData`, all in a single transaction.

**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| options |  [ChangeApprovalAndCallOptions](ChangeApprovalAndCallOptions.md) & `TxGeneratingFunctionOptions`|   |

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

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

###  increaseApprovalAndCall

▸ **increaseApprovalAndCall**(options: * [ChangeApprovalAndCallOptions](ChangeApprovalAndCallOptions.md) & `TxGeneratingFunctionOptions`*): `Promise`<[ArcTransactionResult](../classes/ArcTransactionResult.md)>

*Defined in [wrappers/iErc827Token.ts:42](https://github.com/daostack/arc.js/blob/6f704389/lib/wrappers/iErc827Token.ts#L42)*

Increase the number of tokens approved that msg.sender (or `onBehalfOf`, if given) may transfer from the given "spender". Then call the function specified by `callData`, all in a single transaction.

**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| options |  [ChangeApprovalAndCallOptions](ChangeApprovalAndCallOptions.md) & `TxGeneratingFunctionOptions`|   |

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

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

###  transferAndCall

▸ **transferAndCall**(options: * [TransferAndCallOptions](TransferAndCallOptions.md) & `TxGeneratingFunctionOptions`*): `Promise`<[ArcTransactionResult](../classes/ArcTransactionResult.md)>

*Defined in [wrappers/iErc827Token.ts:26](https://github.com/daostack/arc.js/blob/6f704389/lib/wrappers/iErc827Token.ts#L26)*

Transfer tokens from the current account to another. Then call the function specified by `callData`, all in a single transaction.

**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| options |  [TransferAndCallOptions](TransferAndCallOptions.md) & `TxGeneratingFunctionOptions`|   |

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

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

###  transferFromAndCall

▸ **transferFromAndCall**(options: * [TransferFromAndCallOptions](TransferFromAndCallOptions.md) & `TxGeneratingFunctionOptions`*): `Promise`<[ArcTransactionResult](../classes/ArcTransactionResult.md)>

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

Transfer tokens from one address to another. Then call the function specified by `callData`, all in a single transaction.

**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| options |  [TransferFromAndCallOptions](TransferFromAndCallOptions.md) & `TxGeneratingFunctionOptions`|   |

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

___

