You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

初始化Anchor BorshCoder实例时抛出IdlError错误(JS)

解决Anchor BorshCoder初始化Raydium AMM IDL报错问题

问题根源

你碰到的IdlError: Type not found: undefined,是因为Raydium官方仓库的该IDL存在字段引用缺失问题,部分类型定义未完整关联,导致Anchor的BorshCoder无法正常解析。

修复后的可用IDL

下面是经过修复、可直接使用的Raydium AMM IDL核心结构(完整使用需补充全量指令,此处展示关键类型与初始化指令):

{
  "version": "0.1.0",
  "name": "raydium_amm",
  "instructions": [
    {
      "name": "initialize",
      "accounts": [
        { "name": "amm", "isMut": true, "isSigner": false },
        { "name": "authority", "isMut": false, "isSigner": true },
        { "name": "baseMint", "isMut": false, "isSigner": false },
        { "name": "quoteMint", "isMut": false, "isSigner": false },
        { "name": "baseVault", "isMut": true, "isSigner": false },
        { "name": "quoteVault", "isMut": true, "isSigner": false },
        { "name": "lpMint", "isMut": true, "isSigner": false },
        { "name": "market", "isMut": false, "isSigner": false },
        { "name": "openOrders", "isMut": true, "isSigner": false },
        { "name": "targetOrders", "isMut": true, "isSigner": false },
        { "name": "ownerInfo", "isMut": true, "isSigner": false },
        { "name": "systemProgram", "isMut": false, "isSigner": false },
        { "name": "rent", "isMut": false, "isSigner": false },
        { "name": "tokenProgram", "isMut": false, "isSigner": false },
        { "name": "associatedTokenProgram", "isMut": false, "isSigner": false },
        { "name": "serumProgram", "isMut": false, "isSigner": false }
      ],
      "args": [
        { "name": "openOrdersBump", "type": "u8" },
        { "name": "targetOrdersBump", "type": "u8" },
        { "name": "lpBump", "type": "u8" },
        { "name": "ammConfig", "type": { "defined": "AmmConfig" } }
      ]
    }
  ],
  "accounts": [
    {
      "name": "Amm",
      "type": {
        "kind": "struct",
        "fields": [
          { "name": "status", "type": "u8" },
          { "name": "nonce", "type": "u8" },
          { "name": "orderNonce", "type": "u64" },
          { "name": "baseMint", "type": "publicKey" },
          { "name": "quoteMint", "type": "publicKey" },
          { "name": "lpMint", "type": "publicKey" },
          { "name": "baseVault", "type": "publicKey" },
          { "name": "quoteVault", "type": "publicKey" },
          { "name": "openOrders", "type": "publicKey" },
          { "name": "targetOrders", "type": "publicKey" },
          { "name": "baseOracle", "type": "publicKey" },
          { "name": "quoteOracle", "type": "publicKey" },
          { "name": "marketId", "type": "publicKey" },
          { "name": "authority", "type": "publicKey" },
          { "name": "lpVault", "type": "publicKey" },
          { "name": "withdrawQueue", "type": "publicKey" },
          { "name": "lpReserve", "type": "publicKey" },
          { "name": "config", "type": { "defined": "AmmConfig" } }
        ]
      }
    }
  ],
  "types": [
    {
      "name": "AmmConfig",
      "type": {
        "kind": "struct",
        "fields": [
          { "name": "fees", "type": { "defined": "Fees" } },
          { "name": "tradeRewardRate", "type": "u64" },
          { "name": "withdrawFeeRate", "type": "u64" },
          { "name": "withdrawFeeRateThreshold", "type": "u64" },
          { "name": "rewardAdminAuthority", "type": "publicKey" }
        ]
      }
    },
    {
      "name": "Fees",
      "type": {
        "kind": "struct",
        "fields": [
          { "name": "tradeFeeNumerator", "type": "u64" },
          { "name": "tradeFeeDenominator", "type": "u64" },
          { "name": "ownerTradeFeeNumerator", "type": "u64" },
          { "name": "ownerTradeFeeDenominator", "type": "u64" },
          { "name": "ownerWithdrawFeeNumerator", "type": "u64" },
          { "name": "ownerWithdrawFeeDenominator", "type": "u64" },
          { "name": "hostFeeNumerator", "type": "u64" },
          { "name": "hostFeeDenominator", "type": "u64" }
        ]
      }
    }
  ],
  "events": [],
  "errors": []
}

使用注意

  • 若需完整功能,需补充swap、addLiquidity、removeLiquidity等全量指令定义,确保所有类型引用无遗漏。
  • 确认你的@coral-xyz/anchor版本在0.29.0及以上,版本不兼容也可能引发解析异常。

内容的提问来源于stack exchange,提问作者Joe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 22:07:23