clanker-sdk
Version:
SDK for deploying tokens on Base using Clanker
1,790 lines • 65.2 kB
TypeScript
import { C as ClankerTransactionConfig, a as Clanker_v3_1_abi, b as ClankerError, c as ClankerFactory, d as ClankerResult } from '../write-clanker-contracts-P4x1JFPX.js';
import * as viem from 'viem';
import { WalletClient, Transport, Chain, Account, PublicClient } from 'viem';
import { C as ClankerTokenV3 } from '../clankerTokenV3-B-1LF6gg.js';
import '../ClankerToken-Dra5lppJ.js';
import 'zod/v4';
type ClankerConfig = {
wallet?: WalletClient<Transport, Chain, Account>;
publicClient?: PublicClient;
};
/**
* Clanker v3
*/
declare class Clanker {
private readonly wallet?;
private readonly publicClient?;
constructor(config?: ClankerConfig);
/**
* Get an abi-typed transaction for claiming rewards on a token.
*
* @param token The token to claim for
* @returns Abi transaction
*/
getClaimRewardsTransaction(token: `0x${string}`): Promise<ClankerTransactionConfig<typeof Clanker_v3_1_abi>>;
/**
* Simulate claiming rewards. Will use the wallet account on the Clanker class or
* the passed-in account.
*
* @param token The token to simulate reward claiming for
* @param account Optional account to simulate calling claiming for
* @returns The simulated output
*/
claimRewardsSimulate(token: `0x${string}`, account?: Account): Promise<(viem.SimulateContractReturnType<readonly [{
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "owner_";
readonly type: "address";
}];
readonly stateMutability: "nonpayable";
readonly type: "constructor";
}, {
readonly inputs: readonly [];
readonly name: "Deprecated";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "InvalidCreatorInfo";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "InvalidCreatorReward";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "InvalidInterfaceInfo";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "InvalidTick";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "InvalidVaultConfiguration";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "NotFound";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "OnlyNonOriginatingChains";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "OnlyOriginatingChain";
readonly type: "error";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "owner";
readonly type: "address";
}];
readonly name: "OwnableInvalidOwner";
readonly type: "error";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "account";
readonly type: "address";
}];
readonly name: "OwnableUnauthorizedAccount";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "ReentrancyGuardReentrantCall";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "Unauthorized";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "ZeroTeamRewardRecipient";
readonly type: "error";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: false;
readonly internalType: "address";
readonly name: "oldClankerDeployer";
readonly type: "address";
}, {
readonly indexed: false;
readonly internalType: "address";
readonly name: "newClankerDeployer";
readonly type: "address";
}];
readonly name: "ClankerDeployerUpdated";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: false;
readonly internalType: "address";
readonly name: "oldLocker";
readonly type: "address";
}, {
readonly indexed: false;
readonly internalType: "address";
readonly name: "newLocker";
readonly type: "address";
}];
readonly name: "LiquidityLockerUpdated";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: true;
readonly internalType: "address";
readonly name: "previousOwner";
readonly type: "address";
}, {
readonly indexed: true;
readonly internalType: "address";
readonly name: "newOwner";
readonly type: "address";
}];
readonly name: "OwnershipTransferred";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: false;
readonly internalType: "address";
readonly name: "admin";
readonly type: "address";
}, {
readonly indexed: false;
readonly internalType: "bool";
readonly name: "isAdmin";
readonly type: "bool";
}];
readonly name: "SetAdmin";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: false;
readonly internalType: "bool";
readonly name: "deprecated";
readonly type: "bool";
}];
readonly name: "SetDeprecated";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: true;
readonly internalType: "address";
readonly name: "tokenAddress";
readonly type: "address";
}, {
readonly indexed: true;
readonly internalType: "address";
readonly name: "creatorAdmin";
readonly type: "address";
}, {
readonly indexed: true;
readonly internalType: "address";
readonly name: "interfaceAdmin";
readonly type: "address";
}, {
readonly indexed: false;
readonly internalType: "address";
readonly name: "creatorRewardRecipient";
readonly type: "address";
}, {
readonly indexed: false;
readonly internalType: "address";
readonly name: "interfaceRewardRecipient";
readonly type: "address";
}, {
readonly indexed: false;
readonly internalType: "uint256";
readonly name: "positionId";
readonly type: "uint256";
}, {
readonly indexed: false;
readonly internalType: "string";
readonly name: "name";
readonly type: "string";
}, {
readonly indexed: false;
readonly internalType: "string";
readonly name: "symbol";
readonly type: "string";
}, {
readonly indexed: false;
readonly internalType: "int24";
readonly name: "startingTickIfToken0IsNewToken";
readonly type: "int24";
}, {
readonly indexed: false;
readonly internalType: "string";
readonly name: "metadata";
readonly type: "string";
}, {
readonly indexed: false;
readonly internalType: "uint256";
readonly name: "amountTokensBought";
readonly type: "uint256";
}, {
readonly indexed: false;
readonly internalType: "uint256";
readonly name: "vaultDuration";
readonly type: "uint256";
}, {
readonly indexed: false;
readonly internalType: "uint8";
readonly name: "vaultPercentage";
readonly type: "uint8";
}, {
readonly indexed: false;
readonly internalType: "address";
readonly name: "msgSender";
readonly type: "address";
}];
readonly name: "TokenCreated";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: false;
readonly internalType: "address";
readonly name: "oldVault";
readonly type: "address";
}, {
readonly indexed: false;
readonly internalType: "address";
readonly name: "newVault";
readonly type: "address";
}];
readonly name: "VaultUpdated";
readonly type: "event";
}, {
readonly inputs: readonly [];
readonly name: "MAX_CREATOR_REWARD";
readonly outputs: readonly [{
readonly internalType: "uint256";
readonly name: "";
readonly type: "uint256";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "MAX_TICK";
readonly outputs: readonly [{
readonly internalType: "int24";
readonly name: "";
readonly type: "int24";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "MAX_VAULT_PERCENTAGE";
readonly outputs: readonly [{
readonly internalType: "uint256";
readonly name: "";
readonly type: "uint256";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "POOL_FEE";
readonly outputs: readonly [{
readonly internalType: "uint24";
readonly name: "";
readonly type: "uint24";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "TICK_SPACING";
readonly outputs: readonly [{
readonly internalType: "int24";
readonly name: "";
readonly type: "int24";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "TOKEN_SUPPLY";
readonly outputs: readonly [{
readonly internalType: "uint256";
readonly name: "";
readonly type: "uint256";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "";
readonly type: "address";
}];
readonly name: "admins";
readonly outputs: readonly [{
readonly internalType: "bool";
readonly name: "";
readonly type: "bool";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "token";
readonly type: "address";
}];
readonly name: "claimRewards";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly components: readonly [{
readonly components: readonly [{
readonly internalType: "string";
readonly name: "name";
readonly type: "string";
}, {
readonly internalType: "string";
readonly name: "symbol";
readonly type: "string";
}, {
readonly internalType: "bytes32";
readonly name: "salt";
readonly type: "bytes32";
}, {
readonly internalType: "string";
readonly name: "image";
readonly type: "string";
}, {
readonly internalType: "string";
readonly name: "metadata";
readonly type: "string";
}, {
readonly internalType: "string";
readonly name: "context";
readonly type: "string";
}, {
readonly internalType: "uint256";
readonly name: "originatingChainId";
readonly type: "uint256";
}];
readonly internalType: "struct IClanker.TokenConfig";
readonly name: "tokenConfig";
readonly type: "tuple";
}, {
readonly components: readonly [{
readonly internalType: "uint8";
readonly name: "vaultPercentage";
readonly type: "uint8";
}, {
readonly internalType: "uint256";
readonly name: "vaultDuration";
readonly type: "uint256";
}];
readonly internalType: "struct IClanker.VaultConfig";
readonly name: "vaultConfig";
readonly type: "tuple";
}, {
readonly components: readonly [{
readonly internalType: "address";
readonly name: "pairedToken";
readonly type: "address";
}, {
readonly internalType: "int24";
readonly name: "tickIfToken0IsNewToken";
readonly type: "int24";
}];
readonly internalType: "struct IClanker.PoolConfig";
readonly name: "poolConfig";
readonly type: "tuple";
}, {
readonly components: readonly [{
readonly internalType: "uint24";
readonly name: "pairedTokenPoolFee";
readonly type: "uint24";
}, {
readonly internalType: "uint256";
readonly name: "pairedTokenSwapAmountOutMinimum";
readonly type: "uint256";
}];
readonly internalType: "struct IClanker.InitialBuyConfig";
readonly name: "initialBuyConfig";
readonly type: "tuple";
}, {
readonly components: readonly [{
readonly internalType: "uint256";
readonly name: "creatorReward";
readonly type: "uint256";
}, {
readonly internalType: "address";
readonly name: "creatorAdmin";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "creatorRewardRecipient";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "interfaceAdmin";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "interfaceRewardRecipient";
readonly type: "address";
}];
readonly internalType: "struct IClanker.RewardsConfig";
readonly name: "rewardsConfig";
readonly type: "tuple";
}];
readonly internalType: "struct IClanker.DeploymentConfig";
readonly name: "deploymentConfig";
readonly type: "tuple";
}];
readonly name: "deployToken";
readonly outputs: readonly [{
readonly internalType: "address";
readonly name: "tokenAddress";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "positionId";
readonly type: "uint256";
}];
readonly stateMutability: "payable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly components: readonly [{
readonly components: readonly [{
readonly internalType: "string";
readonly name: "name";
readonly type: "string";
}, {
readonly internalType: "string";
readonly name: "symbol";
readonly type: "string";
}, {
readonly internalType: "bytes32";
readonly name: "salt";
readonly type: "bytes32";
}, {
readonly internalType: "string";
readonly name: "image";
readonly type: "string";
}, {
readonly internalType: "string";
readonly name: "metadata";
readonly type: "string";
}, {
readonly internalType: "string";
readonly name: "context";
readonly type: "string";
}, {
readonly internalType: "uint256";
readonly name: "originatingChainId";
readonly type: "uint256";
}];
readonly internalType: "struct IClanker.TokenConfig";
readonly name: "tokenConfig";
readonly type: "tuple";
}, {
readonly components: readonly [{
readonly internalType: "uint8";
readonly name: "vaultPercentage";
readonly type: "uint8";
}, {
readonly internalType: "uint256";
readonly name: "vaultDuration";
readonly type: "uint256";
}];
readonly internalType: "struct IClanker.VaultConfig";
readonly name: "vaultConfig";
readonly type: "tuple";
}, {
readonly components: readonly [{
readonly internalType: "address";
readonly name: "pairedToken";
readonly type: "address";
}, {
readonly internalType: "int24";
readonly name: "tickIfToken0IsNewToken";
readonly type: "int24";
}];
readonly internalType: "struct IClanker.PoolConfig";
readonly name: "poolConfig";
readonly type: "tuple";
}, {
readonly components: readonly [{
readonly internalType: "uint24";
readonly name: "pairedTokenPoolFee";
readonly type: "uint24";
}, {
readonly internalType: "uint256";
readonly name: "pairedTokenSwapAmountOutMinimum";
readonly type: "uint256";
}];
readonly internalType: "struct IClanker.InitialBuyConfig";
readonly name: "initialBuyConfig";
readonly type: "tuple";
}, {
readonly components: readonly [{
readonly internalType: "uint256";
readonly name: "creatorReward";
readonly type: "uint256";
}, {
readonly internalType: "address";
readonly name: "creatorAdmin";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "creatorRewardRecipient";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "interfaceAdmin";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "interfaceRewardRecipient";
readonly type: "address";
}];
readonly internalType: "struct IClanker.RewardsConfig";
readonly name: "rewardsConfig";
readonly type: "tuple";
}];
readonly internalType: "struct IClanker.DeploymentConfig";
readonly name: "deploymentConfig";
readonly type: "tuple";
}, {
readonly internalType: "address";
readonly name: "teamRewardRecipient";
readonly type: "address";
}];
readonly name: "deployTokenWithCustomTeamRewardRecipient";
readonly outputs: readonly [{
readonly internalType: "address";
readonly name: "tokenAddress";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "positionId";
readonly type: "uint256";
}];
readonly stateMutability: "payable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly components: readonly [{
readonly internalType: "string";
readonly name: "name";
readonly type: "string";
}, {
readonly internalType: "string";
readonly name: "symbol";
readonly type: "string";
}, {
readonly internalType: "bytes32";
readonly name: "salt";
readonly type: "bytes32";
}, {
readonly internalType: "string";
readonly name: "image";
readonly type: "string";
}, {
readonly internalType: "string";
readonly name: "metadata";
readonly type: "string";
}, {
readonly internalType: "string";
readonly name: "context";
readonly type: "string";
}, {
readonly internalType: "uint256";
readonly name: "originatingChainId";
readonly type: "uint256";
}];
readonly internalType: "struct IClanker.TokenConfig";
readonly name: "tokenConfig";
readonly type: "tuple";
}, {
readonly internalType: "address";
readonly name: "tokenAdmin";
readonly type: "address";
}];
readonly name: "deployTokenZeroSupply";
readonly outputs: readonly [{
readonly internalType: "address";
readonly name: "tokenAddress";
readonly type: "address";
}];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "";
readonly type: "address";
}];
readonly name: "deploymentInfoForToken";
readonly outputs: readonly [{
readonly internalType: "address";
readonly name: "token";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "positionId";
readonly type: "uint256";
}, {
readonly internalType: "address";
readonly name: "locker";
readonly type: "address";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "deprecated";
readonly outputs: readonly [{
readonly internalType: "bool";
readonly name: "";
readonly type: "bool";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "user";
readonly type: "address";
}];
readonly name: "getTokensDeployedByUser";
readonly outputs: readonly [{
readonly components: readonly [{
readonly internalType: "address";
readonly name: "token";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "positionId";
readonly type: "uint256";
}, {
readonly internalType: "address";
readonly name: "locker";
readonly type: "address";
}];
readonly internalType: "struct IClanker.DeploymentInfo[]";
readonly name: "";
readonly type: "tuple[]";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "uniswapV3Factory_";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "positionManager_";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "swapRouter_";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "weth_";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "liquidityLocker_";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "vault_";
readonly type: "address";
}];
readonly name: "initialize";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "liquidityLocker";
readonly outputs: readonly [{
readonly internalType: "contract ILpLockerv2";
readonly name: "";
readonly type: "address";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "owner";
readonly outputs: readonly [{
readonly internalType: "address";
readonly name: "";
readonly type: "address";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "positionManager";
readonly outputs: readonly [{
readonly internalType: "contract INonfungiblePositionManager";
readonly name: "";
readonly type: "address";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "renounceOwnership";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "admin";
readonly type: "address";
}, {
readonly internalType: "bool";
readonly name: "isAdmin";
readonly type: "bool";
}];
readonly name: "setAdmin";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "bool";
readonly name: "deprecated_";
readonly type: "bool";
}];
readonly name: "setDeprecated";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "swapRouter";
readonly outputs: readonly [{
readonly internalType: "contract ISwapRouter";
readonly name: "";
readonly type: "address";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "";
readonly type: "uint256";
}];
readonly name: "tokensDeployedByUsers";
readonly outputs: readonly [{
readonly internalType: "address";
readonly name: "token";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "positionId";
readonly type: "uint256";
}, {
readonly internalType: "address";
readonly name: "locker";
readonly type: "address";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "newOwner";
readonly type: "address";
}];
readonly name: "transferOwnership";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "uniswapV3Factory";
readonly outputs: readonly [{
readonly internalType: "contract IUniswapV3Factory";
readonly name: "";
readonly type: "address";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "newLocker";
readonly type: "address";
}];
readonly name: "updateLiquidityLocker";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "newVault";
readonly type: "address";
}];
readonly name: "updateVault";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "vault";
readonly outputs: readonly [{
readonly internalType: "contract IClankerVault";
readonly name: "";
readonly type: "address";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "weth";
readonly outputs: readonly [{
readonly internalType: "address";
readonly name: "";
readonly type: "address";
}];
readonly stateMutability: "view";
readonly type: "function";
}], "claimRewards" | "deployToken" | "deployTokenWithCustomTeamRewardRecipient" | "deployTokenZeroSupply" | "initialize" | "renounceOwnership" | "setAdmin" | "setDeprecated" | "transferOwnership" | "updateLiquidityLocker" | "updateVault"> & {
error?: undefined;
}) | ({
result?: undefined;
request?: undefined;
} & {
error: ClankerError;
})>;
/**
* Claim rewards for a clanker token.
*
* @param token Token to claim rewards for
* @returns Transaction hash of the claim or error
*/
claimRewards(token: `0x${string}`): Promise<{
txHash: `0x${string}`;
error: undefined;
} | {
txHash: undefined;
error: ClankerError;
}>;
/**
* Get an abi-typed transaction for deploying a clanker.
*
* @param token The token to deploy
* @param requestorAddress Requestor for the deployment. Various admins will fall back to this.
* @returns Abi transaction
*/
getDeployTransaction(token: ClankerTokenV3, requestorAddress: `0x${string}`): Promise<ClankerTransactionConfig<readonly [{
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "owner_";
readonly type: "address";
}];
readonly stateMutability: "nonpayable";
readonly type: "constructor";
}, {
readonly inputs: readonly [];
readonly name: "Deprecated";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "InvalidCreatorInfo";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "InvalidCreatorReward";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "InvalidInterfaceInfo";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "InvalidTick";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "InvalidVaultConfiguration";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "NotFound";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "OnlyNonOriginatingChains";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "OnlyOriginatingChain";
readonly type: "error";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "owner";
readonly type: "address";
}];
readonly name: "OwnableInvalidOwner";
readonly type: "error";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "account";
readonly type: "address";
}];
readonly name: "OwnableUnauthorizedAccount";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "ReentrancyGuardReentrantCall";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "Unauthorized";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "ZeroTeamRewardRecipient";
readonly type: "error";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: false;
readonly internalType: "address";
readonly name: "oldClankerDeployer";
readonly type: "address";
}, {
readonly indexed: false;
readonly internalType: "address";
readonly name: "newClankerDeployer";
readonly type: "address";
}];
readonly name: "ClankerDeployerUpdated";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: false;
readonly internalType: "address";
readonly name: "oldLocker";
readonly type: "address";
}, {
readonly indexed: false;
readonly internalType: "address";
readonly name: "newLocker";
readonly type: "address";
}];
readonly name: "LiquidityLockerUpdated";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: true;
readonly internalType: "address";
readonly name: "previousOwner";
readonly type: "address";
}, {
readonly indexed: true;
readonly internalType: "address";
readonly name: "newOwner";
readonly type: "address";
}];
readonly name: "OwnershipTransferred";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: false;
readonly internalType: "address";
readonly name: "admin";
readonly type: "address";
}, {
readonly indexed: false;
readonly internalType: "bool";
readonly name: "isAdmin";
readonly type: "bool";
}];
readonly name: "SetAdmin";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: false;
readonly internalType: "bool";
readonly name: "deprecated";
readonly type: "bool";
}];
readonly name: "SetDeprecated";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: true;
readonly internalType: "address";
readonly name: "tokenAddress";
readonly type: "address";
}, {
readonly indexed: true;
readonly internalType: "address";
readonly name: "creatorAdmin";
readonly type: "address";
}, {
readonly indexed: true;
readonly internalType: "address";
readonly name: "interfaceAdmin";
readonly type: "address";
}, {
readonly indexed: false;
readonly internalType: "address";
readonly name: "creatorRewardRecipient";
readonly type: "address";
}, {
readonly indexed: false;
readonly internalType: "address";
readonly name: "interfaceRewardRecipient";
readonly type: "address";
}, {
readonly indexed: false;
readonly internalType: "uint256";
readonly name: "positionId";
readonly type: "uint256";
}, {
readonly indexed: false;
readonly internalType: "string";
readonly name: "name";
readonly type: "string";
}, {
readonly indexed: false;
readonly internalType: "string";
readonly name: "symbol";
readonly type: "string";
}, {
readonly indexed: false;
readonly internalType: "int24";
readonly name: "startingTickIfToken0IsNewToken";
readonly type: "int24";
}, {
readonly indexed: false;
readonly internalType: "string";
readonly name: "metadata";
readonly type: "string";
}, {
readonly indexed: false;
readonly internalType: "uint256";
readonly name: "amountTokensBought";
readonly type: "uint256";
}, {
readonly indexed: false;
readonly internalType: "uint256";
readonly name: "vaultDuration";
readonly type: "uint256";
}, {
readonly indexed: false;
readonly internalType: "uint8";
readonly name: "vaultPercentage";
readonly type: "uint8";
}, {
readonly indexed: false;
readonly internalType: "address";
readonly name: "msgSender";
readonly type: "address";
}];
readonly name: "TokenCreated";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: false;
readonly internalType: "address";
readonly name: "oldVault";
readonly type: "address";
}, {
readonly indexed: false;
readonly internalType: "address";
readonly name: "newVault";
readonly type: "address";
}];
readonly name: "VaultUpdated";
readonly type: "event";
}, {
readonly inputs: readonly [];
readonly name: "MAX_CREATOR_REWARD";
readonly outputs: readonly [{
readonly internalType: "uint256";
readonly name: "";
readonly type: "uint256";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "MAX_TICK";
readonly outputs: readonly [{
readonly internalType: "int24";
readonly name: "";
readonly type: "int24";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "MAX_VAULT_PERCENTAGE";
readonly outputs: readonly [{
readonly internalType: "uint256";
readonly name: "";
readonly type: "uint256";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "POOL_FEE";
readonly outputs: readonly [{
readonly internalType: "uint24";
readonly name: "";
readonly type: "uint24";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "TICK_SPACING";
readonly outputs: readonly [{
readonly internalType: "int24";
readonly name: "";
readonly type: "int24";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "TOKEN_SUPPLY";
readonly outputs: readonly [{
readonly internalType: "uint256";
readonly name: "";
readonly type: "uint256";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "";
readonly type: "address";
}];
readonly name: "admins";
readonly outputs: readonly [{
readonly internalType: "bool";
readonly name: "";
readonly type: "bool";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "token";
readonly type: "address";
}];
readonly name: "claimRewards";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly components: readonly [{
readonly components: readonly [{
readonly internalType: "string";
readonly name: "name";
readonly type: "string";
}, {
readonly internalType: "string";
readonly name: "symbol";
readonly type: "string";
}, {
readonly internalType: "bytes32";
readonly name: "salt";
readonly type: "bytes32";
}, {
readonly internalType: "string";
readonly name: "image";
readonly type: "string";
}, {
readonly internalType: "string";
readonly name: "metadata";
readonly type: "string";
}, {
readonly internalType: "string";
readonly name: "context";
readonly type: "string";
}, {
readonly internalType: "uint256";
readonly name: "originatingChainId";
readonly type: "uint256";
}];
readonly internalType: "struct IClanker.TokenConfig";
readonly name: "tokenConfig";
readonly type: "tuple";
}, {
readonly components: readonly [{
readonly internalType: "uint8";
readonly name: "vaultPercentage";
readonly type: "uint8";
}, {
readonly internalType: "uint256";
readonly name: "vaultDuration";
readonly type: "uint256";
}];
readonly internalType: "struct IClanker.VaultConfig";
readonly name: "vaultConfig";
readonly type: "tuple";
}, {
readonly components: readonly [{
readonly internalType: "address";
readonly name: "pairedToken";
readonly type: "address";
}, {
readonly internalType: "int24";
readonly name: "tickIfToken0IsNewToken";
readonly type: "int24";
}];
readonly internalType: "struct IClanker.PoolConfig";
readonly name: "poolConfig";
readonly type: "tuple";
}, {
readonly components: readonly [{
readonly internalType: "uint24";
readonly name: "pairedTokenPoolFee";
readonly type: "uint24";
}, {
readonly internalType: "uint256";
readonly name: "pairedTokenSwapAmountOutMinimum";
readonly type: "uint256";
}];
readonly internalType: "struct IClanker.InitialBuyConfig";
readonly name: "initialBuyConfig";
readonly type: "tuple";
}, {
readonly components: readonly [{
readonly internalType: "uint256";
readonly name: "creatorReward";
readonly type: "uint256";
}, {
readonly internalType: "address";
readonly name: "creatorAdmin";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "creatorRewardRecipient";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "interfaceAdmin";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "interfaceRewardRecipient";
readonly type: "address";
}];
readonly internalType: "struct IClanker.RewardsConfig";
readonly name: "rewardsConfig";
readonly type: "tuple";
}];
readonly internalType: "struct IClanker.DeploymentConfig";
readonly name: "deploymentConfig";
readonly type: "tuple";
}];
readonly name: "deployToken";
readonly outputs: readonly [{
readonly internalType: "address";
readonly name: "tokenAddress";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "positionId";
readonly type: "uint256";
}];
readonly stateMutability: "payable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly components: readonly [{
readonly components: readonly [{
readonly internalType: "string";
readonly name: "name";
readonly type: "string";
}, {
readonly internalType: "string";
readonly name: "symbol";
readonly type: "string";
}, {
readonly internalType: "bytes32";
readonly name: "salt";
readonly type: "bytes32";
}, {
readonly internalType: "string";
readonly name: "image";
readonly type: "string";
}, {
readonly internalType: "string";
readonly name: "metadata";
readonly type: "string";
}, {
readonly internalType: "string";
readonly name: "context";
readonly type: "string";
}, {
readonly internalType: "uint256";
readonly name: "originatingChainId";
readonly type: "uint256";
}];
readonly internalType: "struct IClanker.TokenConfig";
readonly name: "tokenConfig";
readonly type: "tuple";
}, {
readonly components: readonly [{
readonly internalType: "uint8";
readonly name: "vaultPercentage";
readonly type: "uint8";
}, {
readonly internalType: "uint256";
readonly name: "vaultDuration";
readonly type: "uint256";
}];
readonly internalType: "struct IClanker.VaultConfig";
readonly name: "vaultConfig";
readonly type: "tuple";
}, {
readonly components: readonly [{
readonly internalType: "address";
readonly name: "pairedToken";
readonly type: "address";
}, {
readonly internalType: "int24";
readonly name: "tickIfToken0IsNewToken";
readonly type: "int24";
}];
readonly internalType: "struct IClanker.PoolConfig";
readonly name: "poolConfig";
readonly type: "tuple";
}, {
readonly components: readonly [{
readonly internalType: "uint24";
readonly name: "pairedTokenPoolFee";
readonly type: "uint24";
}, {
readonly internalType: "uint256";
readonly name: "pairedTokenSwapAmountOutMinimum";
readonly type: "uint256";
}];
readonly internalType: "struct IClanker.InitialBuyConfig";
readonly name: "initialBuyConfig";
readonly type: "tuple";
}, {
readonly components: readonly [{
readonly internalType: "uint256";
readonly name: "creatorReward";
readonly type: "uint256";
}, {
readonly internalType: "address";
readonly name: "creatorAdmin";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "creatorRewardRecipient";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "interfaceAdmin";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "interfaceRewardRecipient";
readonly type: "address";
}];
readonly internalType: "struct IClanker.RewardsConfig";
readonly name: "rewardsConfig";
readonly type: "tuple";
}];
readonly internalType: "struct IClanker.DeploymentConfig";
readonly name: "deploymentConfig";
readonly type: "tuple";
}, {
readonly internalType: "address";
readonly name: "teamRewardRecipient";
readonly type: "address";
}];
readonly name: "deployTokenWithCustomTeamRewardRecipient";
readonly outputs: readonly [{
readonly internalType: "address";
readonly name: "tokenAddress";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "positionId";
readonly type: "uint256";
}];
readonly stateMutability: "payable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly components: readonly [{
readonly internalType: "string";
readonly name: "name";
readonly type: "string";
}, {
readonly internalType: "string";
readonly name: "symbol";
readonly type: "string";
}, {
readonly internalType: "bytes32";
readonly name: "salt";
readonly type: "bytes32";
}, {
readonly internalType: "string";
readonly name: "image";
readonly type: "string";
}, {
readonly internalType: "string";
readonly name: "metadata";
readonly type: "string";
}, {
readonly internalType: "string";
readonly name: "context";
readonly type: "string";
}, {
readonly internalType: "uint256";
readonly name: "originatingChainId";
readonly type: "uint256";
}];
readonly internalType: "struct IClanker.TokenConfig";
readonly name: "tokenConfig";
readonly type: "tuple";
}, {
readonly internalType: "address";
readonly name: "tokenAdmin";
readonly type: "address";
}];
readonly name: "deployTokenZeroSupply";
readonly outputs: readonly [{
readonly internalType: "address";
readonly name: "tokenAddress";
readonly type: "address";
}];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "";
readonly type: "address";
}];
readonly name: "deploymentInfoForToken";
readonly outputs: readonly [{
readonly internalType: "address";
readonly name: "token";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "positionId";
readonly type: "uint256";
}, {
readonly internalType: "address";
readonly name: "locker";
readonly type: "address";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "deprecated";
readonly outputs: readonly [{
readonly internalType: "bool";
readonly name: "";
readonly type: "bool";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "user";
readonly type: "address";
}];
readonly name: "getTokensDeployedByUser";
readonly outputs: readonly [{
readonly components: readonly [{
readonly internalType: "address";
readonly name: "token";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "positionId";
readonly type: "uint256";
}, {
readonly internalType: "address";
readonly name: "locker";
readonly type: "address";
}];
readonly internalType: "struct IClanker.DeploymentInfo[]";
readonly name: "";
readonly type: "tuple[]";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "uniswapV3Factory_";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "positionManager_";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "swapRouter_";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "weth_";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "liquidityLocker_";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "vault_";
readonly type: "address";
}];
readonly name: "initialize";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "liquidityLocker";
readonly outputs: readonly [{
readonly internalType: "contract ILpLockerv2";
readonly name: "";
readonly type: "address";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "owner";
readonly outputs: readonly [{
readonly internalType: "address";
readonly name: "";
readonly type: "address";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "positionManager";
readonly outputs: readonly [{
readonly internalType: "contract INonfungiblePositionManager";
readonly name: "";
readonly type: "address";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "renounceOwnership";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "admin";
readonly type: "address";
}, {
readonly internalType: "bool";
readonly name: "isAdmin";
readonly type: "bool";
}];
readonly name: "setAdmin";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "bool";
readonly name: "deprecated_";
readonly type: "bool";
}];
readonly name: "setDeprecated";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "swapRouter";
readonly outputs: readonly [{
readonly internalType: "contract ISwapRouter";
readonly name: "";
readonly type: "address";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "";
readonly type: "uint256";
}];
readonly name: "tokensDeployedByUsers";
readonly outputs: readonly [{
readonly internalType: "address";
readonly name: "token";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "positionId";
readonly type: "uint256";
}, {
readonly internalType: "address";
readonly name: "locker";
readonly type: "address";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "newOwner";
readonly type: "address";
}];
readonly name: "transferOwnership";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "uniswapV3Factory";
readonly outputs: readonly [{
readonly internalType: "contract IUniswapV3Factory";
readonly name: "";
readonly type: "address";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "newLocker";
readonly type: "address";
}];
readonly name: "updateLiquidityLocker";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "newVault";
readonly type: "address";
}];
readonly name: "updateVault";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "vault";
readonly outputs: readonly [{
readonly internalType: "contract IClankerVault";
readonly name: "";
readonly type: "address";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "weth";
readonly outputs: readonly [{
readonly internalType: "address";
readonly name: "";
readonly type: "address";
}];
readonly stateMutability: "view";
readonly type: "function";
}], "deployToken"> & {
expectedAddress?: `0x${string}`;
}>;
/**
* Simulate a token deployment
*
* @param token The token to deploy
* @param requestorAddress Requestor for the deployment. Various admins will fall back to this.
* @returns Abi transaction
*/
deploySimulate(token: ClankerTokenV3, account?: Account): Promise<(viem.SimulateContractReturnType<ClankerFactory, "claimRewards" | "deployToken" | "deployTokenWithCustomTeamRewardRecipient" | "deployTokenZeroSupply" | "initialize" | "renounceOwnership" | "setAdmin" | "setDeprecated" | "transferOwnership" | "updateLiquidityLocker" | "updateVault" | "claimTeamFees" | "setExtension" | "setHook" | "setLocker" | "setMevModule" | "setTeamFeeRecipient"> & {
error?: undefined;
}) | ({
result?: undefined;
request?: undefined;
} & {
error: ClankerError;
})>;
/**
* Deploy a token
*
* @param token The token to deploy
* @returns Transaction hash and awaitable function for full deployment
*/
deploy(token: ClankerTokenV3): Promise<({
txHash: `0x${string}`;
waitForTransaction: () => ClankerResult<{
address: `0x${string}`;
}>;
} & {
error?: undefined;
}) | ({
txHash?: undefined;
waitForTransaction?: undefined;
} & {
error: ClankerError;
})>;
}
export { Clanker };