> ## Documentation Index
> Fetch the complete documentation index at: https://litprotocol-vincent.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# ContractClient

Defined in: [types.ts:380](https://github.com/LIT-Protocol/Vincent/blob/59bbcc58961d006596c8c80671cc1200f69f2946/packages/libs/contracts-sdk/src/types.ts#L380)

## Methods

### addDelegatee()

> **addDelegatee**(`params`, `overrides?`): `Promise`\<\{ `txHash`: `string`; }>

Defined in: [types.ts:410](https://github.com/LIT-Protocol/Vincent/blob/59bbcc58961d006596c8c80671cc1200f69f2946/packages/libs/contracts-sdk/src/types.ts#L410)

Add a new delegatee to an app

#### Parameters

##### params

[`AddDelegateeParams`](./AddDelegateeParams)

##### overrides?

`Overrides`

#### Returns

`Promise`\<\{ `txHash`: `string`; }>

The hash of the transaction that added the new delegatee

***

### deleteApp()

> **deleteApp**(`params`, `overrides?`): `Promise`\<\{ `txHash`: `string`; }>

Defined in: [types.ts:432](https://github.com/LIT-Protocol/Vincent/blob/59bbcc58961d006596c8c80671cc1200f69f2946/packages/libs/contracts-sdk/src/types.ts#L432)

Delete an application by setting its isDeleted flag to true

#### Parameters

##### params

[`DeleteAppParams`](./DeleteAppParams)

##### overrides?

`Overrides`

#### Returns

`Promise`\<\{ `txHash`: `string`; }>

The hash of the transaction that marked the app deleted

***

### enableAppVersion()

> **enableAppVersion**(`params`, `overrides?`): `Promise`\<\{ `txHash`: `string`; }>

Defined in: [types.ts:401](https://github.com/LIT-Protocol/Vincent/blob/59bbcc58961d006596c8c80671cc1200f69f2946/packages/libs/contracts-sdk/src/types.ts#L401)

Enable or disable a specific app version

#### Parameters

##### params

[`EnableAppVersionParams`](./EnableAppVersionParams)

##### overrides?

`Overrides`

#### Returns

`Promise`\<\{ `txHash`: `string`; }>

The hash of the transaction that set the app enabled state

***

### getAllAbilitiesAndPoliciesForApp()

> **getAllAbilitiesAndPoliciesForApp**(`params`): `Promise`\<[`PermissionData`](./PermissionData)>

Defined in: [types.ts:544](https://github.com/LIT-Protocol/Vincent/blob/59bbcc58961d006596c8c80671cc1200f69f2946/packages/libs/contracts-sdk/src/types.ts#L544)

Get all permitted abilities, policies, and policy parameters for a specific app and PKP in a nested object structure

#### Parameters

##### params

[`GetAllAbilitiesAndPoliciesForAppParams`](./GetAllAbilitiesAndPoliciesForAppParams)

#### Returns

`Promise`\<[`PermissionData`](./PermissionData)>

Nested object structure where keys are ability IPFS CIDs and values are objects with policy IPFS CIDs as keys

***

### ~~getAllPermittedAppIdsForPkp()~~

> **getAllPermittedAppIdsForPkp**(`params`): `Promise`\<`number`\[]>

Defined in: [types.ts:530](https://github.com/LIT-Protocol/Vincent/blob/59bbcc58961d006596c8c80671cc1200f69f2946/packages/libs/contracts-sdk/src/types.ts#L530)

Get all app IDs that have permissions for a specific PKP token, excluding deleted apps

#### Parameters

##### params

[`GetAllPermittedAppIdsForPkpParams`](./GetAllPermittedAppIdsForPkpParams)

#### Returns

`Promise`\<`number`\[]>

Array of app IDs that have permissions for the PKP token and haven't been deleted

#### Deprecated

Use getPermittedAppsForPkps instead

***

### getAllRegisteredAgentPkpEthAddresses()

> **getAllRegisteredAgentPkpEthAddresses**(`params`): `Promise`\<`string`\[]>

Defined in: [types.ts:513](https://github.com/LIT-Protocol/Vincent/blob/59bbcc58961d006596c8c80671cc1200f69f2946/packages/libs/contracts-sdk/src/types.ts#L513)

Get all PKP tokens that are registered as agents for a specific user address

#### Parameters

##### params

[`GetAllRegisteredAgentPkpsParams`](./GetAllRegisteredAgentPkpsParams)

#### Returns

`Promise`\<`string`\[]>

Array of PKP eth addresses that are registered as agents for the user. Empty array if none found.

***

### getAppByDelegateeAddress()

> **getAppByDelegateeAddress**(`params`): `Promise`\<`null` | [`App`](./App)>

Defined in: [types.ts:470](https://github.com/LIT-Protocol/Vincent/blob/59bbcc58961d006596c8c80671cc1200f69f2946/packages/libs/contracts-sdk/src/types.ts#L470)

Get the app associated with a delegatee address

#### Parameters

##### params

[`GetAppByDelegateeParams`](./GetAppByDelegateeParams)

#### Returns

`Promise`\<`null` | [`App`](./App)>

Detailed view of the app the delegatee is associated with

***

### getAppById()

> **getAppById**(`params`): `Promise`\<`null` | [`App`](./App)>

Defined in: [types.ts:444](https://github.com/LIT-Protocol/Vincent/blob/59bbcc58961d006596c8c80671cc1200f69f2946/packages/libs/contracts-sdk/src/types.ts#L444)

Get detailed information about an app by its ID

#### Parameters

##### params

[`GetAppByIdParams`](./GetAppByIdParams)

#### Returns

`Promise`\<`null` | [`App`](./App)>

Detailed view of the app containing its metadata and relationships, or null if the app is not registered

***

### getAppIdByDelegatee()

> **getAppIdByDelegatee**(`params`): `Promise`\<`null` | `number`>

Defined in: [types.ts:450](https://github.com/LIT-Protocol/Vincent/blob/59bbcc58961d006596c8c80671cc1200f69f2946/packages/libs/contracts-sdk/src/types.ts#L450)

Get the app ID for a specific delegatee address

#### Parameters

##### params

`GetAppIdByDelegateeParams`

#### Returns

`Promise`\<`null` | `number`>

The app ID for the specified delegatee address

***

### getAppsByManagerAddress()

> **getAppsByManagerAddress**(`params`): `Promise`\<`object`\[]>

Defined in: [types.ts:462](https://github.com/LIT-Protocol/Vincent/blob/59bbcc58961d006596c8c80671cc1200f69f2946/packages/libs/contracts-sdk/src/types.ts#L462)

Get all apps managed by a specific address with all their versions

#### Parameters

##### params

[`GetAppsByManagerParams`](./GetAppsByManagerParams)

#### Returns

`Promise`\<`object`\[]>

Array of apps with all their versions managed by the specified address

***

### getAppVersion()

> **getAppVersion**(`params`): `Promise`\<`null` | \{ `appVersion`: [`AppVersion`](./AppVersion); }>

Defined in: [types.ts:456](https://github.com/LIT-Protocol/Vincent/blob/59bbcc58961d006596c8c80671cc1200f69f2946/packages/libs/contracts-sdk/src/types.ts#L456)

Get detailed information about a specific version of an app

#### Parameters

##### params

[`GetAppVersionParams`](./GetAppVersionParams)

#### Returns

`Promise`\<`null` | \{ `appVersion`: [`AppVersion`](./AppVersion); }>

Object containing basic app information and version-specific information including abilities and policies, or null if the app version is not registered

***

### getDelegatedPkpEthAddresses()

> **getDelegatedPkpEthAddresses**(`params`): `Promise`\<`string`\[]>

Defined in: [types.ts:482](https://github.com/LIT-Protocol/Vincent/blob/59bbcc58961d006596c8c80671cc1200f69f2946/packages/libs/contracts-sdk/src/types.ts#L482)

Get delegated agent PKP token IDs for a specific app version with pagination

Returns the first 100 PKP eth addresses.

Provide `offset` to fetch paginated results.

#### Parameters

##### params

[`GetDelegatedPkpEthAddressesParams`](./GetDelegatedPkpEthAddressesParams)

#### Returns

`Promise`\<`string`\[]>

Array of delegated agent PKP token IDs

***

### getLastPermittedAppVersionForPkp()

> **getLastPermittedAppVersionForPkp**(`params`): `Promise`\<`null` | `number`>

Defined in: [types.ts:574](https://github.com/LIT-Protocol/Vincent/blob/59bbcc58961d006596c8c80671cc1200f69f2946/packages/libs/contracts-sdk/src/types.ts#L574)

Get the last permitted version for a specific app and PKP

#### Parameters

##### params

[`GetLastPermittedAppVersionParams`](./GetLastPermittedAppVersionParams)

#### Returns

`Promise`\<`null` | `number`>

The last permitted app version, or null if never permitted

***

### getPermittedAppsForPkps()

> **getPermittedAppsForPkps**(`params`): `Promise`\<[`PkpPermittedApps`](./PkpPermittedApps)\[]>

Defined in: [types.ts:538](https://github.com/LIT-Protocol/Vincent/blob/59bbcc58961d006596c8c80671cc1200f69f2946/packages/libs/contracts-sdk/src/types.ts#L538)

Get permitted apps for multiple PKPs with detailed information including versions and enabled status

#### Parameters

##### params

[`GetPermittedAppsForPkpsParams`](./GetPermittedAppsForPkpsParams)

#### Returns

`Promise`\<[`PkpPermittedApps`](./PkpPermittedApps)\[]>

Array of PkpPermittedApps containing permitted app details for each PKP

***

### getPermittedAppVersionForPkp()

> **getPermittedAppVersionForPkp**(`params`): `Promise`\<`null` | `number`>

Defined in: [types.ts:521](https://github.com/LIT-Protocol/Vincent/blob/59bbcc58961d006596c8c80671cc1200f69f2946/packages/libs/contracts-sdk/src/types.ts#L521)

Get the permitted app version for a specific PKP token and app

#### Parameters

##### params

[`GetPermittedAppVersionForPkpParams`](./GetPermittedAppVersionForPkpParams)

#### Returns

`Promise`\<`null` | `number`>

The permitted app version for the PKP token and app

***

### getUnpermittedAppsForPkps()

> **getUnpermittedAppsForPkps**(`params`): `Promise`\<[`PkpUnpermittedApps`](./PkpUnpermittedApps)\[]>

Defined in: [types.ts:582](https://github.com/LIT-Protocol/Vincent/blob/59bbcc58961d006596c8c80671cc1200f69f2946/packages/libs/contracts-sdk/src/types.ts#L582)

Get unpermitted apps for multiple PKPs with their last permitted versions

#### Parameters

##### params

[`GetUnpermittedAppsForPkpsParams`](./GetUnpermittedAppsForPkpsParams)

#### Returns

`Promise`\<[`PkpUnpermittedApps`](./PkpUnpermittedApps)\[]>

Array of PkpUnpermittedApps containing unpermitted app details for each PKP

***

### isDelegateePermitted()

> **isDelegateePermitted**(`params`): `Promise`\<`boolean`>

Defined in: [types.ts:560](https://github.com/LIT-Protocol/Vincent/blob/59bbcc58961d006596c8c80671cc1200f69f2946/packages/libs/contracts-sdk/src/types.ts#L560)

Check if a delegatee is permitted to execute an ability with a PKP

#### Parameters

##### params

[`IsDelegateePermittedParams`](./IsDelegateePermittedParams)

#### Returns

`Promise`\<`boolean`>

Boolean indicating whether the delegatee has permission

***

### permitApp()

> **permitApp**(`params`, `overrides?`): `Promise`\<\{ `txHash`: `string`; }>

Defined in: [types.ts:490](https://github.com/LIT-Protocol/Vincent/blob/59bbcc58961d006596c8c80671cc1200f69f2946/packages/libs/contracts-sdk/src/types.ts#L490)

Permits an app version for an Agent Wallet PKP token and optionally sets ability policy parameters

#### Parameters

##### params

[`PermitAppParams`](./PermitAppParams)

##### overrides?

`Overrides`

#### Returns

`Promise`\<\{ `txHash`: `string`; }>

The transaction hash that permitted the app

***

### registerApp()

> **registerApp**(`params`, `overrides?`): `Promise`\<\{ `txHash`: `string`; }>

Defined in: [types.ts:385](https://github.com/LIT-Protocol/Vincent/blob/59bbcc58961d006596c8c80671cc1200f69f2946/packages/libs/contracts-sdk/src/types.ts#L385)

Registers a new app with its initial appVersion (v1)'s permissions

#### Parameters

##### params

[`RegisterAppParams`](./RegisterAppParams)

##### overrides?

`Overrides`

#### Returns

`Promise`\<\{ `txHash`: `string`; }>

* The hash of the transaction that registered the app

***

### registerNextVersion()

> **registerNextVersion**(`params`, `overrides?`): `Promise`\<\{ `newAppVersion`: `number`; `txHash`: `string`; }>

Defined in: [types.ts:392](https://github.com/LIT-Protocol/Vincent/blob/59bbcc58961d006596c8c80671cc1200f69f2946/packages/libs/contracts-sdk/src/types.ts#L392)

Register a new version on an existing application

#### Parameters

##### params

[`RegisterNextVersionParams`](./RegisterNextVersionParams)

##### overrides?

`Overrides`

#### Returns

`Promise`\<\{ `newAppVersion`: `number`; `txHash`: `string`; }>

The transaction hash and the new app version incremented on-chain.

#### Throws

* If for some reason the new app creation event is not found after a successful transaction, this method will throw an error.

***

### removeDelegatee()

> **removeDelegatee**(`params`, `overrides?`): `Promise`\<\{ `txHash`: `string`; }>

Defined in: [types.ts:416](https://github.com/LIT-Protocol/Vincent/blob/59bbcc58961d006596c8c80671cc1200f69f2946/packages/libs/contracts-sdk/src/types.ts#L416)

Remove a delegatee from an app

#### Parameters

##### params

[`RemoveDelegateeParams`](./RemoveDelegateeParams)

##### overrides?

`Overrides`

#### Returns

`Promise`\<\{ `txHash`: `string`; }>

The hash of the transaction that removed the existing delegatee

***

### rePermitApp()

> **rePermitApp**(`params`, `overrides?`): `Promise`\<\{ `txHash`: `string`; }>

Defined in: [types.ts:568](https://github.com/LIT-Protocol/Vincent/blob/59bbcc58961d006596c8c80671cc1200f69f2946/packages/libs/contracts-sdk/src/types.ts#L568)

Re-permits an app using the last permitted version for a PKP

#### Parameters

##### params

[`RePermitAppParams`](./RePermitAppParams)

##### overrides?

`Overrides`

#### Returns

`Promise`\<\{ `txHash`: `string`; }>

The transaction hash that re-permitted the app

***

### setAbilityPolicyParameters()

> **setAbilityPolicyParameters**(`params`, `overrides?`): `Promise`\<\{ `txHash`: `string`; }>

Defined in: [types.ts:504](https://github.com/LIT-Protocol/Vincent/blob/59bbcc58961d006596c8c80671cc1200f69f2946/packages/libs/contracts-sdk/src/types.ts#L504)

Sets ability policy parameters for a specific app version
Note that omitting parameters from `policyParams` does not remove any existing values; this function allows atomic/sparse updates.

To remove existing policy parameters, provide their IPFS CIDs in the `deletePermissionData` param.

#### Parameters

##### params

[`SetAbilityPolicyParametersParams`](./SetAbilityPolicyParametersParams)

##### overrides?

`Overrides`

#### Returns

`Promise`\<\{ `txHash`: `string`; }>

The transaction hash that set the policy parameters

***

### setDelegatee()

> **setDelegatee**(`params`, `overrides?`): `Promise`\<\{ `txHash`: `string`; }>

Defined in: [types.ts:425](https://github.com/LIT-Protocol/Vincent/blob/59bbcc58961d006596c8c80671cc1200f69f2946/packages/libs/contracts-sdk/src/types.ts#L425)

Set delegatees for an app (replaces all existing delegatees)

#### Parameters

##### params

[`SetDelegateeParams`](./SetDelegateeParams)

##### overrides?

`Overrides`

#### Returns

`Promise`\<\{ `txHash`: `string`; }>

The hash of the transaction that set the delegatees

***

### undeleteApp()

> **undeleteApp**(`params`, `overrides?`): `Promise`\<\{ `txHash`: `string`; }>

Defined in: [types.ts:438](https://github.com/LIT-Protocol/Vincent/blob/59bbcc58961d006596c8c80671cc1200f69f2946/packages/libs/contracts-sdk/src/types.ts#L438)

Undelete an app by setting its isDeleted flag to false

#### Parameters

##### params

[`UndeleteAppParams`](./UndeleteAppParams)

##### overrides?

`Overrides`

#### Returns

`Promise`\<\{ `txHash`: `string`; }>

The hash of the transaction that undeleted the app

***

### unPermitApp()

> **unPermitApp**(`params`, `overrides?`): `Promise`\<\{ `txHash`: `string`; }>

Defined in: [types.ts:496](https://github.com/LIT-Protocol/Vincent/blob/59bbcc58961d006596c8c80671cc1200f69f2946/packages/libs/contracts-sdk/src/types.ts#L496)

Revokes permission for a PKP to use a specific app version

#### Parameters

##### params

[`UnPermitAppParams`](./UnPermitAppParams)

##### overrides?

`Overrides`

#### Returns

`Promise`\<\{ `txHash`: `string`; }>

The transaction hash that remoked permission for the app

***

### validateAbilityExecutionAndGetPolicies()

> **validateAbilityExecutionAndGetPolicies**(`params`): `Promise`\<[`ValidateAbilityExecutionAndGetPoliciesResult`](./ValidateAbilityExecutionAndGetPoliciesResult)>

Defined in: [types.ts:552](https://github.com/LIT-Protocol/Vincent/blob/59bbcc58961d006596c8c80671cc1200f69f2946/packages/libs/contracts-sdk/src/types.ts#L552)

Validates ability execution and gets policies for a specific ability

#### Parameters

##### params

[`ValidateAbilityExecutionAndGetPoliciesParams`](./ValidateAbilityExecutionAndGetPoliciesParams)

#### Returns

`Promise`\<[`ValidateAbilityExecutionAndGetPoliciesResult`](./ValidateAbilityExecutionAndGetPoliciesResult)>

Object containing validation result with isPermitted, appId, appVersion, and policies


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.