> ## Documentation Index
> Fetch the complete documentation index at: https://docs.clanker.world/llms.txt
> Use this file to discover all available pages before exploring further.

# V4 — Clanker Class

[**clanker-sdk**](https://docs.clanker.world/sdk-reference/sdk-reference.md)

***

[clanker-sdk](https://docs.clanker.world/sdk-reference/sdk-reference.md) / v4

## Classes

### Clanker

Defined in: [src/v4/index.ts:30](https://github.com/clanker-devco/clanker-sdk/blob/main/src/v4/index.ts#L30)

Clanker v4

#### Constructors

##### Constructor

```ts theme={null}
new Clanker(config?): Clanker;
```

Defined in: [src/v4/index.ts:34](https://github.com/clanker-devco/clanker-sdk/blob/main/src/v4/index.ts#L34)

###### Parameters

| Parameter | Type |
| - | - |
| `config?` | `ClankerConfig` |

###### Returns

[`Clanker`](#clanker)

#### Properties

| Property | Modifier | Type | Defined in |
| - | - | - | - |
|  `publicClient?` | `readonly` | \{ } | [src/v4/index.ts:32](https://github.com/clanker-devco/clanker-sdk/blob/main/src/v4/index.ts#L32) |
|  `wallet?` | `readonly` | \{ } | [src/v4/index.ts:31](https://github.com/clanker-devco/clanker-sdk/blob/main/src/v4/index.ts#L31) |

#### Methods

##### availableRewards()

```ts theme={null}
availableRewards(token): Promise<bigint>;
```

Defined in: [src/v4/index.ts:151](https://github.com/clanker-devco/clanker-sdk/blob/main/src/v4/index.ts#L151)

Check available rewards for a token and recipient.

###### Parameters

| Parameter | Type | Description |
| - | - | - |
| `token` | \{ `rewardRecipient`: `` `0x${string}` ``; `token`: `` `0x${string}` ``; } | Token to check rewards for |
| `token.rewardRecipient` | `` `0x${string}` `` | - |
| `token.token` | `` `0x${string}` `` | - |

###### Returns

`Promise`\<`bigint`>

Amount of rewards for the `token` and `rewardRecipient`

##### claimRewards()

```ts theme={null}
claimRewards(token): Promise<
  | {
  error: undefined;
  txHash: `0x${string}`;
}
  | {
  error: ClankerError;
  txHash: undefined;
}>;
```

Defined in: [src/v4/index.ts:97](https://github.com/clanker-devco/clanker-sdk/blob/main/src/v4/index.ts#L97)

Claim rewards for a clanker token.

###### Parameters

| Parameter | Type | Description |
| - | - | - |
| `token` | \{ `rewardRecipient`: `` `0x${string}` ``; `token`: `` `0x${string}` ``; } | Token to claim rewards for |
| `token.rewardRecipient` | `` `0x${string}` `` | - |
| `token.token` | `` `0x${string}` `` | - |

###### Returns

`Promise`\<
\| \{
`error`: `undefined`;
`txHash`: `` `0x${string}` ``;
}
\| \{
`error`: `ClankerError`;
`txHash`: `undefined`;
}>

Transaction hash of the claim or error

##### claimRewardsSimulate()

[View full generated declaration (593 lines)](https://raw.githubusercontent.com/clanker-devco/DOCS/refs/heads/main/mintlify/assets/sdk-types/ada917a1362016063d4b2eae3cb6871f395699365ee926cbf64f2cda96f3e970.txt)

Defined in: [src/v4/index.ts:74](https://github.com/clanker-devco/clanker-sdk/blob/main/src/v4/index.ts#L74)

Simulate claiming rewards. Will use the wallet account on the Clanker class or
the passed-in account.

###### Parameters

| Parameter | Type | Description |
| - | - | - |
| `token` | \{ `rewardRecipient`: `` `0x${string}` ``; `token`: `` `0x${string}` ``; } | The token to simulate reward claiming for |
| `token.rewardRecipient` | `` `0x${string}` `` | - |
| `token.token?` | `` `0x${string}` `` | - |
| `account?` | `Account` | Optional account to simulate calling claiming for |

###### Returns

`Promise`\<
\| `SimulateContractReturnType`\<readonly \[\{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"owner_"`;
`type`: `"address"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"constructor"`;
}, \{
`inputs`: readonly \[];
`name`: `"ClaimAmountTooHigh"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"InvalidRecipient"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"NoFeesToClaim"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"owner"`;
`type`: `"address"`;
}];
`name`: `"OwnableInvalidOwner"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}];
`name`: `"OwnableUnauthorizedAccount"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"ReentrancyGuardReentrantCall"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"SafeERC20FailedOperation"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TransferFailed"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"Unauthorized"`;
`type`: `"error"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"depositor"`;
`type`: `"address"`;
}];
`name`: `"AddDepositor"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"feeOwner"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amountClaimed"`;
`type`: `"uint256"`;
}];
`name`: `"ClaimTokens"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"feeOwner"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"recipient"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amountClaimed"`;
`type`: `"uint256"`;
}];
`name`: `"ClaimTokensPermissioned"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"previousOwner"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"newOwner"`;
`type`: `"address"`;
}];
`name`: `"OwnershipTransferred"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"sender"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"feeOwner"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"balance"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amount"`;
`type`: `"uint256"`;
}];
`name`: `"StoreTokens"`;
`type`: `"event"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"depositor"`;
`type`: `"address"`;
}];
`name`: `"addDepositor"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"depositor"`;
`type`: `"address"`;
}];
`name`: `"allowedDepositors"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `"isAllowed"`;
`type`: `"bool"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"feeOwner"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"availableFees"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"feeOwner"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"claim"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"feeOwner"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"feesToClaim"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"balance"`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"owner"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"renounceOwnership"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"feeOwner"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"amount"`;
`type`: `"uint256"`;
}];
`name`: `"storeFees"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"bytes4"`;
`name`: `"interfaceId"`;
`type`: `"bytes4"`;
}];
`name`: `"supportsInterface"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"pure"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"newOwner"`;
`type`: `"address"`;
}];
`name`: `"transferOwnership"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}],
\| `"renounceOwnership"`
\| `"transferOwnership"`
\| `"claim"`
\| `"addDepositor"`
\| `"storeFees"`> & \{
`error?`: `undefined`;
}
\| `UndefinedValues`\<`SimulateContractReturnType`\<readonly \[\{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"owner_"`;
`type`: `"address"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"constructor"`;
}, \{
`inputs`: readonly \[];
`name`: `"ClaimAmountTooHigh"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"InvalidRecipient"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"NoFeesToClaim"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"owner"`;
`type`: `"address"`;
}];
`name`: `"OwnableInvalidOwner"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}];
`name`: `"OwnableUnauthorizedAccount"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"ReentrancyGuardReentrantCall"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"SafeERC20FailedOperation"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TransferFailed"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"Unauthorized"`;
`type`: `"error"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"depositor"`;
`type`: `"address"`;
}];
`name`: `"AddDepositor"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"feeOwner"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amountClaimed"`;
`type`: `"uint256"`;
}];
`name`: `"ClaimTokens"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"feeOwner"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"recipient"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amountClaimed"`;
`type`: `"uint256"`;
}];
`name`: `"ClaimTokensPermissioned"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"previousOwner"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"newOwner"`;
`type`: `"address"`;
}];
`name`: `"OwnershipTransferred"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"sender"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"feeOwner"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"balance"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amount"`;
`type`: `"uint256"`;
}];
`name`: `"StoreTokens"`;
`type`: `"event"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"depositor"`;
`type`: `"address"`;
}];
`name`: `"addDepositor"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"depositor"`;
`type`: `"address"`;
}];
`name`: `"allowedDepositors"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `"isAllowed"`;
`type`: `"bool"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"feeOwner"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"availableFees"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"feeOwner"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"claim"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"feeOwner"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"feesToClaim"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"balance"`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"owner"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"renounceOwnership"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"feeOwner"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"amount"`;
`type`: `"uint256"`;
}];
`name`: `"storeFees"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"bytes4"`;
`name`: `"interfaceId"`;
`type`: `"bytes4"`;
}];
`name`: `"supportsInterface"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"pure"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"newOwner"`;
`type`: `"address"`;
}];
`name`: `"transferOwnership"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}],
\| `"renounceOwnership"`
\| `"transferOwnership"`
\| `"claim"`
\| `"addDepositor"`
\| `"storeFees"`>> & \{
`error`: `ClankerError`;
}>

The simulated output

##### claimVaultedTokens()

```ts theme={null}
claimVaultedTokens(token): Promise<
  | {
  txHash: `0x${string}`;
} & {
  error?: undefined;
}
  | UndefinedValues<{
  txHash: `0x${string}`;
}> & {
  error: ClankerError;
}>;
```

Defined in: [src/v4/index.ts:481](https://github.com/clanker-devco/clanker-sdk/blob/main/src/v4/index.ts#L481)

Claim vaulted tokens for a clanker token.

###### Parameters

| Parameter | Type | Description |
| - | - | - |
| `token` | \{ `token`: `` `0x${string}` ``; } | Token to claim vaulted tokens for |
| `token.token` | `` `0x${string}` `` | - |

###### Returns

`Promise`\<
\| \{
`txHash`: `` `0x${string}` ``;
} & \{
`error?`: `undefined`;
}
\| `UndefinedValues`\<\{
`txHash`: `` `0x${string}` ``;
}> & \{
`error`: `ClankerError`;
}>

Transaction hash of the claim or error

##### deploy()

```ts theme={null}
deploy(token, options?): Promise<
  | {
  txHash: `0x${string}`;
  waitForTransaction: () => ClankerResult<{
     address: `0x${string}`;
  }>;
} & {
  error?: undefined;
}
  | UndefinedValues<{
  txHash: `0x${string}`;
  waitForTransaction: () => ClankerResult<{
     address: `0x${string}`;
  }>;
}> & {
  error: ClankerError;
}>;
```

Defined in: [src/v4/index.ts:204](https://github.com/clanker-devco/clanker-sdk/blob/main/src/v4/index.ts#L204)

Deploy a token

###### Parameters

| Parameter | Type | Description |
| - | - | - |
| `token` | [Full type](https://raw.githubusercontent.com/clanker-devco/DOCS/refs/heads/main/mintlify/assets/sdk-types/f5a0587f996f6c02255e424e06554895e48f63dbcee4f50620ac17c7813ef83f.txt) | The token to deploy |
| `token.airdrop?` | \{ `admin?`: `` `0x${string}` ``; `amount`: `number`; `lockupDuration`: `number`; `merkleRoot`: `` `0x${string}` ``; `vestingDuration?`: `number`; } | Token airdrop. Tokens are locked for some duration with possible vesting. |
| `token.airdrop.admin?` | `` `0x${string}` `` | Admin for the airdrop. Defaults to TokenAdmin if not set. |
| `token.airdrop.amount?` | `number` | How many tokens to lock up. Denoted in whole tokens (without the 18 decimals). Minimum is 25 bps of the supply. |
| `token.airdrop.lockupDuration?` | `number` | How long to lock the tokens for. In seconds. Minimum 1 day. |
| `token.airdrop.merkleRoot?` | `` `0x${string}` `` | Root of the airdrop merkle tree. |
| `token.airdrop.vestingDuration?` | `number` | After the lockup, how long the tokens should vest for. Vesting is linear over the duration. In seconds. |
| `token.chainId?` | `1` \| `143` \| `4663` \| `8453` \| `10143` \| `2741` \| `84532` \| `42161` \| `130` \| `56` | Id of the chain that the token will be deployed to. Defaults to base (8453). |
| `token.context?` | \{ `id?`: `string`; `interface?`: `string`; `messageId?`: `string`; `platform?`: `string`; } | Social provenance for the token. Interface defaults to "SDK" if not set. |
| `token.context.id?` | `string` | User id of the poster on the social platform the token was deployed from. Used for provenance and will be verified by aggregators. |
| `token.context.interface?` | `string` | System the token was deployed via. Defaults to "SDK". |
| `token.context.messageId?` | `string` | Id of the message on the social platform the token was deployed from. Used for provenance and will be verified by aggregators. |
| `token.context.platform?` | `string` | Social platform the token was deployed from. Used for provenance and will be verified by aggregators. |
| `token.devBuy?` | \{ `amountOutMin?`: `number`; `ethAmount`: `number`; `poolKey?`: \{ `currency0`: `` `0x${string}` ``; `currency1`: `` `0x${string}` ``; `fee`: `number`; `hooks`: `` `0x${string}` ``; `tickSpacing`: `number`; }; `recipient?`: `` `0x${string}` ``; } | Token dev buy. Tokens are bought in the token creation transaction. |
| `token.devBuy.amountOutMin?` | `number` | Amount out min for the ETH -> PAIR swap. Used if the clanker is not paired with ETH. |
| `token.devBuy.ethAmount?` | `number` | How much of the token to buy (denoted in ETH). |
| `token.devBuy.poolKey?` | \{ `currency0`: `` `0x${string}` ``; `currency1`: `` `0x${string}` ``; `fee`: `number`; `hooks`: `` `0x${string}` ``; `tickSpacing`: `number`; } | Pool identifier. Used if the clanker is not paired with ETH. Then the devbuy will pay ETH -> PAIR -> CLANKER. |
| `token.devBuy.poolKey.currency0?` | `` `0x${string}` `` | - |
| `token.devBuy.poolKey.currency1?` | `` `0x${string}` `` | - |
| `token.devBuy.poolKey.fee?` | `number` | - |
| `token.devBuy.poolKey.hooks?` | `` `0x${string}` `` | - |
| `token.devBuy.poolKey.tickSpacing?` | `number` | - |
| `token.devBuy.recipient?` | `` `0x${string}` `` | Recipient address for the purchased tokens. Defaults to tokenAdmin if not specified. |
| `token.fees?` | \| \{ `clankerFee`: `number`; `pairedFee`: `number`; `type?`: `"static"`; } \| \{ `baseFee`: `number`; `decayFilterBps`: `number`; `feeControlNumerator`: `number`; `maxFee`: `number`; `referenceTickFilterPeriod`: `number`; `resetPeriod`: `number`; `resetTickFilter`: `number`; `type?`: `"dynamic"`; } | Fee structure for the token. |
| `token.image?` | `string` | Image for the token. This should be a normal or ipfs url. |
| `token.locker?` | \{ `locker`: `` `0x${string}` `` \| `"Locker"`; `lockerData?`: `` `0x${string}` ``; } | Token locker |
| `token.locker.locker?` | `` `0x${string}` `` \| `"Locker"` | Locker extension address. |
| `token.locker.lockerData?` | `` `0x${string}` `` | Locker extension specific data. Abi encoded hex of the parameters. |
| `token.metadata?` | \{ `auditUrls?`: `string`\[]; `description?`: `string`; `socialMediaUrls?`: \{ `platform`: `string`; `url`: `string`; }\[]; } | Metadata for the token. |
| `token.metadata.auditUrls?` | `string`\[] | Audits for other contracts or services offered by the project. |
| `token.metadata.description?` | `string` | Description of the token or token project. |
| `token.metadata.socialMediaUrls?` | \{ `platform`: `string`; `url`: `string`; }\[] | Socials for the token. These may be displayed on aggregators. |
| `token.name?` | `string` | Name of the token. Example: "My Token". |
| `token.pool?` | \{ `pairedToken?`: `` `0x${string}` `` \| `"WETH"`; `positions`: \{ `positionBps`: `number`; `tickLower`: `number`; `tickUpper`: `number`; }\[]; `tickIfToken0IsClanker?`: `number`; `tickSpacing?`: `number`; } | Pool information |
| `token.pool.pairedToken?` | `` `0x${string}` `` \| `"WETH"` | Token to pair the clanker with. |
| `token.pool.positions?` | \{ `positionBps`: `number`; `tickLower`: `number`; `tickUpper`: `number`; }\[] | Positions for initial pool liquidity. Bps must sum to 100%. |
| `token.pool.tickIfToken0IsClanker?` | `number` | Starting tick of the pool. |
| `token.pool.tickSpacing?` | `number` | Tick spacing. |
| `token.poolExtension?` | \{ `address`: `` `0x${string}` ``; `initData`: `` `0x${string}` ``; } | \[v4.1+ only] Custom developer extension |
| `token.poolExtension.address?` | `` `0x${string}` `` | Address of the developer extension |
| `token.poolExtension.initData?` | `` `0x${string}` `` | Initialization data for the extension |
| `token.presale?` | \{ `bps`: `number`; } | Presale configuration for the token. Must be deployed via the presale contract. |
| `token.presale.bps?` | `number` | Bps for allocation to presale |
| `token.rewards?` | \{ `recipients`: \{ `admin`: `` `0x${string}` ``; `bps`: `number`; `recipient`: `` `0x${string}` ``; `token`: `"Both"` \| `"Paired"` \| `"Clanker"`; }\[]; } | Rewards & recipients for rewards generated by the token. |
| `token.rewards.recipients?` | \{ `admin`: `` `0x${string}` ``; `bps`: `number`; `recipient`: `` `0x${string}` ``; `token`: `"Both"` \| `"Paired"` \| `"Clanker"`; }\[] | Recipients of the token rewards. Must sum to 100%. |
| `token.salt?` | `` `0x${string}` `` | Custom salt for CREATE2 deployment. If provided, this will be used instead of vanity address generation. Takes precedence over vanity. |
| `token.sniperFees?` | \{ `endingFee`: `number`; `secondsToDecay`: `number`; `startingFee`: `number`; } | \[v4.1+ only] Sniper fees |
| `token.sniperFees.endingFee?` | `number` | Ending sniper fee (units: Unibps) |
| `token.sniperFees.secondsToDecay?` | `number` | Sniper fee duration |
| `token.sniperFees.startingFee?` | `number` | Starting sniper fee (units: Unibps) |
| `token.symbol?` | `string` | Symbol for the token. Example: "MTK". |
| `token.tokenAdmin?` | `` `0x${string}` `` | Admin for the token. They will be able to change fields like image, metadata, etc. |
| `token.vanity?` | `boolean` | Whether or not to enable the "0xb07" address suffix. |
| `token.vault?` | \{ `lockupDuration`: `number`; `percentage`: `number`; `recipient?`: `` `0x${string}` ``; `vestingDuration?`: `number`; } | Token vault. Tokens are locked for some duration with possible vesting. |
| `token.vault.lockupDuration?` | `number` | How long to lock the tokens for. In seconds. Minimum 7 days. |
| `token.vault.percentage?` | `number` | Percent of total supply allocated to the vault. |
| `token.vault.recipient?` | `` `0x${string}` `` | Recipient for the vault extension. Defaults to tokenAdmin if not set. |
| `token.vault.vestingDuration?` | `number` | After the lockup, how long the tokens should vest for. Vesting is linear over the duration. In seconds. |
| `options?` | [`DeployTokenOptions`](https://docs.clanker.world/sdk-reference/core-utilities#deploytokenoptions) | Optional deployment options |

###### Returns

`Promise`\<
\| \{
`txHash`: `` `0x${string}` ``;
`waitForTransaction`: () => `ClankerResult`\<\{
`address`: `` `0x${string}` ``;
}>;
} & \{
`error?`: `undefined`;
}
\| `UndefinedValues`\<\{
`txHash`: `` `0x${string}` ``;
`waitForTransaction`: () => `ClankerResult`\<\{
`address`: `` `0x${string}` ``;
}>;
}> & \{
`error`: `ClankerError`;
}>

Transaction hash and awaitable function for full deployment

##### deploySimulate()

```ts theme={null}
deploySimulate(token, account?): Promise<
  | SimulateContractReturnType<ClankerFactory, 
  | "claimTeamFees"
  | "deployToken"
  | "deployTokenZeroSupply"
  | "initialize"
  | "renounceOwnership"
  | "setAdmin"
  | "setDeprecated"
  | "setExtension"
  | "setHook"
  | "setLocker"
  | "setMevModule"
  | "setTeamFeeRecipient"
  | "transferOwnership"
  | "updateLiquidityLocker"
  | "claimRewards"
  | "deployTokenWithCustomTeamRewardRecipient"
  | "updateVault"> & {
  error?: undefined;
}
  | UndefinedValues<SimulateContractReturnType<ClankerFactory, 
  | "claimTeamFees"
  | "deployToken"
  | "deployTokenZeroSupply"
  | "initialize"
  | "renounceOwnership"
  | "setAdmin"
  | "setDeprecated"
  | "setExtension"
  | "setHook"
  | "setLocker"
  | "setMevModule"
  | "setTeamFeeRecipient"
  | "transferOwnership"
  | "updateLiquidityLocker"
  | "claimRewards"
  | "deployTokenWithCustomTeamRewardRecipient"
  | "updateVault">> & {
  error: ClankerError;
}>;
```

Defined in: [src/v4/index.ts:186](https://github.com/clanker-devco/clanker-sdk/blob/main/src/v4/index.ts#L186)

Simulate a token deployment

###### Parameters

| Parameter | Type | Description |
| - | - | - |
| `token` | [Full type](https://raw.githubusercontent.com/clanker-devco/DOCS/refs/heads/main/mintlify/assets/sdk-types/f5a0587f996f6c02255e424e06554895e48f63dbcee4f50620ac17c7813ef83f.txt) | The token to deploy |
| `token.airdrop?` | \{ `admin?`: `` `0x${string}` ``; `amount`: `number`; `lockupDuration`: `number`; `merkleRoot`: `` `0x${string}` ``; `vestingDuration?`: `number`; } | Token airdrop. Tokens are locked for some duration with possible vesting. |
| `token.airdrop.admin?` | `` `0x${string}` `` | Admin for the airdrop. Defaults to TokenAdmin if not set. |
| `token.airdrop.amount?` | `number` | How many tokens to lock up. Denoted in whole tokens (without the 18 decimals). Minimum is 25 bps of the supply. |
| `token.airdrop.lockupDuration?` | `number` | How long to lock the tokens for. In seconds. Minimum 1 day. |
| `token.airdrop.merkleRoot?` | `` `0x${string}` `` | Root of the airdrop merkle tree. |
| `token.airdrop.vestingDuration?` | `number` | After the lockup, how long the tokens should vest for. Vesting is linear over the duration. In seconds. |
| `token.chainId?` | `1` \| `143` \| `4663` \| `8453` \| `10143` \| `2741` \| `84532` \| `42161` \| `130` \| `56` | Id of the chain that the token will be deployed to. Defaults to base (8453). |
| `token.context?` | \{ `id?`: `string`; `interface?`: `string`; `messageId?`: `string`; `platform?`: `string`; } | Social provenance for the token. Interface defaults to "SDK" if not set. |
| `token.context.id?` | `string` | User id of the poster on the social platform the token was deployed from. Used for provenance and will be verified by aggregators. |
| `token.context.interface?` | `string` | System the token was deployed via. Defaults to "SDK". |
| `token.context.messageId?` | `string` | Id of the message on the social platform the token was deployed from. Used for provenance and will be verified by aggregators. |
| `token.context.platform?` | `string` | Social platform the token was deployed from. Used for provenance and will be verified by aggregators. |
| `token.devBuy?` | \{ `amountOutMin?`: `number`; `ethAmount`: `number`; `poolKey?`: \{ `currency0`: `` `0x${string}` ``; `currency1`: `` `0x${string}` ``; `fee`: `number`; `hooks`: `` `0x${string}` ``; `tickSpacing`: `number`; }; `recipient?`: `` `0x${string}` ``; } | Token dev buy. Tokens are bought in the token creation transaction. |
| `token.devBuy.amountOutMin?` | `number` | Amount out min for the ETH -> PAIR swap. Used if the clanker is not paired with ETH. |
| `token.devBuy.ethAmount?` | `number` | How much of the token to buy (denoted in ETH). |
| `token.devBuy.poolKey?` | \{ `currency0`: `` `0x${string}` ``; `currency1`: `` `0x${string}` ``; `fee`: `number`; `hooks`: `` `0x${string}` ``; `tickSpacing`: `number`; } | Pool identifier. Used if the clanker is not paired with ETH. Then the devbuy will pay ETH -> PAIR -> CLANKER. |
| `token.devBuy.poolKey.currency0?` | `` `0x${string}` `` | - |
| `token.devBuy.poolKey.currency1?` | `` `0x${string}` `` | - |
| `token.devBuy.poolKey.fee?` | `number` | - |
| `token.devBuy.poolKey.hooks?` | `` `0x${string}` `` | - |
| `token.devBuy.poolKey.tickSpacing?` | `number` | - |
| `token.devBuy.recipient?` | `` `0x${string}` `` | Recipient address for the purchased tokens. Defaults to tokenAdmin if not specified. |
| `token.fees?` | \| \{ `clankerFee`: `number`; `pairedFee`: `number`; `type?`: `"static"`; } \| \{ `baseFee`: `number`; `decayFilterBps`: `number`; `feeControlNumerator`: `number`; `maxFee`: `number`; `referenceTickFilterPeriod`: `number`; `resetPeriod`: `number`; `resetTickFilter`: `number`; `type?`: `"dynamic"`; } | Fee structure for the token. |
| `token.image?` | `string` | Image for the token. This should be a normal or ipfs url. |
| `token.locker?` | \{ `locker`: `` `0x${string}` `` \| `"Locker"`; `lockerData?`: `` `0x${string}` ``; } | Token locker |
| `token.locker.locker?` | `` `0x${string}` `` \| `"Locker"` | Locker extension address. |
| `token.locker.lockerData?` | `` `0x${string}` `` | Locker extension specific data. Abi encoded hex of the parameters. |
| `token.metadata?` | \{ `auditUrls?`: `string`\[]; `description?`: `string`; `socialMediaUrls?`: \{ `platform`: `string`; `url`: `string`; }\[]; } | Metadata for the token. |
| `token.metadata.auditUrls?` | `string`\[] | Audits for other contracts or services offered by the project. |
| `token.metadata.description?` | `string` | Description of the token or token project. |
| `token.metadata.socialMediaUrls?` | \{ `platform`: `string`; `url`: `string`; }\[] | Socials for the token. These may be displayed on aggregators. |
| `token.name?` | `string` | Name of the token. Example: "My Token". |
| `token.pool?` | \{ `pairedToken?`: `` `0x${string}` `` \| `"WETH"`; `positions`: \{ `positionBps`: `number`; `tickLower`: `number`; `tickUpper`: `number`; }\[]; `tickIfToken0IsClanker?`: `number`; `tickSpacing?`: `number`; } | Pool information |
| `token.pool.pairedToken?` | `` `0x${string}` `` \| `"WETH"` | Token to pair the clanker with. |
| `token.pool.positions?` | \{ `positionBps`: `number`; `tickLower`: `number`; `tickUpper`: `number`; }\[] | Positions for initial pool liquidity. Bps must sum to 100%. |
| `token.pool.tickIfToken0IsClanker?` | `number` | Starting tick of the pool. |
| `token.pool.tickSpacing?` | `number` | Tick spacing. |
| `token.poolExtension?` | \{ `address`: `` `0x${string}` ``; `initData`: `` `0x${string}` ``; } | \[v4.1+ only] Custom developer extension |
| `token.poolExtension.address?` | `` `0x${string}` `` | Address of the developer extension |
| `token.poolExtension.initData?` | `` `0x${string}` `` | Initialization data for the extension |
| `token.presale?` | \{ `bps`: `number`; } | Presale configuration for the token. Must be deployed via the presale contract. |
| `token.presale.bps?` | `number` | Bps for allocation to presale |
| `token.rewards?` | \{ `recipients`: \{ `admin`: `` `0x${string}` ``; `bps`: `number`; `recipient`: `` `0x${string}` ``; `token`: `"Both"` \| `"Paired"` \| `"Clanker"`; }\[]; } | Rewards & recipients for rewards generated by the token. |
| `token.rewards.recipients?` | \{ `admin`: `` `0x${string}` ``; `bps`: `number`; `recipient`: `` `0x${string}` ``; `token`: `"Both"` \| `"Paired"` \| `"Clanker"`; }\[] | Recipients of the token rewards. Must sum to 100%. |
| `token.salt?` | `` `0x${string}` `` | Custom salt for CREATE2 deployment. If provided, this will be used instead of vanity address generation. Takes precedence over vanity. |
| `token.sniperFees?` | \{ `endingFee`: `number`; `secondsToDecay`: `number`; `startingFee`: `number`; } | \[v4.1+ only] Sniper fees |
| `token.sniperFees.endingFee?` | `number` | Ending sniper fee (units: Unibps) |
| `token.sniperFees.secondsToDecay?` | `number` | Sniper fee duration |
| `token.sniperFees.startingFee?` | `number` | Starting sniper fee (units: Unibps) |
| `token.symbol?` | `string` | Symbol for the token. Example: "MTK". |
| `token.tokenAdmin?` | `` `0x${string}` `` | Admin for the token. They will be able to change fields like image, metadata, etc. |
| `token.vanity?` | `boolean` | Whether or not to enable the "0xb07" address suffix. |
| `token.vault?` | \{ `lockupDuration`: `number`; `percentage`: `number`; `recipient?`: `` `0x${string}` ``; `vestingDuration?`: `number`; } | Token vault. Tokens are locked for some duration with possible vesting. |
| `token.vault.lockupDuration?` | `number` | How long to lock the tokens for. In seconds. Minimum 7 days. |
| `token.vault.percentage?` | `number` | Percent of total supply allocated to the vault. |
| `token.vault.recipient?` | `` `0x${string}` `` | Recipient for the vault extension. Defaults to tokenAdmin if not set. |
| `token.vault.vestingDuration?` | `number` | After the lockup, how long the tokens should vest for. Vesting is linear over the duration. In seconds. |
| `account?` | `Account` | Optional account for the deployer |

###### Returns

`Promise`\<
\| `SimulateContractReturnType`\<`ClankerFactory`,
\| `"claimTeamFees"`
\| `"deployToken"`
\| `"deployTokenZeroSupply"`
\| `"initialize"`
\| `"renounceOwnership"`
\| `"setAdmin"`
\| `"setDeprecated"`
\| `"setExtension"`
\| `"setHook"`
\| `"setLocker"`
\| `"setMevModule"`
\| `"setTeamFeeRecipient"`
\| `"transferOwnership"`
\| `"updateLiquidityLocker"`
\| `"claimRewards"`
\| `"deployTokenWithCustomTeamRewardRecipient"`
\| `"updateVault"`> & \{
`error?`: `undefined`;
}
\| `UndefinedValues`\<`SimulateContractReturnType`\<`ClankerFactory`,
\| `"claimTeamFees"`
\| `"deployToken"`
\| `"deployTokenZeroSupply"`
\| `"initialize"`
\| `"renounceOwnership"`
\| `"setAdmin"`
\| `"setDeprecated"`
\| `"setExtension"`
\| `"setHook"`
\| `"setLocker"`
\| `"setMevModule"`
\| `"setTeamFeeRecipient"`
\| `"transferOwnership"`
\| `"updateLiquidityLocker"`
\| `"claimRewards"`
\| `"deployTokenWithCustomTeamRewardRecipient"`
\| `"updateVault"`>> & \{
`error`: `ClankerError`;
}>

Abi transaction

##### getAvailableRewardsTransaction()

[View full generated declaration (294 lines)](https://raw.githubusercontent.com/clanker-devco/DOCS/refs/heads/main/mintlify/assets/sdk-types/5510b481cb39ada4963e1ea810178b91a08102901c0e3ba960141cd2775f759c.txt)

Defined in: [src/v4/index.ts:124](https://github.com/clanker-devco/clanker-sdk/blob/main/src/v4/index.ts#L124)

Get an abi-typed transaction for checking rewards on a token.

###### Parameters

| Parameter | Type | Description |
| - | - | - |
| `token` | \{ `rewardRecipient`: `` `0x${string}` ``; `token`: `` `0x${string}` ``; } | Token to check rewards for |
| `token.rewardRecipient` | `` `0x${string}` `` | - |
| `token.token?` | `` `0x${string}` `` | - |
| `options?` | \{ `chain?`: `Chain`; } | - |
| `options.chain?` | `Chain` | - |

###### Returns

`Promise`\<\{
`abi`: readonly \[\{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"owner_"`;
`type`: `"address"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"constructor"`;
}, \{
`inputs`: readonly \[];
`name`: `"ClaimAmountTooHigh"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"InvalidRecipient"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"NoFeesToClaim"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"owner"`;
`type`: `"address"`;
}];
`name`: `"OwnableInvalidOwner"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}];
`name`: `"OwnableUnauthorizedAccount"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"ReentrancyGuardReentrantCall"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"SafeERC20FailedOperation"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TransferFailed"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"Unauthorized"`;
`type`: `"error"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"depositor"`;
`type`: `"address"`;
}];
`name`: `"AddDepositor"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"feeOwner"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amountClaimed"`;
`type`: `"uint256"`;
}];
`name`: `"ClaimTokens"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"feeOwner"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"recipient"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amountClaimed"`;
`type`: `"uint256"`;
}];
`name`: `"ClaimTokensPermissioned"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"previousOwner"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"newOwner"`;
`type`: `"address"`;
}];
`name`: `"OwnershipTransferred"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"sender"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"feeOwner"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"balance"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amount"`;
`type`: `"uint256"`;
}];
`name`: `"StoreTokens"`;
`type`: `"event"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"depositor"`;
`type`: `"address"`;
}];
`name`: `"addDepositor"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"depositor"`;
`type`: `"address"`;
}];
`name`: `"allowedDepositors"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `"isAllowed"`;
`type`: `"bool"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"feeOwner"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"availableFees"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"feeOwner"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"claim"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"feeOwner"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"feesToClaim"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"balance"`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"owner"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"renounceOwnership"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"feeOwner"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"amount"`;
`type`: `"uint256"`;
}];
`name`: `"storeFees"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"bytes4"`;
`name`: `"interfaceId"`;
`type`: `"bytes4"`;
}];
`name`: `"supportsInterface"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"pure"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"newOwner"`;
`type`: `"address"`;
}];
`name`: `"transferOwnership"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}];
`address`: `` `0x${string}` ``;
`args`: readonly \[`` `0x${string}` ``, `` `0x${string}` ``];
`functionName`: `"availableFees"`;
}>

Abi transaction

##### getClaimRewardsTransaction()

[View full generated declaration (289 lines)](https://raw.githubusercontent.com/clanker-devco/DOCS/refs/heads/main/mintlify/assets/sdk-types/ccff050fbbd0a4feab28a6c9f94fa7b73f6318657070e34cfc63852502b8a7f9.txt)

Defined in: [src/v4/index.ts:46](https://github.com/clanker-devco/clanker-sdk/blob/main/src/v4/index.ts#L46)

Get an abi-typed transaction for claiming rewards on a token.

###### Parameters

| Parameter | Type | Description |
| - | - | - |
| `token` | \{ `rewardRecipient`: `` `0x${string}` ``; `token`: `` `0x${string}` ``; } | The token to claim for |
| `token.rewardRecipient` | `` `0x${string}` `` | - |
| `token.token?` | `` `0x${string}` `` | - |
| `options?` | \{ `chain?`: `Chain`; } | - |
| `options.chain?` | `Chain` | - |

###### Returns

`Promise`\<`ClankerTransactionConfig`\<readonly \[\{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"owner_"`;
`type`: `"address"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"constructor"`;
}, \{
`inputs`: readonly \[];
`name`: `"ClaimAmountTooHigh"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"InvalidRecipient"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"NoFeesToClaim"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"owner"`;
`type`: `"address"`;
}];
`name`: `"OwnableInvalidOwner"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}];
`name`: `"OwnableUnauthorizedAccount"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"ReentrancyGuardReentrantCall"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"SafeERC20FailedOperation"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TransferFailed"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"Unauthorized"`;
`type`: `"error"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"depositor"`;
`type`: `"address"`;
}];
`name`: `"AddDepositor"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"feeOwner"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amountClaimed"`;
`type`: `"uint256"`;
}];
`name`: `"ClaimTokens"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"feeOwner"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"recipient"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amountClaimed"`;
`type`: `"uint256"`;
}];
`name`: `"ClaimTokensPermissioned"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"previousOwner"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"newOwner"`;
`type`: `"address"`;
}];
`name`: `"OwnershipTransferred"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"sender"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"feeOwner"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"balance"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amount"`;
`type`: `"uint256"`;
}];
`name`: `"StoreTokens"`;
`type`: `"event"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"depositor"`;
`type`: `"address"`;
}];
`name`: `"addDepositor"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"depositor"`;
`type`: `"address"`;
}];
`name`: `"allowedDepositors"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `"isAllowed"`;
`type`: `"bool"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"feeOwner"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"availableFees"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"feeOwner"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"claim"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"feeOwner"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"feesToClaim"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"balance"`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"owner"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"renounceOwnership"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"feeOwner"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"amount"`;
`type`: `"uint256"`;
}];
`name`: `"storeFees"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"bytes4"`;
`name`: `"interfaceId"`;
`type`: `"bytes4"`;
}];
`name`: `"supportsInterface"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"pure"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"newOwner"`;
`type`: `"address"`;
}];
`name`: `"transferOwnership"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}]>>

Abi transaction

##### getDeployTransaction()

[View full generated declaration (820 lines)](https://raw.githubusercontent.com/clanker-devco/DOCS/refs/heads/main/mintlify/assets/sdk-types/4e40aea66468e76911e9fe9bdc8096023a6150d6af9cfae320caba1b92d23a30.txt)

Defined in: [src/v4/index.ts:175](https://github.com/clanker-devco/clanker-sdk/blob/main/src/v4/index.ts#L175)

Get an abi-typed transaction for deploying a clanker.

###### Parameters

| Parameter | Type | Description |
| - | - | - |
| `token` | [Full type](https://raw.githubusercontent.com/clanker-devco/DOCS/refs/heads/main/mintlify/assets/sdk-types/f5a0587f996f6c02255e424e06554895e48f63dbcee4f50620ac17c7813ef83f.txt) | The token to deploy |
| `token.airdrop?` | \{ `admin?`: `` `0x${string}` ``; `amount`: `number`; `lockupDuration`: `number`; `merkleRoot`: `` `0x${string}` ``; `vestingDuration?`: `number`; } | Token airdrop. Tokens are locked for some duration with possible vesting. |
| `token.airdrop.admin?` | `` `0x${string}` `` | Admin for the airdrop. Defaults to TokenAdmin if not set. |
| `token.airdrop.amount` | `number` | How many tokens to lock up. Denoted in whole tokens (without the 18 decimals). Minimum is 25 bps of the supply. |
| `token.airdrop.lockupDuration` | `number` | How long to lock the tokens for. In seconds. Minimum 1 day. |
| `token.airdrop.merkleRoot` | `` `0x${string}` `` | Root of the airdrop merkle tree. |
| `token.airdrop.vestingDuration?` | `number` | After the lockup, how long the tokens should vest for. Vesting is linear over the duration. In seconds. |
| `token.chainId?` | `1` \| `143` \| `4663` \| `8453` \| `10143` \| `2741` \| `84532` \| `42161` \| `130` \| `56` | Id of the chain that the token will be deployed to. Defaults to base (8453). |
| `token.context?` | \{ `id?`: `string`; `interface?`: `string`; `messageId?`: `string`; `platform?`: `string`; } | Social provenance for the token. Interface defaults to "SDK" if not set. |
| `token.context.id?` | `string` | User id of the poster on the social platform the token was deployed from. Used for provenance and will be verified by aggregators. |
| `token.context.interface?` | `string` | System the token was deployed via. Defaults to "SDK". |
| `token.context.messageId?` | `string` | Id of the message on the social platform the token was deployed from. Used for provenance and will be verified by aggregators. |
| `token.context.platform?` | `string` | Social platform the token was deployed from. Used for provenance and will be verified by aggregators. |
| `token.devBuy?` | \{ `amountOutMin?`: `number`; `ethAmount`: `number`; `poolKey?`: \{ `currency0`: `` `0x${string}` ``; `currency1`: `` `0x${string}` ``; `fee`: `number`; `hooks`: `` `0x${string}` ``; `tickSpacing`: `number`; }; `recipient?`: `` `0x${string}` ``; } | Token dev buy. Tokens are bought in the token creation transaction. |
| `token.devBuy.amountOutMin?` | `number` | Amount out min for the ETH -> PAIR swap. Used if the clanker is not paired with ETH. |
| `token.devBuy.ethAmount` | `number` | How much of the token to buy (denoted in ETH). |
| `token.devBuy.poolKey?` | \{ `currency0`: `` `0x${string}` ``; `currency1`: `` `0x${string}` ``; `fee`: `number`; `hooks`: `` `0x${string}` ``; `tickSpacing`: `number`; } | Pool identifier. Used if the clanker is not paired with ETH. Then the devbuy will pay ETH -> PAIR -> CLANKER. |
| `token.devBuy.poolKey.currency0` | `` `0x${string}` `` | - |
| `token.devBuy.poolKey.currency1` | `` `0x${string}` `` | - |
| `token.devBuy.poolKey.fee` | `number` | - |
| `token.devBuy.poolKey.hooks` | `` `0x${string}` `` | - |
| `token.devBuy.poolKey.tickSpacing` | `number` | - |
| `token.devBuy.recipient?` | `` `0x${string}` `` | Recipient address for the purchased tokens. Defaults to tokenAdmin if not specified. |
| `token.fees?` | \| \{ `clankerFee`: `number`; `pairedFee`: `number`; `type?`: `"static"`; } \| \{ `baseFee`: `number`; `decayFilterBps`: `number`; `feeControlNumerator`: `number`; `maxFee`: `number`; `referenceTickFilterPeriod`: `number`; `resetPeriod`: `number`; `resetTickFilter`: `number`; `type?`: `"dynamic"`; } | Fee structure for the token. |
| `token.image?` | `string` | Image for the token. This should be a normal or ipfs url. |
| `token.locker?` | \{ `locker`: `` `0x${string}` `` \| `"Locker"`; `lockerData?`: `` `0x${string}` ``; } | Token locker |
| `token.locker.locker` | `` `0x${string}` `` \| `"Locker"` | Locker extension address. |
| `token.locker.lockerData?` | `` `0x${string}` `` | Locker extension specific data. Abi encoded hex of the parameters. |
| `token.metadata?` | \{ `auditUrls?`: `string`\[]; `description?`: `string`; `socialMediaUrls?`: \{ `platform`: `string`; `url`: `string`; }\[]; } | Metadata for the token. |
| `token.metadata.auditUrls?` | `string`\[] | Audits for other contracts or services offered by the project. |
| `token.metadata.description?` | `string` | Description of the token or token project. |
| `token.metadata.socialMediaUrls?` | \{ `platform`: `string`; `url`: `string`; }\[] | Socials for the token. These may be displayed on aggregators. |
| `token.name` | `string` | Name of the token. Example: "My Token". |
| `token.pool?` | \{ `pairedToken?`: `` `0x${string}` `` \| `"WETH"`; `positions`: \{ `positionBps`: `number`; `tickLower`: `number`; `tickUpper`: `number`; }\[]; `tickIfToken0IsClanker?`: `number`; `tickSpacing?`: `number`; } | Pool information |
| `token.pool.pairedToken?` | `` `0x${string}` `` \| `"WETH"` | Token to pair the clanker with. |
| `token.pool.positions` | \{ `positionBps`: `number`; `tickLower`: `number`; `tickUpper`: `number`; }\[] | Positions for initial pool liquidity. Bps must sum to 100%. |
| `token.pool.tickIfToken0IsClanker?` | `number` | Starting tick of the pool. |
| `token.pool.tickSpacing?` | `number` | Tick spacing. |
| `token.poolExtension?` | \{ `address`: `` `0x${string}` ``; `initData`: `` `0x${string}` ``; } | \[v4.1+ only] Custom developer extension |
| `token.poolExtension.address` | `` `0x${string}` `` | Address of the developer extension |
| `token.poolExtension.initData` | `` `0x${string}` `` | Initialization data for the extension |
| `token.presale?` | \{ `bps`: `number`; } | Presale configuration for the token. Must be deployed via the presale contract. |
| `token.presale.bps` | `number` | Bps for allocation to presale |
| `token.rewards?` | \{ `recipients`: \{ `admin`: `` `0x${string}` ``; `bps`: `number`; `recipient`: `` `0x${string}` ``; `token`: `"Both"` \| `"Paired"` \| `"Clanker"`; }\[]; } | Rewards & recipients for rewards generated by the token. |
| `token.rewards.recipients` | \{ `admin`: `` `0x${string}` ``; `bps`: `number`; `recipient`: `` `0x${string}` ``; `token`: `"Both"` \| `"Paired"` \| `"Clanker"`; }\[] | Recipients of the token rewards. Must sum to 100%. |
| `token.salt?` | `` `0x${string}` `` | Custom salt for CREATE2 deployment. If provided, this will be used instead of vanity address generation. Takes precedence over vanity. |
| `token.sniperFees?` | \{ `endingFee`: `number`; `secondsToDecay`: `number`; `startingFee`: `number`; } | \[v4.1+ only] Sniper fees |
| `token.sniperFees.endingFee` | `number` | Ending sniper fee (units: Unibps) |
| `token.sniperFees.secondsToDecay` | `number` | Sniper fee duration |
| `token.sniperFees.startingFee` | `number` | Starting sniper fee (units: Unibps) |
| `token.symbol` | `string` | Symbol for the token. Example: "MTK". |
| `token.tokenAdmin` | `` `0x${string}` `` | Admin for the token. They will be able to change fields like image, metadata, etc. |
| `token.vanity?` | `boolean` | Whether or not to enable the "0xb07" address suffix. |
| `token.vault?` | \{ `lockupDuration`: `number`; `percentage`: `number`; `recipient?`: `` `0x${string}` ``; `vestingDuration?`: `number`; } | Token vault. Tokens are locked for some duration with possible vesting. |
| `token.vault.lockupDuration` | `number` | How long to lock the tokens for. In seconds. Minimum 7 days. |
| `token.vault.percentage` | `number` | Percent of total supply allocated to the vault. |
| `token.vault.recipient?` | `` `0x${string}` `` | Recipient for the vault extension. Defaults to tokenAdmin if not set. |
| `token.vault.vestingDuration?` | `number` | After the lockup, how long the tokens should vest for. Vesting is linear over the duration. In seconds. |

###### Returns

`Promise`\<`ClankerTransactionConfig`\<readonly \[\{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"owner_"`;
`type`: `"address"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"constructor"`;
}, \{
`inputs`: readonly \[];
`name`: `"Deprecated"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"ExtensionMsgValueMismatch"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"ExtensionNotEnabled"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"HookNotEnabled"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"InvalidExtension"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"InvalidHook"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"InvalidLocker"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"InvalidMevModule"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"LockerNotEnabled"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"MaxExtensionBpsExceeded"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"MaxExtensionsExceeded"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"MevModuleNotEnabled"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"NotFound"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"OnlyNonOriginatingChains"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"OnlyOriginatingChain"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"owner"`;
`type`: `"address"`;
}];
`name`: `"OwnableInvalidOwner"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}];
`name`: `"OwnableUnauthorizedAccount"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"ReentrancyGuardReentrantCall"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"Unauthorized"`;
`type`: `"error"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"recipient"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amount"`;
`type`: `"uint256"`;
}];
`name`: `"ClaimTeamFees"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"extension"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"extensionSupply"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"msgValue"`;
`type`: `"uint256"`;
}];
`name`: `"ExtensionTriggered"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"previousOwner"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"newOwner"`;
`type`: `"address"`;
}];
`name`: `"OwnershipTransferred"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"admin"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"bool"`;
`name`: `"enabled"`;
`type`: `"bool"`;
}];
`name`: `"SetAdmin"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `false`;
`internalType`: `"bool"`;
`name`: `"deprecated"`;
`type`: `"bool"`;
}];
`name`: `"SetDeprecated"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"extension"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"bool"`;
`name`: `"enabled"`;
`type`: `"bool"`;
}];
`name`: `"SetExtension"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"hook"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"bool"`;
`name`: `"enabled"`;
`type`: `"bool"`;
}];
`name`: `"SetHook"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"locker"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"pool"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"bool"`;
`name`: `"enabled"`;
`type`: `"bool"`;
}];
`name`: `"SetLocker"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"mevModule"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"bool"`;
`name`: `"enabled"`;
`type`: `"bool"`;
}];
`name`: `"SetMevModule"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"oldTeamFeeRecipient"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"newTeamFeeRecipient"`;
`type`: `"address"`;
}];
`name`: `"SetTeamFeeRecipient"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"msgSender"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"tokenAddress"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"tokenAdmin"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"string"`;
`name`: `"tokenImage"`;
`type`: `"string"`;
}, \{
`indexed`: `false`;
`internalType`: `"string"`;
`name`: `"tokenName"`;
`type`: `"string"`;
}, \{
`indexed`: `false`;
`internalType`: `"string"`;
`name`: `"tokenSymbol"`;
`type`: `"string"`;
}, \{
`indexed`: `false`;
`internalType`: `"string"`;
`name`: `"tokenMetadata"`;
`type`: `"string"`;
}, \{
`indexed`: `false`;
`internalType`: `"string"`;
`name`: `"tokenContext"`;
`type`: `"string"`;
}, \{
`indexed`: `false`;
`internalType`: `"int24"`;
`name`: `"startingTick"`;
`type`: `"int24"`;
}, \{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"poolHook"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"PoolId"`;
`name`: `"poolId"`;
`type`: `"bytes32"`;
}, \{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"pairedToken"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"locker"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"mevModule"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"extensionsSupply"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"address[]"`;
`name`: `"extensions"`;
`type`: `"address[]"`;
}];
`name`: `"TokenCreated"`;
`type`: `"event"`;
}, \{
`inputs`: readonly \[];
`name`: `"BPS"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"MAX_EXTENSIONS"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"MAX_EXTENSION_BPS"`;
`outputs`: readonly \[\{
`internalType`: `"uint16"`;
`name`: `""`;
`type`: `"uint16"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"TOKEN_SUPPLY"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}];
`name`: `"admins"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"claimTeamFees"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`components`: readonly \[\{
`components`: readonly \[\{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}];
`internalType`: `"struct IClanker.TokenConfig"`;
`name`: `"tokenConfig"`;
`type`: `"tuple"`;
}, \{
`components`: readonly \[\{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}];
`internalType`: `"struct IClanker.PoolConfig"`;
`name`: `"poolConfig"`;
`type`: `"tuple"`;
}, \{
`components`: readonly \[\{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}];
`internalType`: `"struct IClanker.LockerConfig"`;
`name`: `"lockerConfig"`;
`type`: `"tuple"`;
}, \{
`components`: readonly \[\{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}];
`internalType`: `"struct IClanker.MevModuleConfig"`;
`name`: `"mevModuleConfig"`;
`type`: `"tuple"`;
}, \{
`components`: readonly \[\{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}];
`internalType`: `"struct IClanker.ExtensionConfig[]"`;
`name`: `"extensionConfigs"`;
`type`: `"tuple[]"`;
}];
`internalType`: `"struct IClanker.DeploymentConfig"`;
`name`: `"deploymentConfig"`;
`type`: `"tuple"`;
}];
`name`: `"deployToken"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"tokenAddress"`;
`type`: `"address"`;
}];
`stateMutability`: `"payable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`components`: readonly \[\{
`internalType`: `"address"`;
`name`: `"tokenAdmin"`;
`type`: `"address"`;
}, \{
`internalType`: `"string"`;
`name`: `"name"`;
`type`: `"string"`;
}, \{
`internalType`: `"string"`;
`name`: `"symbol"`;
`type`: `"string"`;
}, \{
`internalType`: `"bytes32"`;
`name`: `"salt"`;
`type`: `"bytes32"`;
}, \{
`internalType`: `"string"`;
`name`: `"image"`;
`type`: `"string"`;
}, \{
`internalType`: `"string"`;
`name`: `"metadata"`;
`type`: `"string"`;
}, \{
`internalType`: `"string"`;
`name`: `"context"`;
`type`: `"string"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"originatingChainId"`;
`type`: `"uint256"`;
}];
`internalType`: `"struct IClanker.TokenConfig"`;
`name`: `"tokenConfig"`;
`type`: `"tuple"`;
}];
`name`: `"deployTokenZeroSupply"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"tokenAddress"`;
`type`: `"address"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"deploymentInfoForToken"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"hook"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"locker"`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"deprecated"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"locker"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"pool"`;
`type`: `"address"`;
}];
`name`: `"enabledLockers"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `"enabled"`;
`type`: `"bool"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"teamFeeRecipient_"`;
`type`: `"address"`;
}];
`name`: `"initialize"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"owner"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"renounceOwnership"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"admin"`;
`type`: `"address"`;
}, \{
`internalType`: `"bool"`;
`name`: `"enabled"`;
`type`: `"bool"`;
}];
`name`: `"setAdmin"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `"deprecated_"`;
`type`: `"bool"`;
}];
`name`: `"setDeprecated"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"extension"`;
`type`: `"address"`;
}, \{
`internalType`: `"bool"`;
`name`: `"enabled"`;
`type`: `"bool"`;
}];
`name`: `"setExtension"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"hook"`;
`type`: `"address"`;
}, \{
`internalType`: `"bool"`;
`name`: `"enabled"`;
`type`: `"bool"`;
}];
`name`: `"setHook"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"locker"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"pool"`;
`type`: `"address"`;
}, \{
`internalType`: `"bool"`;
`name`: `"enabled"`;
`type`: `"bool"`;
}];
`name`: `"setLocker"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"mevModule"`;
`type`: `"address"`;
}, \{
`internalType`: `"bool"`;
`name`: `"enabled"`;
`type`: `"bool"`;
}];
`name`: `"setMevModule"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"teamFeeRecipient_"`;
`type`: `"address"`;
}];
`name`: `"setTeamFeeRecipient"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"teamFeeRecipient"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"tokenDeploymentInfo"`;
`outputs`: readonly \[\{
`components`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"hook"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"locker"`;
`type`: `"address"`;
}, \{
`internalType`: `"address[]"`;
`name`: `"extensions"`;
`type`: `"address[]"`;
}];
`internalType`: `"struct IClanker.DeploymentInfo"`;
`name`: `""`;
`type`: `"tuple"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"newOwner"`;
`type`: `"address"`;
}];
`name`: `"transferOwnership"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}], `"deployToken"`> & \{
`expectedAddress?`: `` `0x${string}` ``;
}>

Abi transaction

##### getTokenRewards()

```ts theme={null}
getTokenRewards(token): Promise<{
  numPositions: bigint;
  poolKey: {
     currency0: `0x${string}`;
     currency1: `0x${string}`;
     fee: number;
     hooks: `0x${string}`;
     tickSpacing: number;
  };
  positionId: bigint;
  rewardAdmins: readonly `0x${string}`[];
  rewardBps: readonly number[];
  rewardRecipients: readonly `0x${string}`[];
  token: `0x${string}`;
}>;
```

Defined in: [src/v4/index.ts:743](https://github.com/clanker-devco/clanker-sdk/blob/main/src/v4/index.ts#L743)

Get the token rewards information from the locker contract.
This is useful for obtaining the rewardIndex needed for updateRewardRecipient and updateRewardAdmin.

The returned object contains:

* token: The token address
* poolKey: The Uniswap V4 pool key
* positionId: The LP position ID
* numPositions: Number of LP positions
* rewardBps: Array of reward basis points for each recipient
* rewardAdmins: Array of admin addresses (index = rewardIndex)
* rewardRecipients: Array of recipient addresses (index = rewardIndex)

###### Parameters

| Parameter | Type | Description |
| - | - | - |
| `token` | \{ `token`: `` `0x${string}` ``; } | The token address to get rewards info for |
| `token.token` | `` `0x${string}` `` | - |

###### Returns

`Promise`\<\{
`numPositions`: `bigint`;
`poolKey`: \{
`currency0`: `` `0x${string}` ``;
`currency1`: `` `0x${string}` ``;
`fee`: `number`;
`hooks`: `` `0x${string}` ``;
`tickSpacing`: `number`;
};
`positionId`: `bigint`;
`rewardAdmins`: readonly `` `0x${string}` ``\[];
`rewardBps`: readonly `number`\[];
`rewardRecipients`: readonly `` `0x${string}` ``\[];
`token`: `` `0x${string}` ``;
}>

Token rewards information including rewardAdmins and rewardRecipients arrays

##### getTokenRewardsTransaction()

[View full generated declaration (842 lines)](https://raw.githubusercontent.com/clanker-devco/DOCS/refs/heads/main/mintlify/assets/sdk-types/6f80702bee3aa33fc40f63600adea5db1be44a84e1ee3275662abbbd5682d3d0.txt)

Defined in: [src/v4/index.ts:708](https://github.com/clanker-devco/clanker-sdk/blob/main/src/v4/index.ts#L708)

Get the transaction config for reading token rewards information from the locker contract.

###### Parameters

| Parameter | Type | Description |
| - | - | - |
| `token` | \{ `token`: `` `0x${string}` ``; } | The token address to get rewards info for |
| `token.token` | `` `0x${string}` `` | - |
| `options?` | \{ `chain?`: `Chain`; } | Optional chain configuration |
| `options.chain?` | `Chain` | - |

###### Returns

`Promise`\<\{
`abi`: readonly \[\{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"owner_"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"factory_"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"feeLocker_"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"positionManager_"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"permit2_"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"universalRouter_"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"poolManager_"`;
`type`: `"address"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"constructor"`;
}, \{
`inputs`: readonly \[];
`name`: `"BASIS_POINTS"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"MAX_LP_POSITIONS"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"MAX_REWARD_PARTICIPANTS"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"collectRewards"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"collectRewardsWithoutUnlock"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"factory"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"feeLocker"`;
`outputs`: readonly \[\{
`internalType`: `"contract IClankerFeeLocker"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`name`: `"feePreferences"`;
`outputs`: readonly \[\{
`internalType`: `"enum IClankerLpLockerFeeConversion.FeeIn"`;
`name`: `"feePreference"`;
`type`: `"uint8"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"from"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"id"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"bytes"`;
`name`: `""`;
`type`: `"bytes"`;
}];
`name`: `"onERC721Received"`;
`outputs`: readonly \[\{
`internalType`: `"bytes4"`;
`name`: `""`;
`type`: `"bytes4"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"owner"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"permit2"`;
`outputs`: readonly \[\{
`internalType`: `"contract IPermit2"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`components`: readonly \[\{
`internalType`: `"address"`;
`name`: `"locker"`;
`type`: `"address"`;
}, \{
`internalType`: `"address[]"`;
`name`: `"rewardAdmins"`;
`type`: `"address[]"`;
}, \{
`internalType`: `"address[]"`;
`name`: `"rewardRecipients"`;
`type`: `"address[]"`;
}, \{
`internalType`: `"uint16[]"`;
`name`: `"rewardBps"`;
`type`: `"uint16[]"`;
}, \{
`internalType`: `"int24[]"`;
`name`: `"tickLower"`;
`type`: `"int24[]"`;
}, \{
`internalType`: `"int24[]"`;
`name`: `"tickUpper"`;
`type`: `"int24[]"`;
}, \{
`internalType`: `"uint16[]"`;
`name`: `"positionBps"`;
`type`: `"uint16[]"`;
}, \{
`internalType`: `"bytes"`;
`name`: `"lockerData"`;
`type`: `"bytes"`;
}];
`internalType`: `"struct IClanker.LockerConfig"`;
`name`: `"lockerConfig"`;
`type`: `"tuple"`;
}, \{
`components`: readonly \[\{
`internalType`: `"address"`;
`name`: `"hook"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"pairedToken"`;
`type`: `"address"`;
}, \{
`internalType`: `"int24"`;
`name`: `"tickIfToken0IsClanker"`;
`type`: `"int24"`;
}, \{
`internalType`: `"int24"`;
`name`: `"tickSpacing"`;
`type`: `"int24"`;
}, \{
`internalType`: `"bytes"`;
`name`: `"poolData"`;
`type`: `"bytes"`;
}];
`internalType`: `"struct IClanker.PoolConfig"`;
`name`: `"poolConfig"`;
`type`: `"tuple"`;
}, \{
`components`: readonly \[\{
`internalType`: `"Currency"`;
`name`: `"currency0"`;
`type`: `"address"`;
}, \{
`internalType`: `"Currency"`;
`name`: `"currency1"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint24"`;
`name`: `"fee"`;
`type`: `"uint24"`;
}, \{
`internalType`: `"int24"`;
`name`: `"tickSpacing"`;
`type`: `"int24"`;
}, \{
`internalType`: `"contract IHooks"`;
`name`: `"hooks"`;
`type`: `"address"`;
}];
`internalType`: `"struct PoolKey"`;
`name`: `"poolKey"`;
`type`: `"tuple"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"poolSupply"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"placeLiquidity"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"positionId"`;
`type`: `"uint256"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"poolManager"`;
`outputs`: readonly \[\{
`internalType`: `"contract IPoolManager"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"positionManager"`;
`outputs`: readonly \[\{
`internalType`: `"contract IPositionManager"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"renounceOwnership"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"bytes4"`;
`name`: `"interfaceId"`;
`type`: `"bytes4"`;
}];
`name`: `"supportsInterface"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"pure"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"tokenRewards"`;
`outputs`: readonly \[\{
`components`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`components`: readonly \[\{
`internalType`: `"Currency"`;
`name`: `"currency0"`;
`type`: `"address"`;
}, \{
`internalType`: `"Currency"`;
`name`: `"currency1"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint24"`;
`name`: `"fee"`;
`type`: `"uint24"`;
}, \{
`internalType`: `"int24"`;
`name`: `"tickSpacing"`;
`type`: `"int24"`;
}, \{
`internalType`: `"contract IHooks"`;
`name`: `"hooks"`;
`type`: `"address"`;
}];
`internalType`: `"struct PoolKey"`;
`name`: `"poolKey"`;
`type`: `"tuple"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"positionId"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"numPositions"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint16[]"`;
`name`: `"rewardBps"`;
`type`: `"uint16[]"`;
}, \{
`internalType`: `"address[]"`;
`name`: `"rewardAdmins"`;
`type`: `"address[]"`;
}, \{
`internalType`: `"address[]"`;
`name`: `"rewardRecipients"`;
`type`: `"address[]"`;
}];
`internalType`: `"struct IClankerLpLocker.TokenRewardInfo"`;
`name`: `""`;
`type`: `"tuple"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"newOwner"`;
`type`: `"address"`;
}];
`name`: `"transferOwnership"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"universalRouter"`;
`outputs`: readonly \[\{
`internalType`: `"contract IUniversalRouter"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"rewardIndex"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"enum IClankerLpLockerFeeConversion.FeeIn"`;
`name`: `"newFeePreference"`;
`type`: `"uint8"`;
}];
`name`: `"updateFeePreference"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"rewardIndex"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"address"`;
`name`: `"newAdmin"`;
`type`: `"address"`;
}];
`name`: `"updateRewardAdmin"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"rewardIndex"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"address"`;
`name`: `"newRecipient"`;
`type`: `"address"`;
}];
`name`: `"updateRewardRecipient"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"version"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"recipient"`;
`type`: `"address"`;
}];
`name`: `"withdrawERC20"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"recipient"`;
`type`: `"address"`;
}];
`name`: `"withdrawETH"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amount0"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amount1"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256[]"`;
`name`: `"rewards0"`;
`type`: `"uint256[]"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256[]"`;
`name`: `"rewards1"`;
`type`: `"uint256[]"`;
}];
`name`: `"ClaimedRewards"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"uint256"`;
`name`: `"rewardIndex"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"enum IClankerLpLockerFeeConversion.FeeIn"`;
`name`: `"oldFeePreference"`;
`type`: `"uint8"`;
}, \{
`indexed`: `true`;
`internalType`: `"enum IClankerLpLockerFeeConversion.FeeIn"`;
`name`: `"newFeePreference"`;
`type`: `"uint8"`;
}];
`name`: `"FeePreferenceUpdated"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"rewardToken"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amountSwapped"`;
`type`: `"uint256"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"swappedToken"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amountOut"`;
`type`: `"uint256"`;
}];
`name`: `"FeesSwapped"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"enum IClankerLpLockerFeeConversion.FeeIn[]"`;
`name`: `"feePreference"`;
`type`: `"uint8[]"`;
}];
`name`: `"InitialFeePreferences"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"previousOwner"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"newOwner"`;
`type`: `"address"`;
}];
`name`: `"OwnershipTransferred"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"from"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"positionId"`;
`type`: `"uint256"`;
}];
`name`: `"Received"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"uint256"`;
`name`: `"rewardIndex"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"oldAdmin"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"newAdmin"`;
`type`: `"address"`;
}];
`name`: `"RewardAdminUpdated"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"uint256"`;
`name`: `"rewardIndex"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"oldRecipient"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"newRecipient"`;
`type`: `"address"`;
}];
`name`: `"RewardRecipientUpdated"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`components`: readonly \[\{
`internalType`: `"Currency"`;
`name`: `"currency0"`;
`type`: `"address"`;
}, \{
`internalType`: `"Currency"`;
`name`: `"currency1"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint24"`;
`name`: `"fee"`;
`type`: `"uint24"`;
}, \{
`internalType`: `"int24"`;
`name`: `"tickSpacing"`;
`type`: `"int24"`;
}, \{
`internalType`: `"contract IHooks"`;
`name`: `"hooks"`;
`type`: `"address"`;
}];
`indexed`: `false`;
`internalType`: `"struct PoolKey"`;
`name`: `"poolKey"`;
`type`: `"tuple"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"poolSupply"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"positionId"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"numPositions"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint16[]"`;
`name`: `"rewardBps"`;
`type`: `"uint16[]"`;
}, \{
`indexed`: `false`;
`internalType`: `"address[]"`;
`name`: `"rewardAdmins"`;
`type`: `"address[]"`;
}, \{
`indexed`: `false`;
`internalType`: `"address[]"`;
`name`: `"rewardRecipients"`;
`type`: `"address[]"`;
}, \{
`indexed`: `false`;
`internalType`: `"int24[]"`;
`name`: `"tickLower"`;
`type`: `"int24[]"`;
}, \{
`indexed`: `false`;
`internalType`: `"int24[]"`;
`name`: `"tickUpper"`;
`type`: `"int24[]"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint16[]"`;
`name`: `"positionBps"`;
`type`: `"uint16[]"`;
}];
`name`: `"TokenRewardAdded"`;
`type`: `"event"`;
}, \{
`inputs`: readonly \[];
`name`: `"InvalidPositionBps"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"InvalidRewardBps"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"MismatchedPositionInfos"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"MismatchedRewardArrays"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"NoPositions"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"NoRewardRecipients"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"owner"`;
`type`: `"address"`;
}];
`name`: `"OwnableInvalidOwner"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}];
`name`: `"OwnableUnauthorizedAccount"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"ReentrancyGuardReentrantCall"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"SafeERC20FailedOperation"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TickRangeLowerThanStartingTick"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TicksBackwards"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TicksNotMultipleOfTickSpacing"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TicksOutOfTickBounds"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TokenAlreadyHasRewards"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TooManyPositions"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TooManyRewardParticipants"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"Unauthorized"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"ZeroRewardAddress"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"ZeroRewardAmount"`;
`type`: `"error"`;
}];
`address`: `` `0x${string}` ``;
`args`: readonly \[`` `0x${string}` ``];
`functionName`: `"tokenRewards"`;
}>

Abi transaction config for reading token rewards

##### getUpdateImageTransaction()

[View full generated declaration (979 lines)](https://raw.githubusercontent.com/clanker-devco/DOCS/refs/heads/main/mintlify/assets/sdk-types/2cb913cedf802539be44c8eebb50b3a715a0eb8504e56188673dba4c586fc9ab.txt)

Defined in: [src/v4/index.ts:563](https://github.com/clanker-devco/clanker-sdk/blob/main/src/v4/index.ts#L563)

Get an abi-typed transaction for updating the token image.

###### Parameters

| Parameter | Type | Description |
| - | - | - |
| `token` | \{ `newImage`: `string`; `token`: `` `0x${string}` ``; } | The token to update the image for |
| `token.newImage` | `string` | - |
| `token.token?` | `` `0x${string}` `` | - |
| `options?` | \{ `chain?`: `Chain`; } | Optional chain configuration |
| `options.chain?` | `Chain` | - |

###### Returns

`Promise`\<`ClankerTransactionConfig`\<readonly \[\{
`inputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `"name_"`;
`type`: `"string"`;
}, \{
`internalType`: `"string"`;
`name`: `"symbol_"`;
`type`: `"string"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"maxSupply_"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"address"`;
`name`: `"admin_"`;
`type`: `"address"`;
}, \{
`internalType`: `"string"`;
`name`: `"image_"`;
`type`: `"string"`;
}, \{
`internalType`: `"string"`;
`name`: `"metadata_"`;
`type`: `"string"`;
}, \{
`internalType`: `"string"`;
`name`: `"context_"`;
`type`: `"string"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"initialSupplyChainId_"`;
`type`: `"uint256"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"constructor"`;
}, \{
`inputs`: readonly \[];
`name`: `"CLOCK_MODE"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"DOMAIN_SEPARATOR"`;
`outputs`: readonly \[\{
`internalType`: `"bytes32"`;
`name`: `""`;
`type`: `"bytes32"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"admin"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"allData"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"originalAdmin"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"admin"`;
`type`: `"address"`;
}, \{
`internalType`: `"string"`;
`name`: `"image"`;
`type`: `"string"`;
}, \{
`internalType`: `"string"`;
`name`: `"metadata"`;
`type`: `"string"`;
}, \{
`internalType`: `"string"`;
`name`: `"context"`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"owner"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"spender"`;
`type`: `"address"`;
}];
`name`: `"allowance"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"spender"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"approve"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}];
`name`: `"balanceOf"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"burn"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"burnFrom"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint32"`;
`name`: `"pos"`;
`type`: `"uint32"`;
}];
`name`: `"checkpoints"`;
`outputs`: readonly \[\{
`components`: readonly \[\{
`internalType`: `"uint48"`;
`name`: `"_key"`;
`type`: `"uint48"`;
}, \{
`internalType`: `"uint208"`;
`name`: `"_value"`;
`type`: `"uint208"`;
}];
`internalType`: `"struct Checkpoints.Checkpoint208"`;
`name`: `""`;
`type`: `"tuple"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"clock"`;
`outputs`: readonly \[\{
`internalType`: `"uint48"`;
`name`: `""`;
`type`: `"uint48"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"context"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"_from"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"_amount"`;
`type`: `"uint256"`;
}];
`name`: `"crosschainBurn"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"_to"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"_amount"`;
`type`: `"uint256"`;
}];
`name`: `"crosschainMint"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"decimals"`;
`outputs`: readonly \[\{
`internalType`: `"uint8"`;
`name`: `""`;
`type`: `"uint8"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"delegatee"`;
`type`: `"address"`;
}];
`name`: `"delegate"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"delegatee"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"nonce"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"expiry"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint8"`;
`name`: `"v"`;
`type`: `"uint8"`;
}, \{
`internalType`: `"bytes32"`;
`name`: `"r"`;
`type`: `"bytes32"`;
}, \{
`internalType`: `"bytes32"`;
`name`: `"s"`;
`type`: `"bytes32"`;
}];
`name`: `"delegateBySig"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}];
`name`: `"delegates"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"eip712Domain"`;
`outputs`: readonly \[\{
`internalType`: `"bytes1"`;
`name`: `"fields"`;
`type`: `"bytes1"`;
}, \{
`internalType`: `"string"`;
`name`: `"name"`;
`type`: `"string"`;
}, \{
`internalType`: `"string"`;
`name`: `"version"`;
`type`: `"string"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"chainId"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"address"`;
`name`: `"verifyingContract"`;
`type`: `"address"`;
}, \{
`internalType`: `"bytes32"`;
`name`: `"salt"`;
`type`: `"bytes32"`;
}, \{
`internalType`: `"uint256[]"`;
`name`: `"extensions"`;
`type`: `"uint256[]"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"timepoint"`;
`type`: `"uint256"`;
}];
`name`: `"getPastTotalSupply"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"timepoint"`;
`type`: `"uint256"`;
}];
`name`: `"getPastVotes"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}];
`name`: `"getVotes"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"imageUrl"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"isVerified"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"metadata"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"name"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"owner"`;
`type`: `"address"`;
}];
`name`: `"nonces"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}];
`name`: `"numCheckpoints"`;
`outputs`: readonly \[\{
`internalType`: `"uint32"`;
`name`: `""`;
`type`: `"uint32"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"originalAdmin"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"owner"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"spender"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"deadline"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint8"`;
`name`: `"v"`;
`type`: `"uint8"`;
}, \{
`internalType`: `"bytes32"`;
`name`: `"r"`;
`type`: `"bytes32"`;
}, \{
`internalType`: `"bytes32"`;
`name`: `"s"`;
`type`: `"bytes32"`;
}];
`name`: `"permit"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"bytes4"`;
`name`: `"_interfaceId"`;
`type`: `"bytes4"`;
}];
`name`: `"supportsInterface"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"pure"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"symbol"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"totalSupply"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"to"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"transfer"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"from"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"to"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"transferFrom"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"admin_"`;
`type`: `"address"`;
}];
`name`: `"updateAdmin"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `"image_"`;
`type`: `"string"`;
}];
`name`: `"updateImage"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `"metadata_"`;
`type`: `"string"`;
}];
`name`: `"updateMetadata"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"verify"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"owner"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"spender"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"Approval"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"from"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amount"`;
`type`: `"uint256"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"sender"`;
`type`: `"address"`;
}];
`name`: `"CrosschainBurn"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"to"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amount"`;
`type`: `"uint256"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"sender"`;
`type`: `"address"`;
}];
`name`: `"CrosschainMint"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"delegator"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"fromDelegate"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"toDelegate"`;
`type`: `"address"`;
}];
`name`: `"DelegateChanged"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"delegate"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"previousVotes"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"newVotes"`;
`type`: `"uint256"`;
}];
`name`: `"DelegateVotesChanged"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[];
`name`: `"EIP712DomainChanged"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"from"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"to"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"Transfer"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"oldAdmin"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"newAdmin"`;
`type`: `"address"`;
}];
`name`: `"UpdateAdmin"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `false`;
`internalType`: `"string"`;
`name`: `"image"`;
`type`: `"string"`;
}];
`name`: `"UpdateImage"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `false`;
`internalType`: `"string"`;
`name`: `"metadata"`;
`type`: `"string"`;
}];
`name`: `"UpdateMetadata"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"admin"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"Verified"`;
`type`: `"event"`;
}, \{
`inputs`: readonly \[];
`name`: `"AlreadyVerified"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"CheckpointUnorderedInsertion"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"ECDSAInvalidSignature"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"length"`;
`type`: `"uint256"`;
}];
`name`: `"ECDSAInvalidSignatureLength"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"bytes32"`;
`name`: `"s"`;
`type`: `"bytes32"`;
}];
`name`: `"ECDSAInvalidSignatureS"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"increasedSupply"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"cap"`;
`type`: `"uint256"`;
}];
`name`: `"ERC20ExceededSafeSupply"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"spender"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"allowance"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"needed"`;
`type`: `"uint256"`;
}];
`name`: `"ERC20InsufficientAllowance"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"sender"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"balance"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"needed"`;
`type`: `"uint256"`;
}];
`name`: `"ERC20InsufficientBalance"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"approver"`;
`type`: `"address"`;
}];
`name`: `"ERC20InvalidApprover"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"receiver"`;
`type`: `"address"`;
}];
`name`: `"ERC20InvalidReceiver"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"sender"`;
`type`: `"address"`;
}];
`name`: `"ERC20InvalidSender"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"spender"`;
`type`: `"address"`;
}];
`name`: `"ERC20InvalidSpender"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"deadline"`;
`type`: `"uint256"`;
}];
`name`: `"ERC2612ExpiredSignature"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"signer"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"owner"`;
`type`: `"address"`;
}];
`name`: `"ERC2612InvalidSigner"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"timepoint"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint48"`;
`name`: `"clock"`;
`type`: `"uint48"`;
}];
`name`: `"ERC5805FutureLookup"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"ERC6372InconsistentClock"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"currentNonce"`;
`type`: `"uint256"`;
}];
`name`: `"InvalidAccountNonce"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"InvalidShortString"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"NotAdmin"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"NotOriginalAdmin"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint8"`;
`name`: `"bits"`;
`type`: `"uint8"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"SafeCastOverflowedUintDowncast"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `"str"`;
`type`: `"string"`;
}];
`name`: `"StringTooLong"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"Unauthorized"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"expiry"`;
`type`: `"uint256"`;
}];
`name`: `"VotesExpiredSignature"`;
`type`: `"error"`;
}]>>

Abi transaction

##### getUpdateMetadataTransaction()

[View full generated declaration (979 lines)](https://raw.githubusercontent.com/clanker-devco/DOCS/refs/heads/main/mintlify/assets/sdk-types/a561f5b59d5813f8590967244097f1ac1388fabc8350b33d0e5bffe267bfac29.txt)

Defined in: [src/v4/index.ts:590](https://github.com/clanker-devco/clanker-sdk/blob/main/src/v4/index.ts#L590)

Get an abi-typed transaction for updating the token metadata.

###### Parameters

| Parameter | Type | Description |
| - | - | - |
| `token` | \{ `metadata`: `string`; `token`: `` `0x${string}` ``; } | The token to update the metadata for |
| `token.metadata` | `string` | - |
| `token.token?` | `` `0x${string}` `` | - |
| `options?` | \{ `chain?`: `Chain`; } | Optional chain configuration |
| `options.chain?` | `Chain` | - |

###### Returns

`Promise`\<`ClankerTransactionConfig`\<readonly \[\{
`inputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `"name_"`;
`type`: `"string"`;
}, \{
`internalType`: `"string"`;
`name`: `"symbol_"`;
`type`: `"string"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"maxSupply_"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"address"`;
`name`: `"admin_"`;
`type`: `"address"`;
}, \{
`internalType`: `"string"`;
`name`: `"image_"`;
`type`: `"string"`;
}, \{
`internalType`: `"string"`;
`name`: `"metadata_"`;
`type`: `"string"`;
}, \{
`internalType`: `"string"`;
`name`: `"context_"`;
`type`: `"string"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"initialSupplyChainId_"`;
`type`: `"uint256"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"constructor"`;
}, \{
`inputs`: readonly \[];
`name`: `"CLOCK_MODE"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"DOMAIN_SEPARATOR"`;
`outputs`: readonly \[\{
`internalType`: `"bytes32"`;
`name`: `""`;
`type`: `"bytes32"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"admin"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"allData"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"originalAdmin"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"admin"`;
`type`: `"address"`;
}, \{
`internalType`: `"string"`;
`name`: `"image"`;
`type`: `"string"`;
}, \{
`internalType`: `"string"`;
`name`: `"metadata"`;
`type`: `"string"`;
}, \{
`internalType`: `"string"`;
`name`: `"context"`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"owner"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"spender"`;
`type`: `"address"`;
}];
`name`: `"allowance"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"spender"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"approve"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}];
`name`: `"balanceOf"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"burn"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"burnFrom"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint32"`;
`name`: `"pos"`;
`type`: `"uint32"`;
}];
`name`: `"checkpoints"`;
`outputs`: readonly \[\{
`components`: readonly \[\{
`internalType`: `"uint48"`;
`name`: `"_key"`;
`type`: `"uint48"`;
}, \{
`internalType`: `"uint208"`;
`name`: `"_value"`;
`type`: `"uint208"`;
}];
`internalType`: `"struct Checkpoints.Checkpoint208"`;
`name`: `""`;
`type`: `"tuple"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"clock"`;
`outputs`: readonly \[\{
`internalType`: `"uint48"`;
`name`: `""`;
`type`: `"uint48"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"context"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"_from"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"_amount"`;
`type`: `"uint256"`;
}];
`name`: `"crosschainBurn"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"_to"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"_amount"`;
`type`: `"uint256"`;
}];
`name`: `"crosschainMint"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"decimals"`;
`outputs`: readonly \[\{
`internalType`: `"uint8"`;
`name`: `""`;
`type`: `"uint8"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"delegatee"`;
`type`: `"address"`;
}];
`name`: `"delegate"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"delegatee"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"nonce"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"expiry"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint8"`;
`name`: `"v"`;
`type`: `"uint8"`;
}, \{
`internalType`: `"bytes32"`;
`name`: `"r"`;
`type`: `"bytes32"`;
}, \{
`internalType`: `"bytes32"`;
`name`: `"s"`;
`type`: `"bytes32"`;
}];
`name`: `"delegateBySig"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}];
`name`: `"delegates"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"eip712Domain"`;
`outputs`: readonly \[\{
`internalType`: `"bytes1"`;
`name`: `"fields"`;
`type`: `"bytes1"`;
}, \{
`internalType`: `"string"`;
`name`: `"name"`;
`type`: `"string"`;
}, \{
`internalType`: `"string"`;
`name`: `"version"`;
`type`: `"string"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"chainId"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"address"`;
`name`: `"verifyingContract"`;
`type`: `"address"`;
}, \{
`internalType`: `"bytes32"`;
`name`: `"salt"`;
`type`: `"bytes32"`;
}, \{
`internalType`: `"uint256[]"`;
`name`: `"extensions"`;
`type`: `"uint256[]"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"timepoint"`;
`type`: `"uint256"`;
}];
`name`: `"getPastTotalSupply"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"timepoint"`;
`type`: `"uint256"`;
}];
`name`: `"getPastVotes"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}];
`name`: `"getVotes"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"imageUrl"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"isVerified"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"metadata"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"name"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"owner"`;
`type`: `"address"`;
}];
`name`: `"nonces"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}];
`name`: `"numCheckpoints"`;
`outputs`: readonly \[\{
`internalType`: `"uint32"`;
`name`: `""`;
`type`: `"uint32"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"originalAdmin"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"owner"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"spender"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"deadline"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint8"`;
`name`: `"v"`;
`type`: `"uint8"`;
}, \{
`internalType`: `"bytes32"`;
`name`: `"r"`;
`type`: `"bytes32"`;
}, \{
`internalType`: `"bytes32"`;
`name`: `"s"`;
`type`: `"bytes32"`;
}];
`name`: `"permit"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"bytes4"`;
`name`: `"_interfaceId"`;
`type`: `"bytes4"`;
}];
`name`: `"supportsInterface"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"pure"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"symbol"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"totalSupply"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"to"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"transfer"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"from"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"to"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"transferFrom"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"admin_"`;
`type`: `"address"`;
}];
`name`: `"updateAdmin"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `"image_"`;
`type`: `"string"`;
}];
`name`: `"updateImage"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `"metadata_"`;
`type`: `"string"`;
}];
`name`: `"updateMetadata"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"verify"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"owner"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"spender"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"Approval"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"from"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amount"`;
`type`: `"uint256"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"sender"`;
`type`: `"address"`;
}];
`name`: `"CrosschainBurn"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"to"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amount"`;
`type`: `"uint256"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"sender"`;
`type`: `"address"`;
}];
`name`: `"CrosschainMint"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"delegator"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"fromDelegate"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"toDelegate"`;
`type`: `"address"`;
}];
`name`: `"DelegateChanged"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"delegate"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"previousVotes"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"newVotes"`;
`type`: `"uint256"`;
}];
`name`: `"DelegateVotesChanged"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[];
`name`: `"EIP712DomainChanged"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"from"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"to"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"Transfer"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"oldAdmin"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"newAdmin"`;
`type`: `"address"`;
}];
`name`: `"UpdateAdmin"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `false`;
`internalType`: `"string"`;
`name`: `"image"`;
`type`: `"string"`;
}];
`name`: `"UpdateImage"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `false`;
`internalType`: `"string"`;
`name`: `"metadata"`;
`type`: `"string"`;
}];
`name`: `"UpdateMetadata"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"admin"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"Verified"`;
`type`: `"event"`;
}, \{
`inputs`: readonly \[];
`name`: `"AlreadyVerified"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"CheckpointUnorderedInsertion"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"ECDSAInvalidSignature"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"length"`;
`type`: `"uint256"`;
}];
`name`: `"ECDSAInvalidSignatureLength"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"bytes32"`;
`name`: `"s"`;
`type`: `"bytes32"`;
}];
`name`: `"ECDSAInvalidSignatureS"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"increasedSupply"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"cap"`;
`type`: `"uint256"`;
}];
`name`: `"ERC20ExceededSafeSupply"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"spender"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"allowance"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"needed"`;
`type`: `"uint256"`;
}];
`name`: `"ERC20InsufficientAllowance"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"sender"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"balance"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"needed"`;
`type`: `"uint256"`;
}];
`name`: `"ERC20InsufficientBalance"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"approver"`;
`type`: `"address"`;
}];
`name`: `"ERC20InvalidApprover"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"receiver"`;
`type`: `"address"`;
}];
`name`: `"ERC20InvalidReceiver"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"sender"`;
`type`: `"address"`;
}];
`name`: `"ERC20InvalidSender"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"spender"`;
`type`: `"address"`;
}];
`name`: `"ERC20InvalidSpender"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"deadline"`;
`type`: `"uint256"`;
}];
`name`: `"ERC2612ExpiredSignature"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"signer"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"owner"`;
`type`: `"address"`;
}];
`name`: `"ERC2612InvalidSigner"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"timepoint"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint48"`;
`name`: `"clock"`;
`type`: `"uint48"`;
}];
`name`: `"ERC5805FutureLookup"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"ERC6372InconsistentClock"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"currentNonce"`;
`type`: `"uint256"`;
}];
`name`: `"InvalidAccountNonce"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"InvalidShortString"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"NotAdmin"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"NotOriginalAdmin"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint8"`;
`name`: `"bits"`;
`type`: `"uint8"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"SafeCastOverflowedUintDowncast"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `"str"`;
`type`: `"string"`;
}];
`name`: `"StringTooLong"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"Unauthorized"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"expiry"`;
`type`: `"uint256"`;
}];
`name`: `"VotesExpiredSignature"`;
`type`: `"error"`;
}]>>

Abi transaction

##### getUpdateRewardAdminTransaction()

[View full generated declaration (837 lines)](https://raw.githubusercontent.com/clanker-devco/DOCS/refs/heads/main/mintlify/assets/sdk-types/257175f3d708bc27f324549461b72a7ec692e16548d30ed058b9176e6b44cb60.txt)

Defined in: [src/v4/index.ts:258](https://github.com/clanker-devco/clanker-sdk/blob/main/src/v4/index.ts#L258)

Get an abi-typed transaction for updating the reward admin.

###### Parameters

| Parameter | Type | Description |
| - | - | - |
| `token` | \{ `newAdmin`: `` `0x${string}` ``; `rewardIndex`: `bigint`; `token`: `` `0x${string}` ``; } | The token to update the reward admin for |
| `token.newAdmin` | `` `0x${string}` `` | - |
| `token.rewardIndex?` | `bigint` | - |
| `token.token?` | `` `0x${string}` `` | - |
| `options?` | \{ `chain?`: `Chain`; } | Optional chain configuration |
| `options.chain?` | `Chain` | - |

###### Returns

`Promise`\<`ClankerTransactionConfig`\<readonly \[\{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"owner_"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"factory_"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"feeLocker_"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"positionManager_"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"permit2_"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"universalRouter_"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"poolManager_"`;
`type`: `"address"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"constructor"`;
}, \{
`inputs`: readonly \[];
`name`: `"BASIS_POINTS"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"MAX_LP_POSITIONS"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"MAX_REWARD_PARTICIPANTS"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"collectRewards"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"collectRewardsWithoutUnlock"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"factory"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"feeLocker"`;
`outputs`: readonly \[\{
`internalType`: `"contract IClankerFeeLocker"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`name`: `"feePreferences"`;
`outputs`: readonly \[\{
`internalType`: `"enum IClankerLpLockerFeeConversion.FeeIn"`;
`name`: `"feePreference"`;
`type`: `"uint8"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"from"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"id"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"bytes"`;
`name`: `""`;
`type`: `"bytes"`;
}];
`name`: `"onERC721Received"`;
`outputs`: readonly \[\{
`internalType`: `"bytes4"`;
`name`: `""`;
`type`: `"bytes4"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"owner"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"permit2"`;
`outputs`: readonly \[\{
`internalType`: `"contract IPermit2"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`components`: readonly \[\{
`internalType`: `"address"`;
`name`: `"locker"`;
`type`: `"address"`;
}, \{
`internalType`: `"address[]"`;
`name`: `"rewardAdmins"`;
`type`: `"address[]"`;
}, \{
`internalType`: `"address[]"`;
`name`: `"rewardRecipients"`;
`type`: `"address[]"`;
}, \{
`internalType`: `"uint16[]"`;
`name`: `"rewardBps"`;
`type`: `"uint16[]"`;
}, \{
`internalType`: `"int24[]"`;
`name`: `"tickLower"`;
`type`: `"int24[]"`;
}, \{
`internalType`: `"int24[]"`;
`name`: `"tickUpper"`;
`type`: `"int24[]"`;
}, \{
`internalType`: `"uint16[]"`;
`name`: `"positionBps"`;
`type`: `"uint16[]"`;
}, \{
`internalType`: `"bytes"`;
`name`: `"lockerData"`;
`type`: `"bytes"`;
}];
`internalType`: `"struct IClanker.LockerConfig"`;
`name`: `"lockerConfig"`;
`type`: `"tuple"`;
}, \{
`components`: readonly \[\{
`internalType`: `"address"`;
`name`: `"hook"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"pairedToken"`;
`type`: `"address"`;
}, \{
`internalType`: `"int24"`;
`name`: `"tickIfToken0IsClanker"`;
`type`: `"int24"`;
}, \{
`internalType`: `"int24"`;
`name`: `"tickSpacing"`;
`type`: `"int24"`;
}, \{
`internalType`: `"bytes"`;
`name`: `"poolData"`;
`type`: `"bytes"`;
}];
`internalType`: `"struct IClanker.PoolConfig"`;
`name`: `"poolConfig"`;
`type`: `"tuple"`;
}, \{
`components`: readonly \[\{
`internalType`: `"Currency"`;
`name`: `"currency0"`;
`type`: `"address"`;
}, \{
`internalType`: `"Currency"`;
`name`: `"currency1"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint24"`;
`name`: `"fee"`;
`type`: `"uint24"`;
}, \{
`internalType`: `"int24"`;
`name`: `"tickSpacing"`;
`type`: `"int24"`;
}, \{
`internalType`: `"contract IHooks"`;
`name`: `"hooks"`;
`type`: `"address"`;
}];
`internalType`: `"struct PoolKey"`;
`name`: `"poolKey"`;
`type`: `"tuple"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"poolSupply"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"placeLiquidity"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"positionId"`;
`type`: `"uint256"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"poolManager"`;
`outputs`: readonly \[\{
`internalType`: `"contract IPoolManager"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"positionManager"`;
`outputs`: readonly \[\{
`internalType`: `"contract IPositionManager"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"renounceOwnership"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"bytes4"`;
`name`: `"interfaceId"`;
`type`: `"bytes4"`;
}];
`name`: `"supportsInterface"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"pure"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"tokenRewards"`;
`outputs`: readonly \[\{
`components`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`components`: readonly \[\{
`internalType`: `"Currency"`;
`name`: `"currency0"`;
`type`: `"address"`;
}, \{
`internalType`: `"Currency"`;
`name`: `"currency1"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint24"`;
`name`: `"fee"`;
`type`: `"uint24"`;
}, \{
`internalType`: `"int24"`;
`name`: `"tickSpacing"`;
`type`: `"int24"`;
}, \{
`internalType`: `"contract IHooks"`;
`name`: `"hooks"`;
`type`: `"address"`;
}];
`internalType`: `"struct PoolKey"`;
`name`: `"poolKey"`;
`type`: `"tuple"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"positionId"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"numPositions"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint16[]"`;
`name`: `"rewardBps"`;
`type`: `"uint16[]"`;
}, \{
`internalType`: `"address[]"`;
`name`: `"rewardAdmins"`;
`type`: `"address[]"`;
}, \{
`internalType`: `"address[]"`;
`name`: `"rewardRecipients"`;
`type`: `"address[]"`;
}];
`internalType`: `"struct IClankerLpLocker.TokenRewardInfo"`;
`name`: `""`;
`type`: `"tuple"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"newOwner"`;
`type`: `"address"`;
}];
`name`: `"transferOwnership"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"universalRouter"`;
`outputs`: readonly \[\{
`internalType`: `"contract IUniversalRouter"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"rewardIndex"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"enum IClankerLpLockerFeeConversion.FeeIn"`;
`name`: `"newFeePreference"`;
`type`: `"uint8"`;
}];
`name`: `"updateFeePreference"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"rewardIndex"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"address"`;
`name`: `"newAdmin"`;
`type`: `"address"`;
}];
`name`: `"updateRewardAdmin"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"rewardIndex"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"address"`;
`name`: `"newRecipient"`;
`type`: `"address"`;
}];
`name`: `"updateRewardRecipient"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"version"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"recipient"`;
`type`: `"address"`;
}];
`name`: `"withdrawERC20"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"recipient"`;
`type`: `"address"`;
}];
`name`: `"withdrawETH"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amount0"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amount1"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256[]"`;
`name`: `"rewards0"`;
`type`: `"uint256[]"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256[]"`;
`name`: `"rewards1"`;
`type`: `"uint256[]"`;
}];
`name`: `"ClaimedRewards"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"uint256"`;
`name`: `"rewardIndex"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"enum IClankerLpLockerFeeConversion.FeeIn"`;
`name`: `"oldFeePreference"`;
`type`: `"uint8"`;
}, \{
`indexed`: `true`;
`internalType`: `"enum IClankerLpLockerFeeConversion.FeeIn"`;
`name`: `"newFeePreference"`;
`type`: `"uint8"`;
}];
`name`: `"FeePreferenceUpdated"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"rewardToken"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amountSwapped"`;
`type`: `"uint256"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"swappedToken"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amountOut"`;
`type`: `"uint256"`;
}];
`name`: `"FeesSwapped"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"enum IClankerLpLockerFeeConversion.FeeIn[]"`;
`name`: `"feePreference"`;
`type`: `"uint8[]"`;
}];
`name`: `"InitialFeePreferences"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"previousOwner"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"newOwner"`;
`type`: `"address"`;
}];
`name`: `"OwnershipTransferred"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"from"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"positionId"`;
`type`: `"uint256"`;
}];
`name`: `"Received"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"uint256"`;
`name`: `"rewardIndex"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"oldAdmin"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"newAdmin"`;
`type`: `"address"`;
}];
`name`: `"RewardAdminUpdated"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"uint256"`;
`name`: `"rewardIndex"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"oldRecipient"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"newRecipient"`;
`type`: `"address"`;
}];
`name`: `"RewardRecipientUpdated"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`components`: readonly \[\{
`internalType`: `"Currency"`;
`name`: `"currency0"`;
`type`: `"address"`;
}, \{
`internalType`: `"Currency"`;
`name`: `"currency1"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint24"`;
`name`: `"fee"`;
`type`: `"uint24"`;
}, \{
`internalType`: `"int24"`;
`name`: `"tickSpacing"`;
`type`: `"int24"`;
}, \{
`internalType`: `"contract IHooks"`;
`name`: `"hooks"`;
`type`: `"address"`;
}];
`indexed`: `false`;
`internalType`: `"struct PoolKey"`;
`name`: `"poolKey"`;
`type`: `"tuple"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"poolSupply"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"positionId"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"numPositions"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint16[]"`;
`name`: `"rewardBps"`;
`type`: `"uint16[]"`;
}, \{
`indexed`: `false`;
`internalType`: `"address[]"`;
`name`: `"rewardAdmins"`;
`type`: `"address[]"`;
}, \{
`indexed`: `false`;
`internalType`: `"address[]"`;
`name`: `"rewardRecipients"`;
`type`: `"address[]"`;
}, \{
`indexed`: `false`;
`internalType`: `"int24[]"`;
`name`: `"tickLower"`;
`type`: `"int24[]"`;
}, \{
`indexed`: `false`;
`internalType`: `"int24[]"`;
`name`: `"tickUpper"`;
`type`: `"int24[]"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint16[]"`;
`name`: `"positionBps"`;
`type`: `"uint16[]"`;
}];
`name`: `"TokenRewardAdded"`;
`type`: `"event"`;
}, \{
`inputs`: readonly \[];
`name`: `"InvalidPositionBps"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"InvalidRewardBps"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"MismatchedPositionInfos"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"MismatchedRewardArrays"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"NoPositions"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"NoRewardRecipients"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"owner"`;
`type`: `"address"`;
}];
`name`: `"OwnableInvalidOwner"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}];
`name`: `"OwnableUnauthorizedAccount"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"ReentrancyGuardReentrantCall"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"SafeERC20FailedOperation"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TickRangeLowerThanStartingTick"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TicksBackwards"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TicksNotMultipleOfTickSpacing"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TicksOutOfTickBounds"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TokenAlreadyHasRewards"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TooManyPositions"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TooManyRewardParticipants"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"Unauthorized"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"ZeroRewardAddress"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"ZeroRewardAmount"`;
`type`: `"error"`;
}]>>

Abi transaction

##### getUpdateRewardRecipientTransaction()

[View full generated declaration (837 lines)](https://raw.githubusercontent.com/clanker-devco/DOCS/refs/heads/main/mintlify/assets/sdk-types/6c6689c81853d454aad794f426f2624ead9cc503af4f2eefc75d8cc666b9f619.txt)

Defined in: [src/v4/index.ts:222](https://github.com/clanker-devco/clanker-sdk/blob/main/src/v4/index.ts#L222)

Get an abi-typed transaction for updating the reward recipient.

###### Parameters

| Parameter | Type | Description |
| - | - | - |
| `token` | \{ `newRecipient`: `` `0x${string}` ``; `rewardIndex`: `bigint`; `token`: `` `0x${string}` ``; } | The token to update the reward recipient for |
| `token.newRecipient` | `` `0x${string}` `` | - |
| `token.rewardIndex?` | `bigint` | - |
| `token.token?` | `` `0x${string}` `` | - |
| `options?` | \{ `chain?`: `Chain`; } | Optional chain configuration |
| `options.chain?` | `Chain` | - |

###### Returns

`Promise`\<`ClankerTransactionConfig`\<readonly \[\{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"owner_"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"factory_"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"feeLocker_"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"positionManager_"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"permit2_"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"universalRouter_"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"poolManager_"`;
`type`: `"address"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"constructor"`;
}, \{
`inputs`: readonly \[];
`name`: `"BASIS_POINTS"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"MAX_LP_POSITIONS"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"MAX_REWARD_PARTICIPANTS"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"collectRewards"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"collectRewardsWithoutUnlock"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"factory"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"feeLocker"`;
`outputs`: readonly \[\{
`internalType`: `"contract IClankerFeeLocker"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`name`: `"feePreferences"`;
`outputs`: readonly \[\{
`internalType`: `"enum IClankerLpLockerFeeConversion.FeeIn"`;
`name`: `"feePreference"`;
`type`: `"uint8"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"from"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"id"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"bytes"`;
`name`: `""`;
`type`: `"bytes"`;
}];
`name`: `"onERC721Received"`;
`outputs`: readonly \[\{
`internalType`: `"bytes4"`;
`name`: `""`;
`type`: `"bytes4"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"owner"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"permit2"`;
`outputs`: readonly \[\{
`internalType`: `"contract IPermit2"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`components`: readonly \[\{
`internalType`: `"address"`;
`name`: `"locker"`;
`type`: `"address"`;
}, \{
`internalType`: `"address[]"`;
`name`: `"rewardAdmins"`;
`type`: `"address[]"`;
}, \{
`internalType`: `"address[]"`;
`name`: `"rewardRecipients"`;
`type`: `"address[]"`;
}, \{
`internalType`: `"uint16[]"`;
`name`: `"rewardBps"`;
`type`: `"uint16[]"`;
}, \{
`internalType`: `"int24[]"`;
`name`: `"tickLower"`;
`type`: `"int24[]"`;
}, \{
`internalType`: `"int24[]"`;
`name`: `"tickUpper"`;
`type`: `"int24[]"`;
}, \{
`internalType`: `"uint16[]"`;
`name`: `"positionBps"`;
`type`: `"uint16[]"`;
}, \{
`internalType`: `"bytes"`;
`name`: `"lockerData"`;
`type`: `"bytes"`;
}];
`internalType`: `"struct IClanker.LockerConfig"`;
`name`: `"lockerConfig"`;
`type`: `"tuple"`;
}, \{
`components`: readonly \[\{
`internalType`: `"address"`;
`name`: `"hook"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"pairedToken"`;
`type`: `"address"`;
}, \{
`internalType`: `"int24"`;
`name`: `"tickIfToken0IsClanker"`;
`type`: `"int24"`;
}, \{
`internalType`: `"int24"`;
`name`: `"tickSpacing"`;
`type`: `"int24"`;
}, \{
`internalType`: `"bytes"`;
`name`: `"poolData"`;
`type`: `"bytes"`;
}];
`internalType`: `"struct IClanker.PoolConfig"`;
`name`: `"poolConfig"`;
`type`: `"tuple"`;
}, \{
`components`: readonly \[\{
`internalType`: `"Currency"`;
`name`: `"currency0"`;
`type`: `"address"`;
}, \{
`internalType`: `"Currency"`;
`name`: `"currency1"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint24"`;
`name`: `"fee"`;
`type`: `"uint24"`;
}, \{
`internalType`: `"int24"`;
`name`: `"tickSpacing"`;
`type`: `"int24"`;
}, \{
`internalType`: `"contract IHooks"`;
`name`: `"hooks"`;
`type`: `"address"`;
}];
`internalType`: `"struct PoolKey"`;
`name`: `"poolKey"`;
`type`: `"tuple"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"poolSupply"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"placeLiquidity"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"positionId"`;
`type`: `"uint256"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"poolManager"`;
`outputs`: readonly \[\{
`internalType`: `"contract IPoolManager"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"positionManager"`;
`outputs`: readonly \[\{
`internalType`: `"contract IPositionManager"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"renounceOwnership"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"bytes4"`;
`name`: `"interfaceId"`;
`type`: `"bytes4"`;
}];
`name`: `"supportsInterface"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"pure"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"tokenRewards"`;
`outputs`: readonly \[\{
`components`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`components`: readonly \[\{
`internalType`: `"Currency"`;
`name`: `"currency0"`;
`type`: `"address"`;
}, \{
`internalType`: `"Currency"`;
`name`: `"currency1"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint24"`;
`name`: `"fee"`;
`type`: `"uint24"`;
}, \{
`internalType`: `"int24"`;
`name`: `"tickSpacing"`;
`type`: `"int24"`;
}, \{
`internalType`: `"contract IHooks"`;
`name`: `"hooks"`;
`type`: `"address"`;
}];
`internalType`: `"struct PoolKey"`;
`name`: `"poolKey"`;
`type`: `"tuple"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"positionId"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"numPositions"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint16[]"`;
`name`: `"rewardBps"`;
`type`: `"uint16[]"`;
}, \{
`internalType`: `"address[]"`;
`name`: `"rewardAdmins"`;
`type`: `"address[]"`;
}, \{
`internalType`: `"address[]"`;
`name`: `"rewardRecipients"`;
`type`: `"address[]"`;
}];
`internalType`: `"struct IClankerLpLocker.TokenRewardInfo"`;
`name`: `""`;
`type`: `"tuple"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"newOwner"`;
`type`: `"address"`;
}];
`name`: `"transferOwnership"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"universalRouter"`;
`outputs`: readonly \[\{
`internalType`: `"contract IUniversalRouter"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"rewardIndex"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"enum IClankerLpLockerFeeConversion.FeeIn"`;
`name`: `"newFeePreference"`;
`type`: `"uint8"`;
}];
`name`: `"updateFeePreference"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"rewardIndex"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"address"`;
`name`: `"newAdmin"`;
`type`: `"address"`;
}];
`name`: `"updateRewardAdmin"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"rewardIndex"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"address"`;
`name`: `"newRecipient"`;
`type`: `"address"`;
}];
`name`: `"updateRewardRecipient"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"version"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"recipient"`;
`type`: `"address"`;
}];
`name`: `"withdrawERC20"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"recipient"`;
`type`: `"address"`;
}];
`name`: `"withdrawETH"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amount0"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amount1"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256[]"`;
`name`: `"rewards0"`;
`type`: `"uint256[]"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256[]"`;
`name`: `"rewards1"`;
`type`: `"uint256[]"`;
}];
`name`: `"ClaimedRewards"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"uint256"`;
`name`: `"rewardIndex"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"enum IClankerLpLockerFeeConversion.FeeIn"`;
`name`: `"oldFeePreference"`;
`type`: `"uint8"`;
}, \{
`indexed`: `true`;
`internalType`: `"enum IClankerLpLockerFeeConversion.FeeIn"`;
`name`: `"newFeePreference"`;
`type`: `"uint8"`;
}];
`name`: `"FeePreferenceUpdated"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"rewardToken"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amountSwapped"`;
`type`: `"uint256"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"swappedToken"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amountOut"`;
`type`: `"uint256"`;
}];
`name`: `"FeesSwapped"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"enum IClankerLpLockerFeeConversion.FeeIn[]"`;
`name`: `"feePreference"`;
`type`: `"uint8[]"`;
}];
`name`: `"InitialFeePreferences"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"previousOwner"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"newOwner"`;
`type`: `"address"`;
}];
`name`: `"OwnershipTransferred"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"from"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"positionId"`;
`type`: `"uint256"`;
}];
`name`: `"Received"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"uint256"`;
`name`: `"rewardIndex"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"oldAdmin"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"newAdmin"`;
`type`: `"address"`;
}];
`name`: `"RewardAdminUpdated"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"uint256"`;
`name`: `"rewardIndex"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"oldRecipient"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"newRecipient"`;
`type`: `"address"`;
}];
`name`: `"RewardRecipientUpdated"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`components`: readonly \[\{
`internalType`: `"Currency"`;
`name`: `"currency0"`;
`type`: `"address"`;
}, \{
`internalType`: `"Currency"`;
`name`: `"currency1"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint24"`;
`name`: `"fee"`;
`type`: `"uint24"`;
}, \{
`internalType`: `"int24"`;
`name`: `"tickSpacing"`;
`type`: `"int24"`;
}, \{
`internalType`: `"contract IHooks"`;
`name`: `"hooks"`;
`type`: `"address"`;
}];
`indexed`: `false`;
`internalType`: `"struct PoolKey"`;
`name`: `"poolKey"`;
`type`: `"tuple"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"poolSupply"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"positionId"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"numPositions"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint16[]"`;
`name`: `"rewardBps"`;
`type`: `"uint16[]"`;
}, \{
`indexed`: `false`;
`internalType`: `"address[]"`;
`name`: `"rewardAdmins"`;
`type`: `"address[]"`;
}, \{
`indexed`: `false`;
`internalType`: `"address[]"`;
`name`: `"rewardRecipients"`;
`type`: `"address[]"`;
}, \{
`indexed`: `false`;
`internalType`: `"int24[]"`;
`name`: `"tickLower"`;
`type`: `"int24[]"`;
}, \{
`indexed`: `false`;
`internalType`: `"int24[]"`;
`name`: `"tickUpper"`;
`type`: `"int24[]"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint16[]"`;
`name`: `"positionBps"`;
`type`: `"uint16[]"`;
}];
`name`: `"TokenRewardAdded"`;
`type`: `"event"`;
}, \{
`inputs`: readonly \[];
`name`: `"InvalidPositionBps"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"InvalidRewardBps"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"MismatchedPositionInfos"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"MismatchedRewardArrays"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"NoPositions"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"NoRewardRecipients"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"owner"`;
`type`: `"address"`;
}];
`name`: `"OwnableInvalidOwner"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}];
`name`: `"OwnableUnauthorizedAccount"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"ReentrancyGuardReentrantCall"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"SafeERC20FailedOperation"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TickRangeLowerThanStartingTick"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TicksBackwards"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TicksNotMultipleOfTickSpacing"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TicksOutOfTickBounds"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TokenAlreadyHasRewards"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TooManyPositions"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TooManyRewardParticipants"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"Unauthorized"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"ZeroRewardAddress"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"ZeroRewardAmount"`;
`type`: `"error"`;
}]>>

Abi transaction

##### getVaultClaimableAmount()

```ts theme={null}
getVaultClaimableAmount(token): Promise<bigint>;
```

Defined in: [src/v4/index.ts:494](https://github.com/clanker-devco/clanker-sdk/blob/main/src/v4/index.ts#L494)

Get the amount of vaulted tokens available to claim.

###### Parameters

| Parameter | Type | Description |
| - | - | - |
| `token` | \{ `token`: `` `0x${string}` ``; } | Token to check claimable vault amount for |
| `token.token` | `` `0x${string}` `` | - |

###### Returns

`Promise`\<`bigint`>

Amount of tokens available to claim

##### getVaultClaimTransaction()

```ts theme={null}
getVaultClaimTransaction(token, options?): Promise<any>;
```

Defined in: [src/v4/index.ts:456](https://github.com/clanker-devco/clanker-sdk/blob/main/src/v4/index.ts#L456)

Get an abi-typed transaction for claiming vaulted tokens.

###### Parameters

| Parameter | Type | Description |
| - | - | - |
| `token` | \{ `token`: `` `0x${string}` ``; } | The token to claim for |
| `token.token` | `` `0x${string}` `` | - |
| `options?` | \{ `chain?`: `Chain`; } | - |
| `options.chain?` | `Chain` | - |

###### Returns

`Promise`\<`any`>

Abi transaction

##### updateImage()

```ts theme={null}
updateImage(token): Promise<
  | {
  error: undefined;
  txHash: `0x${string}`;
}
  | {
  error: ClankerError;
  txHash: undefined;
}>;
```

Defined in: [src/v4/index.ts:660](https://github.com/clanker-devco/clanker-sdk/blob/main/src/v4/index.ts#L660)

Update the token image.

###### Parameters

| Parameter | Type | Description |
| - | - | - |
| `token` | \{ `newImage`: `string`; `token`: `` `0x${string}` ``; } | The token to update the image for |
| `token.newImage` | `string` | - |
| `token.token` | `` `0x${string}` `` | - |

###### Returns

`Promise`\<
\| \{
`error`: `undefined`;
`txHash`: `` `0x${string}` ``;
}
\| \{
`error`: `ClankerError`;
`txHash`: `undefined`;
}>

Transaction hash of the update or error

##### updateImageSimulate()

[View full generated declaration (1,991 lines)](https://raw.githubusercontent.com/clanker-devco/DOCS/refs/heads/main/mintlify/assets/sdk-types/c4d8636d1e940d80e3c425a5b691fe29a0c7ce470ed4fe3c888167967f159af1.txt)

Defined in: [src/v4/index.ts:618](https://github.com/clanker-devco/clanker-sdk/blob/main/src/v4/index.ts#L618)

Simulate updating the token image. Will use the wallet account on the Clanker class or
the passed-in account.

###### Parameters

| Parameter | Type | Description |
| - | - | - |
| `token` | \{ `newImage`: `string`; `token`: `` `0x${string}` ``; } | The token to update the image for |
| `token.newImage` | `string` | - |
| `token.token?` | `` `0x${string}` `` | - |
| `account?` | `Account` | Optional account to simulate calling for |

###### Returns

`Promise`\<
\| `SimulateContractReturnType`\<readonly \[\{
`inputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `"name_"`;
`type`: `"string"`;
}, \{
`internalType`: `"string"`;
`name`: `"symbol_"`;
`type`: `"string"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"maxSupply_"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"address"`;
`name`: `"admin_"`;
`type`: `"address"`;
}, \{
`internalType`: `"string"`;
`name`: `"image_"`;
`type`: `"string"`;
}, \{
`internalType`: `"string"`;
`name`: `"metadata_"`;
`type`: `"string"`;
}, \{
`internalType`: `"string"`;
`name`: `"context_"`;
`type`: `"string"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"initialSupplyChainId_"`;
`type`: `"uint256"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"constructor"`;
}, \{
`inputs`: readonly \[];
`name`: `"CLOCK_MODE"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"DOMAIN_SEPARATOR"`;
`outputs`: readonly \[\{
`internalType`: `"bytes32"`;
`name`: `""`;
`type`: `"bytes32"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"admin"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"allData"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"originalAdmin"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"admin"`;
`type`: `"address"`;
}, \{
`internalType`: `"string"`;
`name`: `"image"`;
`type`: `"string"`;
}, \{
`internalType`: `"string"`;
`name`: `"metadata"`;
`type`: `"string"`;
}, \{
`internalType`: `"string"`;
`name`: `"context"`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"owner"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"spender"`;
`type`: `"address"`;
}];
`name`: `"allowance"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"spender"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"approve"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}];
`name`: `"balanceOf"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"burn"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"burnFrom"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint32"`;
`name`: `"pos"`;
`type`: `"uint32"`;
}];
`name`: `"checkpoints"`;
`outputs`: readonly \[\{
`components`: readonly \[\{
`internalType`: `"uint48"`;
`name`: `"_key"`;
`type`: `"uint48"`;
}, \{
`internalType`: `"uint208"`;
`name`: `"_value"`;
`type`: `"uint208"`;
}];
`internalType`: `"struct Checkpoints.Checkpoint208"`;
`name`: `""`;
`type`: `"tuple"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"clock"`;
`outputs`: readonly \[\{
`internalType`: `"uint48"`;
`name`: `""`;
`type`: `"uint48"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"context"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"_from"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"_amount"`;
`type`: `"uint256"`;
}];
`name`: `"crosschainBurn"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"_to"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"_amount"`;
`type`: `"uint256"`;
}];
`name`: `"crosschainMint"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"decimals"`;
`outputs`: readonly \[\{
`internalType`: `"uint8"`;
`name`: `""`;
`type`: `"uint8"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"delegatee"`;
`type`: `"address"`;
}];
`name`: `"delegate"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"delegatee"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"nonce"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"expiry"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint8"`;
`name`: `"v"`;
`type`: `"uint8"`;
}, \{
`internalType`: `"bytes32"`;
`name`: `"r"`;
`type`: `"bytes32"`;
}, \{
`internalType`: `"bytes32"`;
`name`: `"s"`;
`type`: `"bytes32"`;
}];
`name`: `"delegateBySig"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}];
`name`: `"delegates"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"eip712Domain"`;
`outputs`: readonly \[\{
`internalType`: `"bytes1"`;
`name`: `"fields"`;
`type`: `"bytes1"`;
}, \{
`internalType`: `"string"`;
`name`: `"name"`;
`type`: `"string"`;
}, \{
`internalType`: `"string"`;
`name`: `"version"`;
`type`: `"string"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"chainId"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"address"`;
`name`: `"verifyingContract"`;
`type`: `"address"`;
}, \{
`internalType`: `"bytes32"`;
`name`: `"salt"`;
`type`: `"bytes32"`;
}, \{
`internalType`: `"uint256[]"`;
`name`: `"extensions"`;
`type`: `"uint256[]"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"timepoint"`;
`type`: `"uint256"`;
}];
`name`: `"getPastTotalSupply"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"timepoint"`;
`type`: `"uint256"`;
}];
`name`: `"getPastVotes"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}];
`name`: `"getVotes"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"imageUrl"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"isVerified"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"metadata"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"name"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"owner"`;
`type`: `"address"`;
}];
`name`: `"nonces"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}];
`name`: `"numCheckpoints"`;
`outputs`: readonly \[\{
`internalType`: `"uint32"`;
`name`: `""`;
`type`: `"uint32"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"originalAdmin"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"owner"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"spender"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"deadline"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint8"`;
`name`: `"v"`;
`type`: `"uint8"`;
}, \{
`internalType`: `"bytes32"`;
`name`: `"r"`;
`type`: `"bytes32"`;
}, \{
`internalType`: `"bytes32"`;
`name`: `"s"`;
`type`: `"bytes32"`;
}];
`name`: `"permit"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"bytes4"`;
`name`: `"_interfaceId"`;
`type`: `"bytes4"`;
}];
`name`: `"supportsInterface"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"pure"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"symbol"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"totalSupply"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"to"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"transfer"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"from"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"to"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"transferFrom"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"admin_"`;
`type`: `"address"`;
}];
`name`: `"updateAdmin"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `"image_"`;
`type`: `"string"`;
}];
`name`: `"updateImage"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `"metadata_"`;
`type`: `"string"`;
}];
`name`: `"updateMetadata"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"verify"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"owner"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"spender"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"Approval"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"from"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amount"`;
`type`: `"uint256"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"sender"`;
`type`: `"address"`;
}];
`name`: `"CrosschainBurn"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"to"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amount"`;
`type`: `"uint256"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"sender"`;
`type`: `"address"`;
}];
`name`: `"CrosschainMint"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"delegator"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"fromDelegate"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"toDelegate"`;
`type`: `"address"`;
}];
`name`: `"DelegateChanged"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"delegate"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"previousVotes"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"newVotes"`;
`type`: `"uint256"`;
}];
`name`: `"DelegateVotesChanged"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[];
`name`: `"EIP712DomainChanged"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"from"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"to"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"Transfer"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"oldAdmin"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"newAdmin"`;
`type`: `"address"`;
}];
`name`: `"UpdateAdmin"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `false`;
`internalType`: `"string"`;
`name`: `"image"`;
`type`: `"string"`;
}];
`name`: `"UpdateImage"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `false`;
`internalType`: `"string"`;
`name`: `"metadata"`;
`type`: `"string"`;
}];
`name`: `"UpdateMetadata"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"admin"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"Verified"`;
`type`: `"event"`;
}, \{
`inputs`: readonly \[];
`name`: `"AlreadyVerified"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"CheckpointUnorderedInsertion"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"ECDSAInvalidSignature"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"length"`;
`type`: `"uint256"`;
}];
`name`: `"ECDSAInvalidSignatureLength"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"bytes32"`;
`name`: `"s"`;
`type`: `"bytes32"`;
}];
`name`: `"ECDSAInvalidSignatureS"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"increasedSupply"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"cap"`;
`type`: `"uint256"`;
}];
`name`: `"ERC20ExceededSafeSupply"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"spender"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"allowance"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"needed"`;
`type`: `"uint256"`;
}];
`name`: `"ERC20InsufficientAllowance"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"sender"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"balance"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"needed"`;
`type`: `"uint256"`;
}];
`name`: `"ERC20InsufficientBalance"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"approver"`;
`type`: `"address"`;
}];
`name`: `"ERC20InvalidApprover"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"receiver"`;
`type`: `"address"`;
}];
`name`: `"ERC20InvalidReceiver"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"sender"`;
`type`: `"address"`;
}];
`name`: `"ERC20InvalidSender"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"spender"`;
`type`: `"address"`;
}];
`name`: `"ERC20InvalidSpender"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"deadline"`;
`type`: `"uint256"`;
}];
`name`: `"ERC2612ExpiredSignature"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"signer"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"owner"`;
`type`: `"address"`;
}];
`name`: `"ERC2612InvalidSigner"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"timepoint"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint48"`;
`name`: `"clock"`;
`type`: `"uint48"`;
}];
`name`: `"ERC5805FutureLookup"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"ERC6372InconsistentClock"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"currentNonce"`;
`type`: `"uint256"`;
}];
`name`: `"InvalidAccountNonce"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"InvalidShortString"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"NotAdmin"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"NotOriginalAdmin"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint8"`;
`name`: `"bits"`;
`type`: `"uint8"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"SafeCastOverflowedUintDowncast"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `"str"`;
`type`: `"string"`;
}];
`name`: `"StringTooLong"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"Unauthorized"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"expiry"`;
`type`: `"uint256"`;
}];
`name`: `"VotesExpiredSignature"`;
`type`: `"error"`;
}],
\| `"updateAdmin"`
\| `"approve"`
\| `"burn"`
\| `"burnFrom"`
\| `"crosschainBurn"`
\| `"crosschainMint"`
\| `"delegate"`
\| `"delegateBySig"`
\| `"permit"`
\| `"transfer"`
\| `"transferFrom"`
\| `"updateImage"`
\| `"updateMetadata"`
\| `"verify"`> & \{
`error?`: `undefined`;
}
\| `UndefinedValues`\<`SimulateContractReturnType`\<readonly \[\{
`inputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `"name_"`;
`type`: `"string"`;
}, \{
`internalType`: `"string"`;
`name`: `"symbol_"`;
`type`: `"string"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"maxSupply_"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"address"`;
`name`: `"admin_"`;
`type`: `"address"`;
}, \{
`internalType`: `"string"`;
`name`: `"image_"`;
`type`: `"string"`;
}, \{
`internalType`: `"string"`;
`name`: `"metadata_"`;
`type`: `"string"`;
}, \{
`internalType`: `"string"`;
`name`: `"context_"`;
`type`: `"string"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"initialSupplyChainId_"`;
`type`: `"uint256"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"constructor"`;
}, \{
`inputs`: readonly \[];
`name`: `"CLOCK_MODE"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"DOMAIN_SEPARATOR"`;
`outputs`: readonly \[\{
`internalType`: `"bytes32"`;
`name`: `""`;
`type`: `"bytes32"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"admin"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"allData"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"originalAdmin"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"admin"`;
`type`: `"address"`;
}, \{
`internalType`: `"string"`;
`name`: `"image"`;
`type`: `"string"`;
}, \{
`internalType`: `"string"`;
`name`: `"metadata"`;
`type`: `"string"`;
}, \{
`internalType`: `"string"`;
`name`: `"context"`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"owner"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"spender"`;
`type`: `"address"`;
}];
`name`: `"allowance"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"spender"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"approve"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}];
`name`: `"balanceOf"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"burn"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"burnFrom"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint32"`;
`name`: `"pos"`;
`type`: `"uint32"`;
}];
`name`: `"checkpoints"`;
`outputs`: readonly \[\{
`components`: readonly \[\{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}];
`internalType`: `"struct Checkpoints.Checkpoint208"`;
`name`: `""`;
`type`: `"tuple"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"clock"`;
`outputs`: readonly \[\{
`internalType`: `"uint48"`;
`name`: `""`;
`type`: `"uint48"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"context"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"_from"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"_amount"`;
`type`: `"uint256"`;
}];
`name`: `"crosschainBurn"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"_to"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"_amount"`;
`type`: `"uint256"`;
}];
`name`: `"crosschainMint"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"decimals"`;
`outputs`: readonly \[\{
`internalType`: `"uint8"`;
`name`: `""`;
`type`: `"uint8"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"delegatee"`;
`type`: `"address"`;
}];
`name`: `"delegate"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"delegatee"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"nonce"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"expiry"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint8"`;
`name`: `"v"`;
`type`: `"uint8"`;
}, \{
`internalType`: `"bytes32"`;
`name`: `"r"`;
`type`: `"bytes32"`;
}, \{
`internalType`: `"bytes32"`;
`name`: `"s"`;
`type`: `"bytes32"`;
}];
`name`: `"delegateBySig"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}];
`name`: `"delegates"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"eip712Domain"`;
`outputs`: readonly \[\{
`internalType`: `"bytes1"`;
`name`: `"fields"`;
`type`: `"bytes1"`;
}, \{
`internalType`: `"string"`;
`name`: `"name"`;
`type`: `"string"`;
}, \{
`internalType`: `"string"`;
`name`: `"version"`;
`type`: `"string"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"chainId"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"address"`;
`name`: `"verifyingContract"`;
`type`: `"address"`;
}, \{
`internalType`: `"bytes32"`;
`name`: `"salt"`;
`type`: `"bytes32"`;
}, \{
`internalType`: `"uint256[]"`;
`name`: `"extensions"`;
`type`: `"uint256[]"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"timepoint"`;
`type`: `"uint256"`;
}];
`name`: `"getPastTotalSupply"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"timepoint"`;
`type`: `"uint256"`;
}];
`name`: `"getPastVotes"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}];
`name`: `"getVotes"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"imageUrl"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"isVerified"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"metadata"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"name"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"owner"`;
`type`: `"address"`;
}];
`name`: `"nonces"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}];
`name`: `"numCheckpoints"`;
`outputs`: readonly \[\{
`internalType`: `"uint32"`;
`name`: `""`;
`type`: `"uint32"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"originalAdmin"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"owner"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"spender"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"deadline"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint8"`;
`name`: `"v"`;
`type`: `"uint8"`;
}, \{
`internalType`: `"bytes32"`;
`name`: `"r"`;
`type`: `"bytes32"`;
}, \{
`internalType`: `"bytes32"`;
`name`: `"s"`;
`type`: `"bytes32"`;
}];
`name`: `"permit"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"bytes4"`;
`name`: `"_interfaceId"`;
`type`: `"bytes4"`;
}];
`name`: `"supportsInterface"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"pure"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"symbol"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"totalSupply"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"to"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"transfer"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"from"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"to"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"transferFrom"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"admin_"`;
`type`: `"address"`;
}];
`name`: `"updateAdmin"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `"image_"`;
`type`: `"string"`;
}];
`name`: `"updateImage"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `"metadata_"`;
`type`: `"string"`;
}];
`name`: `"updateMetadata"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"verify"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"owner"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"spender"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"Approval"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"from"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amount"`;
`type`: `"uint256"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"sender"`;
`type`: `"address"`;
}];
`name`: `"CrosschainBurn"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"to"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amount"`;
`type`: `"uint256"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"sender"`;
`type`: `"address"`;
}];
`name`: `"CrosschainMint"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"delegator"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"fromDelegate"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"toDelegate"`;
`type`: `"address"`;
}];
`name`: `"DelegateChanged"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"delegate"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"previousVotes"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"newVotes"`;
`type`: `"uint256"`;
}];
`name`: `"DelegateVotesChanged"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[];
`name`: `"EIP712DomainChanged"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"from"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"to"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"Transfer"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"oldAdmin"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"newAdmin"`;
`type`: `"address"`;
}];
`name`: `"UpdateAdmin"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `false`;
`internalType`: `"string"`;
`name`: `"image"`;
`type`: `"string"`;
}];
`name`: `"UpdateImage"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `false`;
`internalType`: `"string"`;
`name`: `"metadata"`;
`type`: `"string"`;
}];
`name`: `"UpdateMetadata"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"admin"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"Verified"`;
`type`: `"event"`;
}, \{
`inputs`: readonly \[];
`name`: `"AlreadyVerified"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"CheckpointUnorderedInsertion"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"ECDSAInvalidSignature"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"length"`;
`type`: `"uint256"`;
}];
`name`: `"ECDSAInvalidSignatureLength"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"bytes32"`;
`name`: `"s"`;
`type`: `"bytes32"`;
}];
`name`: `"ECDSAInvalidSignatureS"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"increasedSupply"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"cap"`;
`type`: `"uint256"`;
}];
`name`: `"ERC20ExceededSafeSupply"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"spender"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"allowance"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"needed"`;
`type`: `"uint256"`;
}];
`name`: `"ERC20InsufficientAllowance"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"sender"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"balance"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"needed"`;
`type`: `"uint256"`;
}];
`name`: `"ERC20InsufficientBalance"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"approver"`;
`type`: `"address"`;
}];
`name`: `"ERC20InvalidApprover"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"receiver"`;
`type`: `"address"`;
}];
`name`: `"ERC20InvalidReceiver"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"sender"`;
`type`: `"address"`;
}];
`name`: `"ERC20InvalidSender"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"spender"`;
`type`: `"address"`;
}];
`name`: `"ERC20InvalidSpender"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"deadline"`;
`type`: `"uint256"`;
}];
`name`: `"ERC2612ExpiredSignature"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"signer"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"owner"`;
`type`: `"address"`;
}];
`name`: `"ERC2612InvalidSigner"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"timepoint"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint48"`;
`name`: `"clock"`;
`type`: `"uint48"`;
}];
`name`: `"ERC5805FutureLookup"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"ERC6372InconsistentClock"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"currentNonce"`;
`type`: `"uint256"`;
}];
`name`: `"InvalidAccountNonce"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"InvalidShortString"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"NotAdmin"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"NotOriginalAdmin"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint8"`;
`name`: `"bits"`;
`type`: `"uint8"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"SafeCastOverflowedUintDowncast"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `"str"`;
`type`: `"string"`;
}];
`name`: `"StringTooLong"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"Unauthorized"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"expiry"`;
`type`: `"uint256"`;
}];
`name`: `"VotesExpiredSignature"`;
`type`: `"error"`;
}],
\| `"updateAdmin"`
\| `"approve"`
\| `"burn"`
\| `"burnFrom"`
\| `"crosschainBurn"`
\| `"crosschainMint"`
\| `"delegate"`
\| `"delegateBySig"`
\| `"permit"`
\| `"transfer"`
\| `"transferFrom"`
\| `"updateImage"`
\| `"updateMetadata"`
\| `"verify"`>> & \{
`error`: `ClankerError`;
}>

The simulated output

##### updateMetadata()

```ts theme={null}
updateMetadata(token): Promise<
  | {
  error: undefined;
  txHash: `0x${string}`;
}
  | {
  error: ClankerError;
  txHash: undefined;
}>;
```

Defined in: [src/v4/index.ts:684](https://github.com/clanker-devco/clanker-sdk/blob/main/src/v4/index.ts#L684)

Update the token metadata.

###### Parameters

| Parameter | Type | Description |
| - | - | - |
| `token` | \{ `metadata`: `string`; `token`: `` `0x${string}` ``; } | The token to update the metadata for |
| `token.metadata` | `string` | - |
| `token.token` | `` `0x${string}` `` | - |

###### Returns

`Promise`\<
\| \{
`error`: `undefined`;
`txHash`: `` `0x${string}` ``;
}
\| \{
`error`: `ClankerError`;
`txHash`: `undefined`;
}>

Transaction hash of the update or error

##### updateMetadataSimulate()

[View full generated declaration (1,991 lines)](https://raw.githubusercontent.com/clanker-devco/DOCS/refs/heads/main/mintlify/assets/sdk-types/de3a4f4995549fa7f76610695353047f795278b455102167b6a1424e96f56a9e.txt)

Defined in: [src/v4/index.ts:640](https://github.com/clanker-devco/clanker-sdk/blob/main/src/v4/index.ts#L640)

Simulate updating the token metadata. Will use the wallet account on the Clanker class or
the passed-in account.

###### Parameters

| Parameter | Type | Description |
| - | - | - |
| `token` | \{ `metadata`: `string`; `token`: `` `0x${string}` ``; } | The token to update the metadata for |
| `token.metadata` | `string` | - |
| `token.token?` | `` `0x${string}` `` | - |
| `account?` | `Account` | Optional account to simulate calling for |

###### Returns

`Promise`\<
\| `SimulateContractReturnType`\<readonly \[\{
`inputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `"name_"`;
`type`: `"string"`;
}, \{
`internalType`: `"string"`;
`name`: `"symbol_"`;
`type`: `"string"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"maxSupply_"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"address"`;
`name`: `"admin_"`;
`type`: `"address"`;
}, \{
`internalType`: `"string"`;
`name`: `"image_"`;
`type`: `"string"`;
}, \{
`internalType`: `"string"`;
`name`: `"metadata_"`;
`type`: `"string"`;
}, \{
`internalType`: `"string"`;
`name`: `"context_"`;
`type`: `"string"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"initialSupplyChainId_"`;
`type`: `"uint256"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"constructor"`;
}, \{
`inputs`: readonly \[];
`name`: `"CLOCK_MODE"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"DOMAIN_SEPARATOR"`;
`outputs`: readonly \[\{
`internalType`: `"bytes32"`;
`name`: `""`;
`type`: `"bytes32"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"admin"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"allData"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"originalAdmin"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"admin"`;
`type`: `"address"`;
}, \{
`internalType`: `"string"`;
`name`: `"image"`;
`type`: `"string"`;
}, \{
`internalType`: `"string"`;
`name`: `"metadata"`;
`type`: `"string"`;
}, \{
`internalType`: `"string"`;
`name`: `"context"`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"owner"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"spender"`;
`type`: `"address"`;
}];
`name`: `"allowance"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"spender"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"approve"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}];
`name`: `"balanceOf"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"burn"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"burnFrom"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint32"`;
`name`: `"pos"`;
`type`: `"uint32"`;
}];
`name`: `"checkpoints"`;
`outputs`: readonly \[\{
`components`: readonly \[\{
`internalType`: `"uint48"`;
`name`: `"_key"`;
`type`: `"uint48"`;
}, \{
`internalType`: `"uint208"`;
`name`: `"_value"`;
`type`: `"uint208"`;
}];
`internalType`: `"struct Checkpoints.Checkpoint208"`;
`name`: `""`;
`type`: `"tuple"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"clock"`;
`outputs`: readonly \[\{
`internalType`: `"uint48"`;
`name`: `""`;
`type`: `"uint48"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"context"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"_from"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"_amount"`;
`type`: `"uint256"`;
}];
`name`: `"crosschainBurn"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"_to"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"_amount"`;
`type`: `"uint256"`;
}];
`name`: `"crosschainMint"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"decimals"`;
`outputs`: readonly \[\{
`internalType`: `"uint8"`;
`name`: `""`;
`type`: `"uint8"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"delegatee"`;
`type`: `"address"`;
}];
`name`: `"delegate"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"delegatee"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"nonce"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"expiry"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint8"`;
`name`: `"v"`;
`type`: `"uint8"`;
}, \{
`internalType`: `"bytes32"`;
`name`: `"r"`;
`type`: `"bytes32"`;
}, \{
`internalType`: `"bytes32"`;
`name`: `"s"`;
`type`: `"bytes32"`;
}];
`name`: `"delegateBySig"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}];
`name`: `"delegates"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"eip712Domain"`;
`outputs`: readonly \[\{
`internalType`: `"bytes1"`;
`name`: `"fields"`;
`type`: `"bytes1"`;
}, \{
`internalType`: `"string"`;
`name`: `"name"`;
`type`: `"string"`;
}, \{
`internalType`: `"string"`;
`name`: `"version"`;
`type`: `"string"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"chainId"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"address"`;
`name`: `"verifyingContract"`;
`type`: `"address"`;
}, \{
`internalType`: `"bytes32"`;
`name`: `"salt"`;
`type`: `"bytes32"`;
}, \{
`internalType`: `"uint256[]"`;
`name`: `"extensions"`;
`type`: `"uint256[]"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"timepoint"`;
`type`: `"uint256"`;
}];
`name`: `"getPastTotalSupply"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"timepoint"`;
`type`: `"uint256"`;
}];
`name`: `"getPastVotes"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}];
`name`: `"getVotes"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"imageUrl"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"isVerified"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"metadata"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"name"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"owner"`;
`type`: `"address"`;
}];
`name`: `"nonces"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}];
`name`: `"numCheckpoints"`;
`outputs`: readonly \[\{
`internalType`: `"uint32"`;
`name`: `""`;
`type`: `"uint32"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"originalAdmin"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"owner"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"spender"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"deadline"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint8"`;
`name`: `"v"`;
`type`: `"uint8"`;
}, \{
`internalType`: `"bytes32"`;
`name`: `"r"`;
`type`: `"bytes32"`;
}, \{
`internalType`: `"bytes32"`;
`name`: `"s"`;
`type`: `"bytes32"`;
}];
`name`: `"permit"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"bytes4"`;
`name`: `"_interfaceId"`;
`type`: `"bytes4"`;
}];
`name`: `"supportsInterface"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"pure"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"symbol"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"totalSupply"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"to"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"transfer"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"from"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"to"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"transferFrom"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"admin_"`;
`type`: `"address"`;
}];
`name`: `"updateAdmin"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `"image_"`;
`type`: `"string"`;
}];
`name`: `"updateImage"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `"metadata_"`;
`type`: `"string"`;
}];
`name`: `"updateMetadata"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"verify"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"owner"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"spender"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"Approval"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"from"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amount"`;
`type`: `"uint256"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"sender"`;
`type`: `"address"`;
}];
`name`: `"CrosschainBurn"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"to"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amount"`;
`type`: `"uint256"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"sender"`;
`type`: `"address"`;
}];
`name`: `"CrosschainMint"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"delegator"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"fromDelegate"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"toDelegate"`;
`type`: `"address"`;
}];
`name`: `"DelegateChanged"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"delegate"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"previousVotes"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"newVotes"`;
`type`: `"uint256"`;
}];
`name`: `"DelegateVotesChanged"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[];
`name`: `"EIP712DomainChanged"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"from"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"to"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"Transfer"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"oldAdmin"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"newAdmin"`;
`type`: `"address"`;
}];
`name`: `"UpdateAdmin"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `false`;
`internalType`: `"string"`;
`name`: `"image"`;
`type`: `"string"`;
}];
`name`: `"UpdateImage"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `false`;
`internalType`: `"string"`;
`name`: `"metadata"`;
`type`: `"string"`;
}];
`name`: `"UpdateMetadata"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"admin"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"Verified"`;
`type`: `"event"`;
}, \{
`inputs`: readonly \[];
`name`: `"AlreadyVerified"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"CheckpointUnorderedInsertion"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"ECDSAInvalidSignature"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"length"`;
`type`: `"uint256"`;
}];
`name`: `"ECDSAInvalidSignatureLength"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"bytes32"`;
`name`: `"s"`;
`type`: `"bytes32"`;
}];
`name`: `"ECDSAInvalidSignatureS"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"increasedSupply"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"cap"`;
`type`: `"uint256"`;
}];
`name`: `"ERC20ExceededSafeSupply"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"spender"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"allowance"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"needed"`;
`type`: `"uint256"`;
}];
`name`: `"ERC20InsufficientAllowance"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"sender"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"balance"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"needed"`;
`type`: `"uint256"`;
}];
`name`: `"ERC20InsufficientBalance"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"approver"`;
`type`: `"address"`;
}];
`name`: `"ERC20InvalidApprover"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"receiver"`;
`type`: `"address"`;
}];
`name`: `"ERC20InvalidReceiver"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"sender"`;
`type`: `"address"`;
}];
`name`: `"ERC20InvalidSender"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"spender"`;
`type`: `"address"`;
}];
`name`: `"ERC20InvalidSpender"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"deadline"`;
`type`: `"uint256"`;
}];
`name`: `"ERC2612ExpiredSignature"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"signer"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"owner"`;
`type`: `"address"`;
}];
`name`: `"ERC2612InvalidSigner"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"timepoint"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint48"`;
`name`: `"clock"`;
`type`: `"uint48"`;
}];
`name`: `"ERC5805FutureLookup"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"ERC6372InconsistentClock"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"currentNonce"`;
`type`: `"uint256"`;
}];
`name`: `"InvalidAccountNonce"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"InvalidShortString"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"NotAdmin"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"NotOriginalAdmin"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint8"`;
`name`: `"bits"`;
`type`: `"uint8"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"SafeCastOverflowedUintDowncast"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `"str"`;
`type`: `"string"`;
}];
`name`: `"StringTooLong"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"Unauthorized"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"expiry"`;
`type`: `"uint256"`;
}];
`name`: `"VotesExpiredSignature"`;
`type`: `"error"`;
}],
\| `"updateAdmin"`
\| `"approve"`
\| `"burn"`
\| `"burnFrom"`
\| `"crosschainBurn"`
\| `"crosschainMint"`
\| `"delegate"`
\| `"delegateBySig"`
\| `"permit"`
\| `"transfer"`
\| `"transferFrom"`
\| `"updateImage"`
\| `"updateMetadata"`
\| `"verify"`> & \{
`error?`: `undefined`;
}
\| `UndefinedValues`\<`SimulateContractReturnType`\<readonly \[\{
`inputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `"name_"`;
`type`: `"string"`;
}, \{
`internalType`: `"string"`;
`name`: `"symbol_"`;
`type`: `"string"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"maxSupply_"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"address"`;
`name`: `"admin_"`;
`type`: `"address"`;
}, \{
`internalType`: `"string"`;
`name`: `"image_"`;
`type`: `"string"`;
}, \{
`internalType`: `"string"`;
`name`: `"metadata_"`;
`type`: `"string"`;
}, \{
`internalType`: `"string"`;
`name`: `"context_"`;
`type`: `"string"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"initialSupplyChainId_"`;
`type`: `"uint256"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"constructor"`;
}, \{
`inputs`: readonly \[];
`name`: `"CLOCK_MODE"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"DOMAIN_SEPARATOR"`;
`outputs`: readonly \[\{
`internalType`: `"bytes32"`;
`name`: `""`;
`type`: `"bytes32"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"admin"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"allData"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"originalAdmin"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"admin"`;
`type`: `"address"`;
}, \{
`internalType`: `"string"`;
`name`: `"image"`;
`type`: `"string"`;
}, \{
`internalType`: `"string"`;
`name`: `"metadata"`;
`type`: `"string"`;
}, \{
`internalType`: `"string"`;
`name`: `"context"`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"owner"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"spender"`;
`type`: `"address"`;
}];
`name`: `"allowance"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"spender"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"approve"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}];
`name`: `"balanceOf"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"burn"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"burnFrom"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint32"`;
`name`: `"pos"`;
`type`: `"uint32"`;
}];
`name`: `"checkpoints"`;
`outputs`: readonly \[\{
`components`: readonly \[\{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}];
`internalType`: `"struct Checkpoints.Checkpoint208"`;
`name`: `""`;
`type`: `"tuple"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"clock"`;
`outputs`: readonly \[\{
`internalType`: `"uint48"`;
`name`: `""`;
`type`: `"uint48"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"context"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"_from"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"_amount"`;
`type`: `"uint256"`;
}];
`name`: `"crosschainBurn"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"_to"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"_amount"`;
`type`: `"uint256"`;
}];
`name`: `"crosschainMint"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"decimals"`;
`outputs`: readonly \[\{
`internalType`: `"uint8"`;
`name`: `""`;
`type`: `"uint8"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"delegatee"`;
`type`: `"address"`;
}];
`name`: `"delegate"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"delegatee"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"nonce"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"expiry"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint8"`;
`name`: `"v"`;
`type`: `"uint8"`;
}, \{
`internalType`: `"bytes32"`;
`name`: `"r"`;
`type`: `"bytes32"`;
}, \{
`internalType`: `"bytes32"`;
`name`: `"s"`;
`type`: `"bytes32"`;
}];
`name`: `"delegateBySig"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}];
`name`: `"delegates"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"eip712Domain"`;
`outputs`: readonly \[\{
`internalType`: `"bytes1"`;
`name`: `"fields"`;
`type`: `"bytes1"`;
}, \{
`internalType`: `"string"`;
`name`: `"name"`;
`type`: `"string"`;
}, \{
`internalType`: `"string"`;
`name`: `"version"`;
`type`: `"string"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"chainId"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"address"`;
`name`: `"verifyingContract"`;
`type`: `"address"`;
}, \{
`internalType`: `"bytes32"`;
`name`: `"salt"`;
`type`: `"bytes32"`;
}, \{
`internalType`: `"uint256[]"`;
`name`: `"extensions"`;
`type`: `"uint256[]"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"timepoint"`;
`type`: `"uint256"`;
}];
`name`: `"getPastTotalSupply"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"timepoint"`;
`type`: `"uint256"`;
}];
`name`: `"getPastVotes"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}];
`name`: `"getVotes"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"imageUrl"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"isVerified"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"metadata"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"name"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"owner"`;
`type`: `"address"`;
}];
`name`: `"nonces"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}];
`name`: `"numCheckpoints"`;
`outputs`: readonly \[\{
`internalType`: `"uint32"`;
`name`: `""`;
`type`: `"uint32"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"originalAdmin"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"owner"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"spender"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"deadline"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint8"`;
`name`: `"v"`;
`type`: `"uint8"`;
}, \{
`internalType`: `"bytes32"`;
`name`: `"r"`;
`type`: `"bytes32"`;
}, \{
`internalType`: `"bytes32"`;
`name`: `"s"`;
`type`: `"bytes32"`;
}];
`name`: `"permit"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"bytes4"`;
`name`: `"_interfaceId"`;
`type`: `"bytes4"`;
}];
`name`: `"supportsInterface"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"pure"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"symbol"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"totalSupply"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"to"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"transfer"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"from"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"to"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"transferFrom"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"admin_"`;
`type`: `"address"`;
}];
`name`: `"updateAdmin"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `"image_"`;
`type`: `"string"`;
}];
`name`: `"updateImage"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `"metadata_"`;
`type`: `"string"`;
}];
`name`: `"updateMetadata"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"verify"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"owner"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"spender"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"Approval"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"from"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amount"`;
`type`: `"uint256"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"sender"`;
`type`: `"address"`;
}];
`name`: `"CrosschainBurn"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"to"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amount"`;
`type`: `"uint256"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"sender"`;
`type`: `"address"`;
}];
`name`: `"CrosschainMint"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"delegator"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"fromDelegate"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"toDelegate"`;
`type`: `"address"`;
}];
`name`: `"DelegateChanged"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"delegate"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"previousVotes"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"newVotes"`;
`type`: `"uint256"`;
}];
`name`: `"DelegateVotesChanged"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[];
`name`: `"EIP712DomainChanged"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"from"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"to"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"Transfer"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"oldAdmin"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"newAdmin"`;
`type`: `"address"`;
}];
`name`: `"UpdateAdmin"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `false`;
`internalType`: `"string"`;
`name`: `"image"`;
`type`: `"string"`;
}];
`name`: `"UpdateImage"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `false`;
`internalType`: `"string"`;
`name`: `"metadata"`;
`type`: `"string"`;
}];
`name`: `"UpdateMetadata"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"admin"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"Verified"`;
`type`: `"event"`;
}, \{
`inputs`: readonly \[];
`name`: `"AlreadyVerified"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"CheckpointUnorderedInsertion"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"ECDSAInvalidSignature"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"length"`;
`type`: `"uint256"`;
}];
`name`: `"ECDSAInvalidSignatureLength"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"bytes32"`;
`name`: `"s"`;
`type`: `"bytes32"`;
}];
`name`: `"ECDSAInvalidSignatureS"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"increasedSupply"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"cap"`;
`type`: `"uint256"`;
}];
`name`: `"ERC20ExceededSafeSupply"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"spender"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"allowance"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"needed"`;
`type`: `"uint256"`;
}];
`name`: `"ERC20InsufficientAllowance"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"sender"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"balance"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"needed"`;
`type`: `"uint256"`;
}];
`name`: `"ERC20InsufficientBalance"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"approver"`;
`type`: `"address"`;
}];
`name`: `"ERC20InvalidApprover"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"receiver"`;
`type`: `"address"`;
}];
`name`: `"ERC20InvalidReceiver"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"sender"`;
`type`: `"address"`;
}];
`name`: `"ERC20InvalidSender"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"spender"`;
`type`: `"address"`;
}];
`name`: `"ERC20InvalidSpender"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"deadline"`;
`type`: `"uint256"`;
}];
`name`: `"ERC2612ExpiredSignature"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"signer"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"owner"`;
`type`: `"address"`;
}];
`name`: `"ERC2612InvalidSigner"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"timepoint"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint48"`;
`name`: `"clock"`;
`type`: `"uint48"`;
}];
`name`: `"ERC5805FutureLookup"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"ERC6372InconsistentClock"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"currentNonce"`;
`type`: `"uint256"`;
}];
`name`: `"InvalidAccountNonce"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"InvalidShortString"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"NotAdmin"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"NotOriginalAdmin"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint8"`;
`name`: `"bits"`;
`type`: `"uint8"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"value"`;
`type`: `"uint256"`;
}];
`name`: `"SafeCastOverflowedUintDowncast"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `"str"`;
`type`: `"string"`;
}];
`name`: `"StringTooLong"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"Unauthorized"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"expiry"`;
`type`: `"uint256"`;
}];
`name`: `"VotesExpiredSignature"`;
`type`: `"error"`;
}],
\| `"updateAdmin"`
\| `"approve"`
\| `"burn"`
\| `"burnFrom"`
\| `"crosschainBurn"`
\| `"crosschainMint"`
\| `"delegate"`
\| `"delegateBySig"`
\| `"permit"`
\| `"transfer"`
\| `"transferFrom"`
\| `"updateImage"`
\| `"updateMetadata"`
\| `"verify"`>> & \{
`error`: `ClankerError`;
}>

The simulated output

##### updateRewardAdmin()

```ts theme={null}
updateRewardAdmin(token): Promise<
  | {
  error: undefined;
  txHash: `0x${string}`;
}
  | {
  error: ClankerError;
  txHash: undefined;
}>;
```

Defined in: [src/v4/index.ts:418](https://github.com/clanker-devco/clanker-sdk/blob/main/src/v4/index.ts#L418)

Update the reward admin for a token.

###### Parameters

| Parameter | Type | Description |
| - | - | - |
| `token` | \{ `newAdmin`: `` `0x${string}` ``; `rewardIndex`: `bigint`; `token`: `` `0x${string}` ``; } | The token to update the reward admin for |
| `token.newAdmin` | `` `0x${string}` `` | - |
| `token.rewardIndex` | `bigint` | - |
| `token.token` | `` `0x${string}` `` | - |

###### Returns

`Promise`\<
\| \{
`error`: `undefined`;
`txHash`: `` `0x${string}` ``;
}
\| \{
`error`: `ClankerError`;
`txHash`: `undefined`;
}>

Transaction hash of the update or error

##### updateRewardAdminSimulate()

[View full generated declaration (1,661 lines)](https://raw.githubusercontent.com/clanker-devco/DOCS/refs/heads/main/mintlify/assets/sdk-types/56991d7dbca6a953a9f84db901e28a764f936667a9378c842e495a0e9a47cf88.txt)

Defined in: [src/v4/index.ts:338](https://github.com/clanker-devco/clanker-sdk/blob/main/src/v4/index.ts#L338)

Simulate updating the reward admin. Will use the wallet account on the Clanker class or
the passed-in account.

###### Parameters

| Parameter | Type | Description |
| - | - | - |
| `token` | \{ `newAdmin`: `` `0x${string}` ``; `rewardIndex`: `bigint`; `token`: `` `0x${string}` ``; } | The token to update the reward admin for |
| `token.newAdmin` | `` `0x${string}` `` | - |
| `token.rewardIndex?` | `bigint` | - |
| `token.token?` | `` `0x${string}` `` | - |
| `account?` | `Account` | Optional account to simulate calling for |

###### Returns

`Promise`\<
\| `SimulateContractReturnType`\<readonly \[\{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"owner_"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"factory_"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"feeLocker_"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"positionManager_"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"permit2_"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"universalRouter_"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"poolManager_"`;
`type`: `"address"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"constructor"`;
}, \{
`inputs`: readonly \[];
`name`: `"BASIS_POINTS"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"MAX_LP_POSITIONS"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"MAX_REWARD_PARTICIPANTS"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"collectRewards"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"collectRewardsWithoutUnlock"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"factory"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"feeLocker"`;
`outputs`: readonly \[\{
`internalType`: `"contract IClankerFeeLocker"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`name`: `"feePreferences"`;
`outputs`: readonly \[\{
`internalType`: `"enum IClankerLpLockerFeeConversion.FeeIn"`;
`name`: `"feePreference"`;
`type`: `"uint8"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"from"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"id"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"bytes"`;
`name`: `""`;
`type`: `"bytes"`;
}];
`name`: `"onERC721Received"`;
`outputs`: readonly \[\{
`internalType`: `"bytes4"`;
`name`: `""`;
`type`: `"bytes4"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"owner"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"permit2"`;
`outputs`: readonly \[\{
`internalType`: `"contract IPermit2"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`components`: readonly \[\{
`internalType`: `"address"`;
`name`: `"locker"`;
`type`: `"address"`;
}, \{
`internalType`: `"address[]"`;
`name`: `"rewardAdmins"`;
`type`: `"address[]"`;
}, \{
`internalType`: `"address[]"`;
`name`: `"rewardRecipients"`;
`type`: `"address[]"`;
}, \{
`internalType`: `"uint16[]"`;
`name`: `"rewardBps"`;
`type`: `"uint16[]"`;
}, \{
`internalType`: `"int24[]"`;
`name`: `"tickLower"`;
`type`: `"int24[]"`;
}, \{
`internalType`: `"int24[]"`;
`name`: `"tickUpper"`;
`type`: `"int24[]"`;
}, \{
`internalType`: `"uint16[]"`;
`name`: `"positionBps"`;
`type`: `"uint16[]"`;
}, \{
`internalType`: `"bytes"`;
`name`: `"lockerData"`;
`type`: `"bytes"`;
}];
`internalType`: `"struct IClanker.LockerConfig"`;
`name`: `"lockerConfig"`;
`type`: `"tuple"`;
}, \{
`components`: readonly \[\{
`internalType`: `"address"`;
`name`: `"hook"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"pairedToken"`;
`type`: `"address"`;
}, \{
`internalType`: `"int24"`;
`name`: `"tickIfToken0IsClanker"`;
`type`: `"int24"`;
}, \{
`internalType`: `"int24"`;
`name`: `"tickSpacing"`;
`type`: `"int24"`;
}, \{
`internalType`: `"bytes"`;
`name`: `"poolData"`;
`type`: `"bytes"`;
}];
`internalType`: `"struct IClanker.PoolConfig"`;
`name`: `"poolConfig"`;
`type`: `"tuple"`;
}, \{
`components`: readonly \[\{
`internalType`: `"Currency"`;
`name`: `"currency0"`;
`type`: `"address"`;
}, \{
`internalType`: `"Currency"`;
`name`: `"currency1"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint24"`;
`name`: `"fee"`;
`type`: `"uint24"`;
}, \{
`internalType`: `"int24"`;
`name`: `"tickSpacing"`;
`type`: `"int24"`;
}, \{
`internalType`: `"contract IHooks"`;
`name`: `"hooks"`;
`type`: `"address"`;
}];
`internalType`: `"struct PoolKey"`;
`name`: `"poolKey"`;
`type`: `"tuple"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"poolSupply"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"placeLiquidity"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"positionId"`;
`type`: `"uint256"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"poolManager"`;
`outputs`: readonly \[\{
`internalType`: `"contract IPoolManager"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"positionManager"`;
`outputs`: readonly \[\{
`internalType`: `"contract IPositionManager"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"renounceOwnership"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"bytes4"`;
`name`: `"interfaceId"`;
`type`: `"bytes4"`;
}];
`name`: `"supportsInterface"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"pure"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"tokenRewards"`;
`outputs`: readonly \[\{
`components`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`components`: readonly \[..., ..., ..., ..., ...];
`internalType`: `"struct PoolKey"`;
`name`: `"poolKey"`;
`type`: `"tuple"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"positionId"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"numPositions"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint16[]"`;
`name`: `"rewardBps"`;
`type`: `"uint16[]"`;
}, \{
`internalType`: `"address[]"`;
`name`: `"rewardAdmins"`;
`type`: `"address[]"`;
}, \{
`internalType`: `"address[]"`;
`name`: `"rewardRecipients"`;
`type`: `"address[]"`;
}];
`internalType`: `"struct IClankerLpLocker.TokenRewardInfo"`;
`name`: `""`;
`type`: `"tuple"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"newOwner"`;
`type`: `"address"`;
}];
`name`: `"transferOwnership"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"universalRouter"`;
`outputs`: readonly \[\{
`internalType`: `"contract IUniversalRouter"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"rewardIndex"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"enum IClankerLpLockerFeeConversion.FeeIn"`;
`name`: `"newFeePreference"`;
`type`: `"uint8"`;
}];
`name`: `"updateFeePreference"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"rewardIndex"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"address"`;
`name`: `"newAdmin"`;
`type`: `"address"`;
}];
`name`: `"updateRewardAdmin"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"rewardIndex"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"address"`;
`name`: `"newRecipient"`;
`type`: `"address"`;
}];
`name`: `"updateRewardRecipient"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"version"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"recipient"`;
`type`: `"address"`;
}];
`name`: `"withdrawERC20"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"recipient"`;
`type`: `"address"`;
}];
`name`: `"withdrawETH"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amount0"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amount1"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256[]"`;
`name`: `"rewards0"`;
`type`: `"uint256[]"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256[]"`;
`name`: `"rewards1"`;
`type`: `"uint256[]"`;
}];
`name`: `"ClaimedRewards"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"uint256"`;
`name`: `"rewardIndex"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"enum IClankerLpLockerFeeConversion.FeeIn"`;
`name`: `"oldFeePreference"`;
`type`: `"uint8"`;
}, \{
`indexed`: `true`;
`internalType`: `"enum IClankerLpLockerFeeConversion.FeeIn"`;
`name`: `"newFeePreference"`;
`type`: `"uint8"`;
}];
`name`: `"FeePreferenceUpdated"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"rewardToken"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amountSwapped"`;
`type`: `"uint256"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"swappedToken"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amountOut"`;
`type`: `"uint256"`;
}];
`name`: `"FeesSwapped"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"enum IClankerLpLockerFeeConversion.FeeIn[]"`;
`name`: `"feePreference"`;
`type`: `"uint8[]"`;
}];
`name`: `"InitialFeePreferences"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"previousOwner"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"newOwner"`;
`type`: `"address"`;
}];
`name`: `"OwnershipTransferred"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"from"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"positionId"`;
`type`: `"uint256"`;
}];
`name`: `"Received"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"uint256"`;
`name`: `"rewardIndex"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"oldAdmin"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"newAdmin"`;
`type`: `"address"`;
}];
`name`: `"RewardAdminUpdated"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"uint256"`;
`name`: `"rewardIndex"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"oldRecipient"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"newRecipient"`;
`type`: `"address"`;
}];
`name`: `"RewardRecipientUpdated"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`components`: readonly \[\{
`internalType`: `"Currency"`;
`name`: `"currency0"`;
`type`: `"address"`;
}, \{
`internalType`: `"Currency"`;
`name`: `"currency1"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint24"`;
`name`: `"fee"`;
`type`: `"uint24"`;
}, \{
`internalType`: `"int24"`;
`name`: `"tickSpacing"`;
`type`: `"int24"`;
}, \{
`internalType`: `"contract IHooks"`;
`name`: `"hooks"`;
`type`: `"address"`;
}];
`indexed`: `false`;
`internalType`: `"struct PoolKey"`;
`name`: `"poolKey"`;
`type`: `"tuple"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"poolSupply"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"positionId"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"numPositions"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint16[]"`;
`name`: `"rewardBps"`;
`type`: `"uint16[]"`;
}, \{
`indexed`: `false`;
`internalType`: `"address[]"`;
`name`: `"rewardAdmins"`;
`type`: `"address[]"`;
}, \{
`indexed`: `false`;
`internalType`: `"address[]"`;
`name`: `"rewardRecipients"`;
`type`: `"address[]"`;
}, \{
`indexed`: `false`;
`internalType`: `"int24[]"`;
`name`: `"tickLower"`;
`type`: `"int24[]"`;
}, \{
`indexed`: `false`;
`internalType`: `"int24[]"`;
`name`: `"tickUpper"`;
`type`: `"int24[]"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint16[]"`;
`name`: `"positionBps"`;
`type`: `"uint16[]"`;
}];
`name`: `"TokenRewardAdded"`;
`type`: `"event"`;
}, \{
`inputs`: readonly \[];
`name`: `"InvalidPositionBps"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"InvalidRewardBps"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"MismatchedPositionInfos"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"MismatchedRewardArrays"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"NoPositions"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"NoRewardRecipients"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"owner"`;
`type`: `"address"`;
}];
`name`: `"OwnableInvalidOwner"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}];
`name`: `"OwnableUnauthorizedAccount"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"ReentrancyGuardReentrantCall"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"SafeERC20FailedOperation"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TickRangeLowerThanStartingTick"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TicksBackwards"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TicksNotMultipleOfTickSpacing"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TicksOutOfTickBounds"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TokenAlreadyHasRewards"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TooManyPositions"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TooManyRewardParticipants"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"Unauthorized"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"ZeroRewardAddress"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"ZeroRewardAmount"`;
`type`: `"error"`;
}],
\| `"renounceOwnership"`
\| `"transferOwnership"`
\| `"collectRewards"`
\| `"collectRewardsWithoutUnlock"`
\| `"onERC721Received"`
\| `"placeLiquidity"`
\| `"updateFeePreference"`
\| `"updateRewardAdmin"`
\| `"updateRewardRecipient"`
\| `"withdrawERC20"`
\| `"withdrawETH"`> & \{
`error?`: `undefined`;
}
\| `UndefinedValues`\<`SimulateContractReturnType`\<readonly \[\{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"owner_"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"factory_"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"feeLocker_"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"positionManager_"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"permit2_"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"universalRouter_"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"poolManager_"`;
`type`: `"address"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"constructor"`;
}, \{
`inputs`: readonly \[];
`name`: `"BASIS_POINTS"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"MAX_LP_POSITIONS"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"MAX_REWARD_PARTICIPANTS"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"collectRewards"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"collectRewardsWithoutUnlock"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"factory"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"feeLocker"`;
`outputs`: readonly \[\{
`internalType`: `"contract IClankerFeeLocker"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`name`: `"feePreferences"`;
`outputs`: readonly \[\{
`internalType`: `"enum IClankerLpLockerFeeConversion.FeeIn"`;
`name`: `"feePreference"`;
`type`: `"uint8"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"from"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"id"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"bytes"`;
`name`: `""`;
`type`: `"bytes"`;
}];
`name`: `"onERC721Received"`;
`outputs`: readonly \[\{
`internalType`: `"bytes4"`;
`name`: `""`;
`type`: `"bytes4"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"owner"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"permit2"`;
`outputs`: readonly \[\{
`internalType`: `"contract IPermit2"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`components`: readonly \[\{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}];
`internalType`: `"struct IClanker.LockerConfig"`;
`name`: `"lockerConfig"`;
`type`: `"tuple"`;
}, \{
`components`: readonly \[\{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}];
`internalType`: `"struct IClanker.PoolConfig"`;
`name`: `"poolConfig"`;
`type`: `"tuple"`;
}, \{
`components`: readonly \[\{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}];
`internalType`: `"struct PoolKey"`;
`name`: `"poolKey"`;
`type`: `"tuple"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"poolSupply"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"placeLiquidity"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"positionId"`;
`type`: `"uint256"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"poolManager"`;
`outputs`: readonly \[\{
`internalType`: `"contract IPoolManager"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"positionManager"`;
`outputs`: readonly \[\{
`internalType`: `"contract IPositionManager"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"renounceOwnership"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"bytes4"`;
`name`: `"interfaceId"`;
`type`: `"bytes4"`;
}];
`name`: `"supportsInterface"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"pure"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"tokenRewards"`;
`outputs`: readonly \[\{
`components`: readonly \[\{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`components`: ...;
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}];
`internalType`: `"struct IClankerLpLocker.TokenRewardInfo"`;
`name`: `""`;
`type`: `"tuple"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"newOwner"`;
`type`: `"address"`;
}];
`name`: `"transferOwnership"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"universalRouter"`;
`outputs`: readonly \[\{
`internalType`: `"contract IUniversalRouter"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"rewardIndex"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"enum IClankerLpLockerFeeConversion.FeeIn"`;
`name`: `"newFeePreference"`;
`type`: `"uint8"`;
}];
`name`: `"updateFeePreference"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"rewardIndex"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"address"`;
`name`: `"newAdmin"`;
`type`: `"address"`;
}];
`name`: `"updateRewardAdmin"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"rewardIndex"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"address"`;
`name`: `"newRecipient"`;
`type`: `"address"`;
}];
`name`: `"updateRewardRecipient"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"version"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"recipient"`;
`type`: `"address"`;
}];
`name`: `"withdrawERC20"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"recipient"`;
`type`: `"address"`;
}];
`name`: `"withdrawETH"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amount0"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amount1"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256[]"`;
`name`: `"rewards0"`;
`type`: `"uint256[]"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256[]"`;
`name`: `"rewards1"`;
`type`: `"uint256[]"`;
}];
`name`: `"ClaimedRewards"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"uint256"`;
`name`: `"rewardIndex"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"enum IClankerLpLockerFeeConversion.FeeIn"`;
`name`: `"oldFeePreference"`;
`type`: `"uint8"`;
}, \{
`indexed`: `true`;
`internalType`: `"enum IClankerLpLockerFeeConversion.FeeIn"`;
`name`: `"newFeePreference"`;
`type`: `"uint8"`;
}];
`name`: `"FeePreferenceUpdated"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"rewardToken"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amountSwapped"`;
`type`: `"uint256"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"swappedToken"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amountOut"`;
`type`: `"uint256"`;
}];
`name`: `"FeesSwapped"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"enum IClankerLpLockerFeeConversion.FeeIn[]"`;
`name`: `"feePreference"`;
`type`: `"uint8[]"`;
}];
`name`: `"InitialFeePreferences"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"previousOwner"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"newOwner"`;
`type`: `"address"`;
}];
`name`: `"OwnershipTransferred"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"from"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"positionId"`;
`type`: `"uint256"`;
}];
`name`: `"Received"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"uint256"`;
`name`: `"rewardIndex"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"oldAdmin"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"newAdmin"`;
`type`: `"address"`;
}];
`name`: `"RewardAdminUpdated"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"uint256"`;
`name`: `"rewardIndex"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"oldRecipient"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"newRecipient"`;
`type`: `"address"`;
}];
`name`: `"RewardRecipientUpdated"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`components`: readonly \[\{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}];
`indexed`: `false`;
`internalType`: `"struct PoolKey"`;
`name`: `"poolKey"`;
`type`: `"tuple"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"poolSupply"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"positionId"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"numPositions"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint16[]"`;
`name`: `"rewardBps"`;
`type`: `"uint16[]"`;
}, \{
`indexed`: `false`;
`internalType`: `"address[]"`;
`name`: `"rewardAdmins"`;
`type`: `"address[]"`;
}, \{
`indexed`: `false`;
`internalType`: `"address[]"`;
`name`: `"rewardRecipients"`;
`type`: `"address[]"`;
}, \{
`indexed`: `false`;
`internalType`: `"int24[]"`;
`name`: `"tickLower"`;
`type`: `"int24[]"`;
}, \{
`indexed`: `false`;
`internalType`: `"int24[]"`;
`name`: `"tickUpper"`;
`type`: `"int24[]"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint16[]"`;
`name`: `"positionBps"`;
`type`: `"uint16[]"`;
}];
`name`: `"TokenRewardAdded"`;
`type`: `"event"`;
}, \{
`inputs`: readonly \[];
`name`: `"InvalidPositionBps"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"InvalidRewardBps"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"MismatchedPositionInfos"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"MismatchedRewardArrays"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"NoPositions"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"NoRewardRecipients"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"owner"`;
`type`: `"address"`;
}];
`name`: `"OwnableInvalidOwner"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}];
`name`: `"OwnableUnauthorizedAccount"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"ReentrancyGuardReentrantCall"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"SafeERC20FailedOperation"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TickRangeLowerThanStartingTick"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TicksBackwards"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TicksNotMultipleOfTickSpacing"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TicksOutOfTickBounds"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TokenAlreadyHasRewards"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TooManyPositions"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TooManyRewardParticipants"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"Unauthorized"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"ZeroRewardAddress"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"ZeroRewardAmount"`;
`type`: `"error"`;
}],
\| `"renounceOwnership"`
\| `"transferOwnership"`
\| `"collectRewards"`
\| `"collectRewardsWithoutUnlock"`
\| `"onERC721Received"`
\| `"placeLiquidity"`
\| `"updateFeePreference"`
\| `"updateRewardAdmin"`
\| `"updateRewardRecipient"`
\| `"withdrawERC20"`
\| `"withdrawETH"`>> & \{
`error`: `ClankerError`;
}>

The simulated output

##### updateRewardRecipient()

```ts theme={null}
updateRewardRecipient(token): Promise<
  | {
  error: undefined;
  txHash: `0x${string}`;
}
  | {
  error: ClankerError;
  txHash: undefined;
}>;
```

Defined in: [src/v4/index.ts:379](https://github.com/clanker-devco/clanker-sdk/blob/main/src/v4/index.ts#L379)

Update the reward recipient for a token.

###### Parameters

| Parameter | Type | Description |
| - | - | - |
| `token` | \{ `newRecipient`: `` `0x${string}` ``; `rewardIndex`: `bigint`; `token`: `` `0x${string}` ``; } | The token to update the reward recipient for |
| `token.newRecipient` | `` `0x${string}` `` | - |
| `token.rewardIndex` | `bigint` | - |
| `token.token` | `` `0x${string}` `` | - |

###### Returns

`Promise`\<
\| \{
`error`: `undefined`;
`txHash`: `` `0x${string}` ``;
}
\| \{
`error`: `ClankerError`;
`txHash`: `undefined`;
}>

Transaction hash of the update or error

##### updateRewardRecipientSimulate()

[View full generated declaration (1,661 lines)](https://raw.githubusercontent.com/clanker-devco/DOCS/refs/heads/main/mintlify/assets/sdk-types/67b76ecc494e4fb69702e0342cf8b8847d54aab8f3f9d2199d9ba7a8d3286c91.txt)

Defined in: [src/v4/index.ts:295](https://github.com/clanker-devco/clanker-sdk/blob/main/src/v4/index.ts#L295)

Simulate updating the reward recipient. Will use the wallet account on the Clanker class or
the passed-in account.

###### Parameters

| Parameter | Type | Description |
| - | - | - |
| `token` | \{ `newRecipient`: `` `0x${string}` ``; `rewardIndex`: `bigint`; `token`: `` `0x${string}` ``; } | The token to update the reward recipient for |
| `token.newRecipient` | `` `0x${string}` `` | - |
| `token.rewardIndex?` | `bigint` | - |
| `token.token?` | `` `0x${string}` `` | - |
| `account?` | `Account` | Optional account to simulate calling for |

###### Returns

`Promise`\<
\| `SimulateContractReturnType`\<readonly \[\{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"owner_"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"factory_"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"feeLocker_"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"positionManager_"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"permit2_"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"universalRouter_"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"poolManager_"`;
`type`: `"address"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"constructor"`;
}, \{
`inputs`: readonly \[];
`name`: `"BASIS_POINTS"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"MAX_LP_POSITIONS"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"MAX_REWARD_PARTICIPANTS"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"collectRewards"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"collectRewardsWithoutUnlock"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"factory"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"feeLocker"`;
`outputs`: readonly \[\{
`internalType`: `"contract IClankerFeeLocker"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`name`: `"feePreferences"`;
`outputs`: readonly \[\{
`internalType`: `"enum IClankerLpLockerFeeConversion.FeeIn"`;
`name`: `"feePreference"`;
`type`: `"uint8"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"from"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"id"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"bytes"`;
`name`: `""`;
`type`: `"bytes"`;
}];
`name`: `"onERC721Received"`;
`outputs`: readonly \[\{
`internalType`: `"bytes4"`;
`name`: `""`;
`type`: `"bytes4"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"owner"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"permit2"`;
`outputs`: readonly \[\{
`internalType`: `"contract IPermit2"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`components`: readonly \[\{
`internalType`: `"address"`;
`name`: `"locker"`;
`type`: `"address"`;
}, \{
`internalType`: `"address[]"`;
`name`: `"rewardAdmins"`;
`type`: `"address[]"`;
}, \{
`internalType`: `"address[]"`;
`name`: `"rewardRecipients"`;
`type`: `"address[]"`;
}, \{
`internalType`: `"uint16[]"`;
`name`: `"rewardBps"`;
`type`: `"uint16[]"`;
}, \{
`internalType`: `"int24[]"`;
`name`: `"tickLower"`;
`type`: `"int24[]"`;
}, \{
`internalType`: `"int24[]"`;
`name`: `"tickUpper"`;
`type`: `"int24[]"`;
}, \{
`internalType`: `"uint16[]"`;
`name`: `"positionBps"`;
`type`: `"uint16[]"`;
}, \{
`internalType`: `"bytes"`;
`name`: `"lockerData"`;
`type`: `"bytes"`;
}];
`internalType`: `"struct IClanker.LockerConfig"`;
`name`: `"lockerConfig"`;
`type`: `"tuple"`;
}, \{
`components`: readonly \[\{
`internalType`: `"address"`;
`name`: `"hook"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"pairedToken"`;
`type`: `"address"`;
}, \{
`internalType`: `"int24"`;
`name`: `"tickIfToken0IsClanker"`;
`type`: `"int24"`;
}, \{
`internalType`: `"int24"`;
`name`: `"tickSpacing"`;
`type`: `"int24"`;
}, \{
`internalType`: `"bytes"`;
`name`: `"poolData"`;
`type`: `"bytes"`;
}];
`internalType`: `"struct IClanker.PoolConfig"`;
`name`: `"poolConfig"`;
`type`: `"tuple"`;
}, \{
`components`: readonly \[\{
`internalType`: `"Currency"`;
`name`: `"currency0"`;
`type`: `"address"`;
}, \{
`internalType`: `"Currency"`;
`name`: `"currency1"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint24"`;
`name`: `"fee"`;
`type`: `"uint24"`;
}, \{
`internalType`: `"int24"`;
`name`: `"tickSpacing"`;
`type`: `"int24"`;
}, \{
`internalType`: `"contract IHooks"`;
`name`: `"hooks"`;
`type`: `"address"`;
}];
`internalType`: `"struct PoolKey"`;
`name`: `"poolKey"`;
`type`: `"tuple"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"poolSupply"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"placeLiquidity"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"positionId"`;
`type`: `"uint256"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"poolManager"`;
`outputs`: readonly \[\{
`internalType`: `"contract IPoolManager"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"positionManager"`;
`outputs`: readonly \[\{
`internalType`: `"contract IPositionManager"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"renounceOwnership"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"bytes4"`;
`name`: `"interfaceId"`;
`type`: `"bytes4"`;
}];
`name`: `"supportsInterface"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"pure"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"tokenRewards"`;
`outputs`: readonly \[\{
`components`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`components`: readonly \[..., ..., ..., ..., ...];
`internalType`: `"struct PoolKey"`;
`name`: `"poolKey"`;
`type`: `"tuple"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"positionId"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"numPositions"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"uint16[]"`;
`name`: `"rewardBps"`;
`type`: `"uint16[]"`;
}, \{
`internalType`: `"address[]"`;
`name`: `"rewardAdmins"`;
`type`: `"address[]"`;
}, \{
`internalType`: `"address[]"`;
`name`: `"rewardRecipients"`;
`type`: `"address[]"`;
}];
`internalType`: `"struct IClankerLpLocker.TokenRewardInfo"`;
`name`: `""`;
`type`: `"tuple"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"newOwner"`;
`type`: `"address"`;
}];
`name`: `"transferOwnership"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"universalRouter"`;
`outputs`: readonly \[\{
`internalType`: `"contract IUniversalRouter"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"rewardIndex"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"enum IClankerLpLockerFeeConversion.FeeIn"`;
`name`: `"newFeePreference"`;
`type`: `"uint8"`;
}];
`name`: `"updateFeePreference"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"rewardIndex"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"address"`;
`name`: `"newAdmin"`;
`type`: `"address"`;
}];
`name`: `"updateRewardAdmin"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"rewardIndex"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"address"`;
`name`: `"newRecipient"`;
`type`: `"address"`;
}];
`name`: `"updateRewardRecipient"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"version"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"recipient"`;
`type`: `"address"`;
}];
`name`: `"withdrawERC20"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"recipient"`;
`type`: `"address"`;
}];
`name`: `"withdrawETH"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amount0"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amount1"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256[]"`;
`name`: `"rewards0"`;
`type`: `"uint256[]"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256[]"`;
`name`: `"rewards1"`;
`type`: `"uint256[]"`;
}];
`name`: `"ClaimedRewards"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"uint256"`;
`name`: `"rewardIndex"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"enum IClankerLpLockerFeeConversion.FeeIn"`;
`name`: `"oldFeePreference"`;
`type`: `"uint8"`;
}, \{
`indexed`: `true`;
`internalType`: `"enum IClankerLpLockerFeeConversion.FeeIn"`;
`name`: `"newFeePreference"`;
`type`: `"uint8"`;
}];
`name`: `"FeePreferenceUpdated"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"rewardToken"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amountSwapped"`;
`type`: `"uint256"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"swappedToken"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amountOut"`;
`type`: `"uint256"`;
}];
`name`: `"FeesSwapped"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"enum IClankerLpLockerFeeConversion.FeeIn[]"`;
`name`: `"feePreference"`;
`type`: `"uint8[]"`;
}];
`name`: `"InitialFeePreferences"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"previousOwner"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"newOwner"`;
`type`: `"address"`;
}];
`name`: `"OwnershipTransferred"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"from"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"positionId"`;
`type`: `"uint256"`;
}];
`name`: `"Received"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"uint256"`;
`name`: `"rewardIndex"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"oldAdmin"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"newAdmin"`;
`type`: `"address"`;
}];
`name`: `"RewardAdminUpdated"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"uint256"`;
`name`: `"rewardIndex"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"oldRecipient"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"newRecipient"`;
`type`: `"address"`;
}];
`name`: `"RewardRecipientUpdated"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`components`: readonly \[\{
`internalType`: `"Currency"`;
`name`: `"currency0"`;
`type`: `"address"`;
}, \{
`internalType`: `"Currency"`;
`name`: `"currency1"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint24"`;
`name`: `"fee"`;
`type`: `"uint24"`;
}, \{
`internalType`: `"int24"`;
`name`: `"tickSpacing"`;
`type`: `"int24"`;
}, \{
`internalType`: `"contract IHooks"`;
`name`: `"hooks"`;
`type`: `"address"`;
}];
`indexed`: `false`;
`internalType`: `"struct PoolKey"`;
`name`: `"poolKey"`;
`type`: `"tuple"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"poolSupply"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"positionId"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"numPositions"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint16[]"`;
`name`: `"rewardBps"`;
`type`: `"uint16[]"`;
}, \{
`indexed`: `false`;
`internalType`: `"address[]"`;
`name`: `"rewardAdmins"`;
`type`: `"address[]"`;
}, \{
`indexed`: `false`;
`internalType`: `"address[]"`;
`name`: `"rewardRecipients"`;
`type`: `"address[]"`;
}, \{
`indexed`: `false`;
`internalType`: `"int24[]"`;
`name`: `"tickLower"`;
`type`: `"int24[]"`;
}, \{
`indexed`: `false`;
`internalType`: `"int24[]"`;
`name`: `"tickUpper"`;
`type`: `"int24[]"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint16[]"`;
`name`: `"positionBps"`;
`type`: `"uint16[]"`;
}];
`name`: `"TokenRewardAdded"`;
`type`: `"event"`;
}, \{
`inputs`: readonly \[];
`name`: `"InvalidPositionBps"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"InvalidRewardBps"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"MismatchedPositionInfos"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"MismatchedRewardArrays"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"NoPositions"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"NoRewardRecipients"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"owner"`;
`type`: `"address"`;
}];
`name`: `"OwnableInvalidOwner"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}];
`name`: `"OwnableUnauthorizedAccount"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"ReentrancyGuardReentrantCall"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"SafeERC20FailedOperation"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TickRangeLowerThanStartingTick"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TicksBackwards"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TicksNotMultipleOfTickSpacing"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TicksOutOfTickBounds"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TokenAlreadyHasRewards"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TooManyPositions"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TooManyRewardParticipants"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"Unauthorized"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"ZeroRewardAddress"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"ZeroRewardAmount"`;
`type`: `"error"`;
}],
\| `"renounceOwnership"`
\| `"transferOwnership"`
\| `"collectRewards"`
\| `"collectRewardsWithoutUnlock"`
\| `"onERC721Received"`
\| `"placeLiquidity"`
\| `"updateFeePreference"`
\| `"updateRewardAdmin"`
\| `"updateRewardRecipient"`
\| `"withdrawERC20"`
\| `"withdrawETH"`> & \{
`error?`: `undefined`;
}
\| `UndefinedValues`\<`SimulateContractReturnType`\<readonly \[\{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"owner_"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"factory_"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"feeLocker_"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"positionManager_"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"permit2_"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"universalRouter_"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"poolManager_"`;
`type`: `"address"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"constructor"`;
}, \{
`inputs`: readonly \[];
`name`: `"BASIS_POINTS"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"MAX_LP_POSITIONS"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"MAX_REWARD_PARTICIPANTS"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"collectRewards"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"collectRewardsWithoutUnlock"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"factory"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"feeLocker"`;
`outputs`: readonly \[\{
`internalType`: `"contract IClankerFeeLocker"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `""`;
`type`: `"uint256"`;
}];
`name`: `"feePreferences"`;
`outputs`: readonly \[\{
`internalType`: `"enum IClankerLpLockerFeeConversion.FeeIn"`;
`name`: `"feePreference"`;
`type`: `"uint8"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"from"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"id"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"bytes"`;
`name`: `""`;
`type`: `"bytes"`;
}];
`name`: `"onERC721Received"`;
`outputs`: readonly \[\{
`internalType`: `"bytes4"`;
`name`: `""`;
`type`: `"bytes4"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"owner"`;
`outputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"permit2"`;
`outputs`: readonly \[\{
`internalType`: `"contract IPermit2"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`components`: readonly \[\{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}];
`internalType`: `"struct IClanker.LockerConfig"`;
`name`: `"lockerConfig"`;
`type`: `"tuple"`;
}, \{
`components`: readonly \[\{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}];
`internalType`: `"struct IClanker.PoolConfig"`;
`name`: `"poolConfig"`;
`type`: `"tuple"`;
}, \{
`components`: readonly \[\{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}];
`internalType`: `"struct PoolKey"`;
`name`: `"poolKey"`;
`type`: `"tuple"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"poolSupply"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"placeLiquidity"`;
`outputs`: readonly \[\{
`internalType`: `"uint256"`;
`name`: `"positionId"`;
`type`: `"uint256"`;
}];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"poolManager"`;
`outputs`: readonly \[\{
`internalType`: `"contract IPoolManager"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"positionManager"`;
`outputs`: readonly \[\{
`internalType`: `"contract IPositionManager"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"renounceOwnership"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"bytes4"`;
`name`: `"interfaceId"`;
`type`: `"bytes4"`;
}];
`name`: `"supportsInterface"`;
`outputs`: readonly \[\{
`internalType`: `"bool"`;
`name`: `""`;
`type`: `"bool"`;
}];
`stateMutability`: `"pure"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"tokenRewards"`;
`outputs`: readonly \[\{
`components`: readonly \[\{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`components`: ...;
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}];
`internalType`: `"struct IClankerLpLocker.TokenRewardInfo"`;
`name`: `""`;
`type`: `"tuple"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"newOwner"`;
`type`: `"address"`;
}];
`name`: `"transferOwnership"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"universalRouter"`;
`outputs`: readonly \[\{
`internalType`: `"contract IUniversalRouter"`;
`name`: `""`;
`type`: `"address"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"rewardIndex"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"enum IClankerLpLockerFeeConversion.FeeIn"`;
`name`: `"newFeePreference"`;
`type`: `"uint8"`;
}];
`name`: `"updateFeePreference"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"rewardIndex"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"address"`;
`name`: `"newAdmin"`;
`type`: `"address"`;
}];
`name`: `"updateRewardAdmin"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`internalType`: `"uint256"`;
`name`: `"rewardIndex"`;
`type`: `"uint256"`;
}, \{
`internalType`: `"address"`;
`name`: `"newRecipient"`;
`type`: `"address"`;
}];
`name`: `"updateRewardRecipient"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[];
`name`: `"version"`;
`outputs`: readonly \[\{
`internalType`: `"string"`;
`name`: `""`;
`type`: `"string"`;
}];
`stateMutability`: `"view"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`internalType`: `"address"`;
`name`: `"recipient"`;
`type`: `"address"`;
}];
`name`: `"withdrawERC20"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"recipient"`;
`type`: `"address"`;
}];
`name`: `"withdrawETH"`;
`outputs`: readonly \[];
`stateMutability`: `"nonpayable"`;
`type`: `"function"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amount0"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amount1"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256[]"`;
`name`: `"rewards0"`;
`type`: `"uint256[]"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256[]"`;
`name`: `"rewards1"`;
`type`: `"uint256[]"`;
}];
`name`: `"ClaimedRewards"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"uint256"`;
`name`: `"rewardIndex"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"enum IClankerLpLockerFeeConversion.FeeIn"`;
`name`: `"oldFeePreference"`;
`type`: `"uint8"`;
}, \{
`indexed`: `true`;
`internalType`: `"enum IClankerLpLockerFeeConversion.FeeIn"`;
`name`: `"newFeePreference"`;
`type`: `"uint8"`;
}];
`name`: `"FeePreferenceUpdated"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"rewardToken"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amountSwapped"`;
`type`: `"uint256"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"swappedToken"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"amountOut"`;
`type`: `"uint256"`;
}];
`name`: `"FeesSwapped"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"enum IClankerLpLockerFeeConversion.FeeIn[]"`;
`name`: `"feePreference"`;
`type`: `"uint8[]"`;
}];
`name`: `"InitialFeePreferences"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"previousOwner"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"newOwner"`;
`type`: `"address"`;
}];
`name`: `"OwnershipTransferred"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"from"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"positionId"`;
`type`: `"uint256"`;
}];
`name`: `"Received"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"uint256"`;
`name`: `"rewardIndex"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"oldAdmin"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"newAdmin"`;
`type`: `"address"`;
}];
`name`: `"RewardAdminUpdated"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `true`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`indexed`: `true`;
`internalType`: `"uint256"`;
`name`: `"rewardIndex"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"oldRecipient"`;
`type`: `"address"`;
}, \{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"newRecipient"`;
`type`: `"address"`;
}];
`name`: `"RewardRecipientUpdated"`;
`type`: `"event"`;
}, \{
`anonymous`: `false`;
`inputs`: readonly \[\{
`indexed`: `false`;
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}, \{
`components`: readonly \[\{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}, \{
`internalType`: ...;
`name`: ...;
`type`: ...;
}];
`indexed`: `false`;
`internalType`: `"struct PoolKey"`;
`name`: `"poolKey"`;
`type`: `"tuple"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"poolSupply"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"positionId"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint256"`;
`name`: `"numPositions"`;
`type`: `"uint256"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint16[]"`;
`name`: `"rewardBps"`;
`type`: `"uint16[]"`;
}, \{
`indexed`: `false`;
`internalType`: `"address[]"`;
`name`: `"rewardAdmins"`;
`type`: `"address[]"`;
}, \{
`indexed`: `false`;
`internalType`: `"address[]"`;
`name`: `"rewardRecipients"`;
`type`: `"address[]"`;
}, \{
`indexed`: `false`;
`internalType`: `"int24[]"`;
`name`: `"tickLower"`;
`type`: `"int24[]"`;
}, \{
`indexed`: `false`;
`internalType`: `"int24[]"`;
`name`: `"tickUpper"`;
`type`: `"int24[]"`;
}, \{
`indexed`: `false`;
`internalType`: `"uint16[]"`;
`name`: `"positionBps"`;
`type`: `"uint16[]"`;
}];
`name`: `"TokenRewardAdded"`;
`type`: `"event"`;
}, \{
`inputs`: readonly \[];
`name`: `"InvalidPositionBps"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"InvalidRewardBps"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"MismatchedPositionInfos"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"MismatchedRewardArrays"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"NoPositions"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"NoRewardRecipients"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"owner"`;
`type`: `"address"`;
}];
`name`: `"OwnableInvalidOwner"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"account"`;
`type`: `"address"`;
}];
`name`: `"OwnableUnauthorizedAccount"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"ReentrancyGuardReentrantCall"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[\{
`internalType`: `"address"`;
`name`: `"token"`;
`type`: `"address"`;
}];
`name`: `"SafeERC20FailedOperation"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TickRangeLowerThanStartingTick"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TicksBackwards"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TicksNotMultipleOfTickSpacing"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TicksOutOfTickBounds"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TokenAlreadyHasRewards"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TooManyPositions"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"TooManyRewardParticipants"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"Unauthorized"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"ZeroRewardAddress"`;
`type`: `"error"`;
}, \{
`inputs`: readonly \[];
`name`: `"ZeroRewardAmount"`;
`type`: `"error"`;
}],
\| `"renounceOwnership"`
\| `"transferOwnership"`
\| `"collectRewards"`
\| `"collectRewardsWithoutUnlock"`
\| `"onERC721Received"`
\| `"placeLiquidity"`
\| `"updateFeePreference"`
\| `"updateRewardAdmin"`
\| `"updateRewardRecipient"`
\| `"withdrawERC20"`
\| `"withdrawETH"`>> & \{
`error`: `ClankerError`;
}>

The simulated output

##### getVaultClaimTransactionObject()

[View full generated declaration (412 lines)](https://raw.githubusercontent.com/clanker-devco/DOCS/refs/heads/main/mintlify/assets/sdk-types/8b856fa9c2cc7772e703c96e65fdbbc68d32dfa61b7c92ee53401f16afbeb524.txt)

Defined in: [src/v4/index.ts:534](https://github.com/clanker-devco/clanker-sdk/blob/main/src/v4/index.ts#L534)

Get the transaction object for claiming vaulted tokens (for offline signing or inspection).

###### Parameters

| Parameter | Type | Description |
| - | - | - |
| `token` | \{ `chainId?`: `number`; `token`: `` `0x${string}` ``; `vaultAddress?`: `` `0x${string}` ``; } | The token to claim for |
| `token.chainId?` | `number` | - |
| `token.token` | `` `0x${string}` `` | - |
| `token.vaultAddress?` | `` `0x${string}` `` | - |

###### Returns

[View full generated declaration (412 lines)](https://raw.githubusercontent.com/clanker-devco/DOCS/refs/heads/main/mintlify/assets/sdk-types/0bd20f0033d21571403c37ea64f8344ae38a2ee3334e6805898e196cabcec786.txt)

Transaction object for claiming vaulted tokens

| Name | Type | Default value | Defined in |
| - | - | - | - |
| `abi` | [Full type](https://raw.githubusercontent.com/clanker-devco/DOCS/refs/heads/main/mintlify/assets/sdk-types/94a450732ddc3c2783871a07a1de268ae16372686f9b5e1cbb12c8e1807a6ffa.txt) | `ClankerVault_v4_abi` | [src/v4/index.ts:548](https://github.com/clanker-devco/clanker-sdk/blob/main/src/v4/index.ts#L548) |
| `address` | `` `0x${string}` `` | `vaultAddress` | [src/v4/index.ts:547](https://github.com/clanker-devco/clanker-sdk/blob/main/src/v4/index.ts#L547) |
| `args` | `` `0x${string}` ``\[] | - | [src/v4/index.ts:550](https://github.com/clanker-devco/clanker-sdk/blob/main/src/v4/index.ts#L550) |
| `chainId` | `number` \| `undefined` | - | [src/v4/index.ts:551](https://github.com/clanker-devco/clanker-sdk/blob/main/src/v4/index.ts#L551) |
| `functionName` | `string` | `'claim'` | [src/v4/index.ts:549](https://github.com/clanker-devco/clanker-sdk/blob/main/src/v4/index.ts#L549) |

## Functions

### encodeFeeConfig()

```ts theme={null}
function encodeFeeConfig(tokenConfig, clankerConfig): {
  hook: `0x${string}`;
  poolData: `0x${string}`;
};
```

Defined in: [src/config/clankerTokenV4.ts:494](https://github.com/clanker-devco/clanker-sdk/blob/main/src/config/clankerTokenV4.ts#L494)

Encode a fee configuration for Clanker v4.

#### Parameters

| Parameter | Type | Description |
| - | - | - |
| `tokenConfig` | [Full type](https://raw.githubusercontent.com/clanker-devco/DOCS/refs/heads/main/mintlify/assets/sdk-types/6db4da74dfd926c79bb571afcc24b3b87963bcb33d4450d31afb4b350493aa8f.txt) | - |
| `tokenConfig.airdrop?` | \{ `admin?`: `` `0x${string}` ``; `amount`: `number`; `lockupDuration`: `number`; `merkleRoot`: `` `0x${string}` ``; `vestingDuration`: `number`; } | Token airdrop. Tokens are locked for some duration with possible vesting. |
| `tokenConfig.airdrop.admin?` | `` `0x${string}` `` | Admin for the airdrop. Defaults to TokenAdmin if not set. |
| `tokenConfig.airdrop.amount` | `number` | How many tokens to lock up. Denoted in whole tokens (without the 18 decimals). Minimum is 25 bps of the supply. |
| `tokenConfig.airdrop.lockupDuration` | `number` | How long to lock the tokens for. In seconds. Minimum 1 day. |
| `tokenConfig.airdrop.merkleRoot` | `` `0x${string}` `` | Root of the airdrop merkle tree. |
| `tokenConfig.airdrop.vestingDuration` | `number` | After the lockup, how long the tokens should vest for. Vesting is linear over the duration. In seconds. |
| `tokenConfig.chainId` | `1` \| `56` \| `130` \| `143` \| `2741` \| `4663` \| `8453` \| `10143` \| `42161` \| `84532` | Id of the chain that the token will be deployed to. Defaults to base (8453). |
| `tokenConfig.context` | \{ `id?`: `string`; `interface`: `string`; `messageId?`: `string`; `platform?`: `string`; } | Social provenance for the token. Interface defaults to "SDK" if not set. |
| `tokenConfig.context.id?` | `string` | User id of the poster on the social platform the token was deployed from. Used for provenance and will be verified by aggregators. |
| `tokenConfig.context.interface` | `string` | System the token was deployed via. Defaults to "SDK". |
| `tokenConfig.context.messageId?` | `string` | Id of the message on the social platform the token was deployed from. Used for provenance and will be verified by aggregators. |
| `tokenConfig.context.platform?` | `string` | Social platform the token was deployed from. Used for provenance and will be verified by aggregators. |
| `tokenConfig.devBuy?` | \{ `amountOutMin`: `number`; `ethAmount`: `number`; `poolKey`: \{ `currency0`: `` `0x${string}` ``; `currency1`: `` `0x${string}` ``; `fee`: `number`; `hooks`: `` `0x${string}` ``; `tickSpacing`: `number`; }; `recipient?`: `` `0x${string}` ``; } | Token dev buy. Tokens are bought in the token creation transaction. |
| `tokenConfig.devBuy.amountOutMin` | `number` | Amount out min for the ETH -> PAIR swap. Used if the clanker is not paired with ETH. |
| `tokenConfig.devBuy.ethAmount` | `number` | How much of the token to buy (denoted in ETH). |
| `tokenConfig.devBuy.poolKey` | \{ `currency0`: `` `0x${string}` ``; `currency1`: `` `0x${string}` ``; `fee`: `number`; `hooks`: `` `0x${string}` ``; `tickSpacing`: `number`; } | Pool identifier. Used if the clanker is not paired with ETH. Then the devbuy will pay ETH -> PAIR -> CLANKER. |
| `tokenConfig.devBuy.poolKey.currency0` | `` `0x${string}` `` | - |
| `tokenConfig.devBuy.poolKey.currency1` | `` `0x${string}` `` | - |
| `tokenConfig.devBuy.poolKey.fee` | `number` | - |
| `tokenConfig.devBuy.poolKey.hooks` | `` `0x${string}` `` | - |
| `tokenConfig.devBuy.poolKey.tickSpacing` | `number` | - |
| `tokenConfig.devBuy.recipient?` | `` `0x${string}` `` | Recipient address for the purchased tokens. Defaults to tokenAdmin if not specified. |
| `tokenConfig.fees` | \| \{ `clankerFee`: `number`; `pairedFee`: `number`; `type`: `"static"`; } \| \{ `baseFee`: `number`; `decayFilterBps`: `number`; `feeControlNumerator`: `number`; `maxFee`: `number`; `referenceTickFilterPeriod`: `number`; `resetPeriod`: `number`; `resetTickFilter`: `number`; `type`: `"dynamic"`; } | Fee structure for the token. |
| `tokenConfig.image` | `string` | Image for the token. This should be a normal or ipfs url. |
| `tokenConfig.locker` | \{ `locker`: `` `0x${string}` `` \| `"Locker"`; `lockerData`: `` `0x${string}` ``; } | Token locker |
| `tokenConfig.locker.locker` | `` `0x${string}` `` \| `"Locker"` | Locker extension address. |
| `tokenConfig.locker.lockerData` | `` `0x${string}` `` | Locker extension specific data. Abi encoded hex of the parameters. |
| `tokenConfig.metadata?` | \{ `auditUrls?`: `string`\[]; `description?`: `string`; `socialMediaUrls?`: \{ `platform`: `string`; `url`: `string`; }\[]; } | Metadata for the token. |
| `tokenConfig.metadata.auditUrls?` | `string`\[] | Audits for other contracts or services offered by the project. |
| `tokenConfig.metadata.description?` | `string` | Description of the token or token project. |
| `tokenConfig.metadata.socialMediaUrls?` | \{ `platform`: `string`; `url`: `string`; }\[] | Socials for the token. These may be displayed on aggregators. |
| `tokenConfig.name` | `string` | Name of the token. Example: "My Token". |
| `tokenConfig.pool` | \{ `pairedToken`: `` `0x${string}` `` \| `"WETH"`; `positions`: \{ `positionBps`: `number`; `tickLower`: `number`; `tickUpper`: `number`; }\[]; `tickIfToken0IsClanker`: `number`; `tickSpacing`: `number`; } | Pool information |
| `tokenConfig.pool.pairedToken` | `` `0x${string}` `` \| `"WETH"` | Token to pair the clanker with. |
| `tokenConfig.pool.positions` | \{ `positionBps`: `number`; `tickLower`: `number`; `tickUpper`: `number`; }\[] | Positions for initial pool liquidity. Bps must sum to 100%. |
| `tokenConfig.pool.tickIfToken0IsClanker` | `number` | Starting tick of the pool. |
| `tokenConfig.pool.tickSpacing` | `number` | Tick spacing. |
| `tokenConfig.poolExtension` | \{ `address`: `` `0x${string}` ``; `initData`: `` `0x${string}` ``; } | \[v4.1+ only] Custom developer extension |
| `tokenConfig.poolExtension.address` | `` `0x${string}` `` | Address of the developer extension |
| `tokenConfig.poolExtension.initData` | `` `0x${string}` `` | Initialization data for the extension |
| `tokenConfig.presale?` | \{ `bps`: `number`; } | Presale configuration for the token. Must be deployed via the presale contract. |
| `tokenConfig.presale.bps` | `number` | Bps for allocation to presale |
| `tokenConfig.rewards?` | \{ `recipients`: \{ `admin`: `` `0x${string}` ``; `bps`: `number`; `recipient`: `` `0x${string}` ``; `token`: `"Both"` \| `"Paired"` \| `"Clanker"`; }\[]; } | Rewards & recipients for rewards generated by the token. |
| `tokenConfig.rewards.recipients` | \{ `admin`: `` `0x${string}` ``; `bps`: `number`; `recipient`: `` `0x${string}` ``; `token`: `"Both"` \| `"Paired"` \| `"Clanker"`; }\[] | Recipients of the token rewards. Must sum to 100%. |
| `tokenConfig.salt?` | `` `0x${string}` `` | Custom salt for CREATE2 deployment. If provided, this will be used instead of vanity address generation. Takes precedence over vanity. |
| `tokenConfig.sniperFees` | \{ `endingFee`: `number`; `secondsToDecay`: `number`; `startingFee`: `number`; } | \[v4.1+ only] Sniper fees |
| `tokenConfig.sniperFees.endingFee` | `number` | Ending sniper fee (units: Unibps) |
| `tokenConfig.sniperFees.secondsToDecay` | `number` | Sniper fee duration |
| `tokenConfig.sniperFees.startingFee` | `number` | Starting sniper fee (units: Unibps) |
| `tokenConfig.symbol` | `string` | Symbol for the token. Example: "MTK". |
| `tokenConfig.tokenAdmin` | `` `0x${string}` `` | Admin for the token. They will be able to change fields like image, metadata, etc. |
| `tokenConfig.vanity` | `boolean` | Whether or not to enable the "0xb07" address suffix. |
| `tokenConfig.vault?` | \{ `lockupDuration`: `number`; `percentage`: `number`; `recipient?`: `` `0x${string}` ``; `vestingDuration`: `number`; } | Token vault. Tokens are locked for some duration with possible vesting. |
| `tokenConfig.vault.lockupDuration` | `number` | How long to lock the tokens for. In seconds. Minimum 7 days. |
| `tokenConfig.vault.percentage` | `number` | Percent of total supply allocated to the vault. |
| `tokenConfig.vault.recipient?` | `` `0x${string}` `` | Recipient for the vault extension. Defaults to tokenAdmin if not set. |
| `tokenConfig.vault.vestingDuration` | `number` | After the lockup, how long the tokens should vest for. Vesting is linear over the duration. In seconds. |
| `clankerConfig` | [`ClankerDeployment`](https://docs.clanker.world/sdk-reference/core-utilities#clankerdeployment)\<[`RelatedV4`](https://docs.clanker.world/sdk-reference/core-utilities#relatedv4)> | A clanker configuration |

#### Returns

```ts theme={null}
{
  hook: `0x${string}`;
  poolData: `0x${string}`;
}
```

A correctly formatted fee configuration

| Name | Type | Defined in |
| - | - | - |
| `hook` | `` `0x${string}` `` | [src/config/clankerTokenV4.ts:498](https://github.com/clanker-devco/clanker-sdk/blob/main/src/config/clankerTokenV4.ts#L498) |
| `poolData` | `` `0x${string}` `` | [src/config/clankerTokenV4.ts:499](https://github.com/clanker-devco/clanker-sdk/blob/main/src/config/clankerTokenV4.ts#L499) |


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