uniderp-mcp
Version:
> A plug-and-play MCP tool server to **send ETH**, **transfer ERC-20 tokens**, **deploy tokens**, and **interact with smart contracts** on the **UNICHAIN** — built for **Claude Desktop**, **AI agents**, and **developers.**
872 lines (871 loc) • 23.1 kB
JavaScript
export const portfolioTokenFactoryAbi = [
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: "address",
name: "previousAdmin",
type: "address",
},
{
indexed: false,
internalType: "address",
name: "newAdmin",
type: "address",
},
],
name: "AdminChanged",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "beacon",
type: "address",
},
],
name: "BeaconUpgraded",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: "uint8",
name: "version",
type: "uint8",
},
],
name: "Initialized",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: "address",
name: "oldLocker",
type: "address",
},
{
indexed: false,
internalType: "address",
name: "newLocker",
type: "address",
},
],
name: "LiquidityLockerUpdated",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "bytes32",
name: "role",
type: "bytes32",
},
{
indexed: true,
internalType: "bytes32",
name: "previousAdminRole",
type: "bytes32",
},
{
indexed: true,
internalType: "bytes32",
name: "newAdminRole",
type: "bytes32",
},
],
name: "RoleAdminChanged",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "bytes32",
name: "role",
type: "bytes32",
},
{
indexed: true,
internalType: "address",
name: "account",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "sender",
type: "address",
},
],
name: "RoleGranted",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "bytes32",
name: "role",
type: "bytes32",
},
{
indexed: true,
internalType: "address",
name: "account",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "sender",
type: "address",
},
],
name: "RoleRevoked",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: "uint256",
name: "lpTokenId",
type: "uint256",
},
{
indexed: false,
internalType: "address",
name: "tokenAddress",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "creatorAddress",
type: "address",
},
{
indexed: false,
internalType: "string",
name: "symbol",
type: "string",
},
{
indexed: false,
internalType: "int24",
name: "startingTickIfToken0IsNewToken",
type: "int24",
},
{
indexed: false,
internalType: "uint256",
name: "amountTokensBought",
type: "uint256",
},
],
name: "TokenCreated",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "implementation",
type: "address",
},
],
name: "Upgraded",
type: "event",
},
{
inputs: [],
name: "DEFAULT_ADMIN_ROLE",
outputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "MAX_TICK",
outputs: [
{
internalType: "int24",
name: "",
type: "int24",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "POOL_FEE",
outputs: [
{
internalType: "uint24",
name: "",
type: "uint24",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "TICK_SPACING",
outputs: [
{
internalType: "int24",
name: "",
type: "int24",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "TOKEN_SUPPLY",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "token",
type: "address",
},
],
name: "claimRewards",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "deployFee",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
components: [
{
components: [
{
internalType: "uint256",
name: "buyPairedAmount",
type: "uint256",
},
{
internalType: "uint256",
name: "minTokenAmount",
type: "uint256",
},
],
internalType: "struct IUniMemeLauncher.InitialBuyConfig",
name: "initialBuyConfig",
type: "tuple",
},
{
components: [
{
internalType: "string",
name: "name",
type: "string",
},
{
internalType: "string",
name: "symbol",
type: "string",
},
{
internalType: "bytes32",
name: "salt",
type: "bytes32",
},
],
internalType: "struct IUniMemeLauncher.TokenConfig",
name: "tokenConfig",
type: "tuple",
},
{
components: [
{
internalType: "address",
name: "pairedToken",
type: "address",
},
{
internalType: "int24",
name: "tickIfToken0IsNewToken",
type: "int24",
},
],
internalType: "struct IUniMemeLauncher.PoolConfig",
name: "poolConfig",
type: "tuple",
},
{
internalType: "address",
name: "referrer",
type: "address",
},
],
internalType: "struct IUniMemeLauncher.DeploymentConfig",
name: "deploymentConfig",
type: "tuple",
},
],
name: "deployToken",
outputs: [
{
internalType: "address",
name: "tokenAddress",
type: "address",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
components: [
{
components: [
{
internalType: "uint256",
name: "buyPairedAmount",
type: "uint256",
},
{
internalType: "uint256",
name: "minTokenAmount",
type: "uint256",
},
],
internalType: "struct IUniMemeLauncher.InitialBuyConfig",
name: "initialBuyConfig",
type: "tuple",
},
{
components: [
{
internalType: "string",
name: "name",
type: "string",
},
{
internalType: "string",
name: "symbol",
type: "string",
},
{
internalType: "bytes32",
name: "salt",
type: "bytes32",
},
],
internalType: "struct IUniMemeLauncher.TokenConfig",
name: "tokenConfig",
type: "tuple",
},
{
components: [
{
internalType: "address",
name: "pairedToken",
type: "address",
},
{
internalType: "int24",
name: "tickIfToken0IsNewToken",
type: "int24",
},
],
internalType: "struct IUniMemeLauncher.PoolConfig",
name: "poolConfig",
type: "tuple",
},
{
internalType: "address",
name: "referrer",
type: "address",
},
],
internalType: "struct IUniMemeLauncher.DeploymentConfig",
name: "deploymentConfig",
type: "tuple",
},
],
name: "deployTokenWithEth",
outputs: [
{
internalType: "address",
name: "tokenAddress",
type: "address",
},
],
stateMutability: "payable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
name: "deploymentInfoForToken",
outputs: [
{
internalType: "uint256",
name: "lpTokenId",
type: "uint256",
},
{
internalType: "address",
name: "token",
type: "address",
},
{
internalType: "address",
name: "locker",
type: "address",
},
{
internalType: "address",
name: "creator",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "bytes32",
name: "role",
type: "bytes32",
},
],
name: "getRoleAdmin",
outputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "user",
type: "address",
},
],
name: "getTokensDeployedByUser",
outputs: [
{
components: [
{
internalType: "uint256",
name: "lpTokenId",
type: "uint256",
},
{
internalType: "address",
name: "token",
type: "address",
},
{
internalType: "address",
name: "locker",
type: "address",
},
{
internalType: "address",
name: "creator",
type: "address",
},
],
internalType: "struct IUniMemeLauncher.DeploymentInfo[]",
name: "",
type: "tuple[]",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "bytes32",
name: "role",
type: "bytes32",
},
{
internalType: "address",
name: "account",
type: "address",
},
],
name: "grantRole",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "bytes32",
name: "role",
type: "bytes32",
},
{
internalType: "address",
name: "account",
type: "address",
},
],
name: "hasRole",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "hooks",
outputs: [
{
internalType: "contract IHooks",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "positionManager_",
type: "address",
},
{
internalType: "address",
name: "swapRouter_",
type: "address",
},
{
internalType: "address",
name: "liquidityLocker_",
type: "address",
},
{
internalType: "uint256",
name: "deployFee_",
type: "uint256",
},
],
name: "initialize",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "liquidityLocker",
outputs: [
{
internalType: "contract IUniMemeLpLockerv2",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "positionManager",
outputs: [
{
internalType: "contract IPositionManager",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "proxiableUUID",
outputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "bytes32",
name: "role",
type: "bytes32",
},
{
internalType: "address",
name: "account",
type: "address",
},
],
name: "renounceRole",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "bytes32",
name: "role",
type: "bytes32",
},
{
internalType: "address",
name: "account",
type: "address",
},
],
name: "revokeRole",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "deployFee_",
type: "uint256",
},
],
name: "setDeployFee",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "hooks_",
type: "address",
},
],
name: "setHooks",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "posm_",
type: "address",
},
],
name: "setPosm",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "bytes4",
name: "interfaceId",
type: "bytes4",
},
],
name: "supportsInterface",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "swapRouter",
outputs: [
{
internalType: "contract UniV4Router",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
name: "tokensDeployedByUsers",
outputs: [
{
internalType: "uint256",
name: "lpTokenId",
type: "uint256",
},
{
internalType: "address",
name: "token",
type: "address",
},
{
internalType: "address",
name: "locker",
type: "address",
},
{
internalType: "address",
name: "creator",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "newLocker",
type: "address",
},
],
name: "updateLiquidityLocker",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "newImplementation",
type: "address",
},
],
name: "upgradeTo",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "newImplementation",
type: "address",
},
{
internalType: "bytes",
name: "data",
type: "bytes",
},
],
name: "upgradeToAndCall",
outputs: [],
stateMutability: "payable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "recipient",
type: "address",
},
],
name: "withdrawETH",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
];