Skip to content

clanker-devco/v3.1-contracts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

v3.1-contracts

Smart contracts of Clanker v3.1

Clanker is an autonomous agent for deploying tokens. Currently, users may request clanker to deploy an ERC-20 token on Base by tagging @clanker on Farcaster, on our website clanker.world, by using one of our interface partners, or through the smart contracts directly. This repo contains the onchain code utilized by the clanker agent for token deployment, vaulting, and LP fee distribution.

Documentation for the v3.1.0 contracts can be found here and our general docs can be found here.

Fee structure and rewards

As Clanker deploys tokens, it initiates 1% fee Uniswap V3 pools on Base. As each token is traded, 1% of each swap in this pool is collected and is assigned as a reward:

  • 20% of swap fees - Clanker Team
  • 80% of fees split between creator and interface (immutable after token deployment)

Deployed Contracts

Check out our dune dashboards for token stats and our website clanker.world to see the clanker tokens in action and to launch a token from a form interface.

v3.1.0 (Base Mainnet), tag: v3.1

v3.1.0 (Abstract Mainnet), tag: v3.1-no-superchain

v3.1.0 (Base Sepolia)

v3.1.0 (Monad Testnet)

If you'd like these contracts on another chain, please reach out to us! For superchain purposes, we need to ensure that the Clanker contracts have the same address.

Usage

Token deployers should use the Clanker::deployToken() function to deploy tokens.

Note that the follow parameters are needed for deployment:

/**
 * Configuration settings for token creation
 */

struct RewardsConfig {
    uint256 creatorReward;
    address creatorAdmin;
    address creatorRewardRecipient;
    address interfaceAdmin;
    address interfaceRewardRecipient;
}

struct TokenConfig {
    string name;
    string symbol;
    bytes32 salt;
    string image;
    string metadata;
    string context;
    uint256 originatingChainId;
}

struct VaultConfig {
    uint8 vaultPercentage;
    uint256 vaultDuration;
}

struct PoolConfig {
    address pairedToken;
    int24 tickIfToken0IsNewToken;
}

struct InitialBuyConfig {
    uint24 pairedTokenPoolFee;
    uint256 pairedTokenSwapAmountOutMinimum;
}

struct DeploymentConfig {
    TokenConfig tokenConfig;
    VaultConfig vaultConfig;
    PoolConfig poolConfig;
    InitialBuyConfig initialBuyConfig;
    RewardsConfig rewardsConfig;
}

function deployToken(DeploymentConfig tokenConfig) external payable {...}

Explanation of the parameters are in the specs folder. Please reach out to us if you have any questions!

About

Smart contracts of Clanker v3.1

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors