/**
 * Program IDL in camelCase format in order to be used in JS/TS.
 *
 * Note that this is only a type helper and is not the actual IDL. The original
 * IDL can be found at `target/idl/liqsol_token.json`.
 */
export type LiqsolToken = {
  "address": "5MRFSLCkXPEzfR6gkcZCVttq9g83mMUHyTZ85Z3TSpvU",
  "metadata": {
    "name": "liqsolToken",
    "version": "0.1.0",
    "spec": "0.1.0",
    "description": "Liquidity Staking Token Program"
  },
  "instructions": [
    {
      "name": "createMintAccount",
      "discriminator": [
        76,
        184,
        50,
        62,
        162,
        141,
        47,
        103
      ],
      "accounts": [
        {
          "name": "payer",
          "writable": true,
          "signer": true
        },
        {
          "name": "mintAuthority"
        },
        {
          "name": "receiver"
        },
        {
          "name": "mint",
          "docs": [
            "The mint PDA - deterministic address for liqSOL token"
          ],
          "writable": true
        },
        {
          "name": "mintTokenAccount",
          "writable": true
        },
        {
          "name": "systemProgram"
        },
        {
          "name": "associatedTokenProgram"
        },
        {
          "name": "tokenProgram"
        }
      ],
      "args": [
        {
          "name": "args",
          "type": {
            "defined": {
              "name": "createMintAccountArgs"
            }
          }
        }
      ]
    },
    {
      "name": "mintForAuthorizedProgram",
      "discriminator": [
        116,
        208,
        64,
        189,
        2,
        60,
        50,
        41
      ],
      "accounts": [
        {
          "name": "mint",
          "writable": true
        },
        {
          "name": "recipientTokenAccount",
          "writable": true
        },
        {
          "name": "programAuthority",
          "docs": [
            "The calling program's authority PDA that proves authorization to mint"
          ],
          "writable": true,
          "signer": true
        },
        {
          "name": "mintAuthority"
        },
        {
          "name": "instructions"
        },
        {
          "name": "tokenProgram"
        }
      ],
      "args": [
        {
          "name": "args",
          "type": {
            "defined": {
              "name": "mintTokenArgs"
            }
          }
        }
      ]
    }
  ],
  "errors": [
    {
      "code": 6000,
      "name": "invalidMintAuthority",
      "msg": "Invalid mint authority"
    },
    {
      "code": 6001,
      "name": "unauthorizedProgram",
      "msg": "Unauthorized program attempting to mint"
    },
    {
      "code": 6002,
      "name": "cannotDetermineCallingProgram",
      "msg": "Cannot determine calling program"
    },
    {
      "code": 6003,
      "name": "directCallNotAllowed",
      "msg": "Direct calls not allowed, must be called via CPI"
    },
    {
      "code": 6004,
      "name": "invalidProgramId",
      "msg": "Invalid program ID"
    },
    {
      "code": 6005,
      "name": "unauthorizedAuthority",
      "msg": "Unauthorized authority PDA"
    }
  ],
  "types": [
    {
      "name": "createMintAccountArgs",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "name",
            "type": "string"
          },
          {
            "name": "symbol",
            "type": "string"
          },
          {
            "name": "uri",
            "type": "string"
          }
        ]
      }
    },
    {
      "name": "mintTokenArgs",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "amount",
            "type": "u64"
          }
        ]
      }
    }
  ]
};
