Skip to main content
clanker-sdk
clanker-sdk / v4

Classes

Clanker

Defined in: src/v4/index.ts:30 Clanker v4

Constructors

Defined in: src/v4/index.ts:34 Clanker

Properties

Methods

Defined in: src/v4/index.ts:151 Check available rewards for a token and recipient. Promise<bigint> Amount of rewards for the token and rewardRecipient
Defined in: src/v4/index.ts:97 Claim rewards for a clanker token. Promise< | { error: undefined; txHash: `0x${string}`; } | { error: ClankerError; txHash: undefined; }> Transaction hash of the claim or error View full generated declaration (593 lines) Defined in: src/v4/index.ts:74 Simulate claiming rewards. Will use the wallet account on the Clanker class or the passed-in account. 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
Defined in: src/v4/index.ts:481 Claim vaulted tokens for a clanker token. Promise< | { txHash: `0x${string}`; } & { error?: undefined; } | UndefinedValues<{ txHash: `0x${string}`; }> & { error: ClankerError; }> Transaction hash of the claim or error
Defined in: src/v4/index.ts:204 Deploy a token 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
Defined in: src/v4/index.ts:186 Simulate a token deployment 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 View full generated declaration (294 lines) Defined in: src/v4/index.ts:124 Get an abi-typed transaction for checking rewards on a token. 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 View full generated declaration (289 lines) Defined in: src/v4/index.ts:46 Get an abi-typed transaction for claiming rewards on a token. 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 View full generated declaration (820 lines) Defined in: src/v4/index.ts:175 Get an abi-typed transaction for deploying a clanker. 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
Defined in: src/v4/index.ts:743 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)
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 View full generated declaration (842 lines) Defined in: src/v4/index.ts:708 Get the transaction config for reading token rewards information from the locker contract. 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 View full generated declaration (979 lines) Defined in: src/v4/index.ts:563 Get an abi-typed transaction for updating the token image. 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 View full generated declaration (979 lines) Defined in: src/v4/index.ts:590 Get an abi-typed transaction for updating the token metadata. 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 View full generated declaration (837 lines) Defined in: src/v4/index.ts:258 Get an abi-typed transaction for updating the reward admin. 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 View full generated declaration (837 lines) Defined in: src/v4/index.ts:222 Get an abi-typed transaction for updating the reward recipient. 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
Defined in: src/v4/index.ts:494 Get the amount of vaulted tokens available to claim. Promise<bigint> Amount of tokens available to claim
Defined in: src/v4/index.ts:456 Get an abi-typed transaction for claiming vaulted tokens. Promise<any> Abi transaction
Defined in: src/v4/index.ts:660 Update the token image. Promise< | { error: undefined; txHash: `0x${string}`; } | { error: ClankerError; txHash: undefined; }> Transaction hash of the update or error View full generated declaration (1,991 lines) Defined in: src/v4/index.ts:618 Simulate updating the token image. Will use the wallet account on the Clanker class or the passed-in account. 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
Defined in: src/v4/index.ts:684 Update the token metadata. Promise< | { error: undefined; txHash: `0x${string}`; } | { error: ClankerError; txHash: undefined; }> Transaction hash of the update or error View full generated declaration (1,991 lines) Defined in: src/v4/index.ts:640 Simulate updating the token metadata. Will use the wallet account on the Clanker class or the passed-in account. 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
Defined in: src/v4/index.ts:418 Update the reward admin for a token. Promise< | { error: undefined; txHash: `0x${string}`; } | { error: ClankerError; txHash: undefined; }> Transaction hash of the update or error View full generated declaration (1,661 lines) Defined in: src/v4/index.ts:338 Simulate updating the reward admin. Will use the wallet account on the Clanker class or the passed-in account. 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
Defined in: src/v4/index.ts:379 Update the reward recipient for a token. Promise< | { error: undefined; txHash: `0x${string}`; } | { error: ClankerError; txHash: undefined; }> Transaction hash of the update or error View full generated declaration (1,661 lines) Defined in: src/v4/index.ts:295 Simulate updating the reward recipient. Will use the wallet account on the Clanker class or the passed-in account. 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 View full generated declaration (412 lines) Defined in: src/v4/index.ts:534 Get the transaction object for claiming vaulted tokens (for offline signing or inspection). View full generated declaration (412 lines) Transaction object for claiming vaulted tokens

Functions

encodeFeeConfig()

Defined in: src/config/clankerTokenV4.ts:494 Encode a fee configuration for Clanker v4.

Parameters

Returns

A correctly formatted fee configuration