# Function: selectSmartTokenApproval()

> **selectSmartTokenApproval**(`collection`, `direction`, `approvalId?`): [`iCollectionApproval`](https://docs.bitbadges.io/sdk/reference/interfaces/i-collection-approval)\<`bigint`\> \| `undefined`

Defined in: [packages/bitbadgesjs-sdk/src/core/smart-tokens.ts:243](https://github.com/BitBadges/bitbadgesjs/blob/1fb1ffca5b8ac1c592c988f680c1c501839489b3/packages/bitbadgesjs-sdk/src/core/smart-tokens.ts#L243)

Resolves one action without selecting any approval for the opposite action.

## Parameters

### collection

`Readonly`\<[`iCollectionDoc`](https://docs.bitbadges.io/sdk/reference/interfaces/i-collection-doc)\<`bigint`\>\>

### direction

`"deposit"` \| `"withdraw"`

### approvalId?

`string`

## Returns

[`iCollectionApproval`](https://docs.bitbadges.io/sdk/reference/interfaces/i-collection-approval)\<`bigint`\> \| `undefined`
