soda_sol 0.1.1

Generates Solana Projects from an IDL
Documentation
{
  "version": "0.1.0",
  "name": "four_in_line",
  "instructions": [
    {
      "name": "createGame",
      "accounts": [
        {
          "name": "game",
          "isMut": true,
          "isSigner": false,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "type": "string",
                "value": "game"
              },
              {
                "kind": "arg",
                "type": "string",
                "path": "name"
              }
            ]
          }
        },
        {
          "name": "payer",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "name",
          "type": "string"
        },
        {
          "name": "players",
          "type": {
            "vec": "publicKey"
          }
        },
        {
          "name": "gameType",
          "type": "string"
        }
      ]
    },
    {
      "name": "playGame",
      "accounts": [
        {
          "name": "game",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "payer",
          "isMut": true,
          "isSigner": false
        },
        {
          "name": "systemProgram",
          "isMut": false,
          "isSigner": false
        }
      ],
      "args": [
        {
          "name": "play",
          "type": "u8"
        }
      ]
    }
  ],
  "accounts": [
    {
      "name": "Game",
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "name",
            "type": "string"
          },
          {
            "name": "gameType",
            "type": "string"
          },
          {
            "name": "board",
            "type": {
              "vec": {
                "defined": "Play"
              }
            }
          },
          {
            "name": "players",
            "type": {
              "vec": "publicKey"
            }
          },
          {
            "name": "turn",
            "type": "u8"
          },
          {
            "name": "status",
            "type": "string"
          }
        ]
      }
    }
  ],
  "types": [
    {
      "name": "Play",
      "type": {
        "kind": "enum",
        "variants": [
          {
            "name": "Empty"
          },
          {
            "name": "X"
          },
          {
            "name": "O"
          }
        ]
      }
    }
  ],
  "events": [
    {
      "name": "GameCreated",
      "fields": [
        {
          "name": "name",
          "type": "string",
          "index": false
        }
      ]
    },
    {
      "name": "GameUpdated",
      "fields": [
        {
          "name": "name",
          "type": "string",
          "index": false
        },
        {
          "name": "board",
          "type": {
            "vec": {
              "defined": "Play"
            }
          },
          "index": false
        },
        {
          "name": "status",
          "type": "string",
          "index": false
        }
      ]
    }
  ],
  "errors": [
    {
      "code": 6000,
      "name": "IncorrectUser",
      "msg": "Isn't your turn to play"
    },
    {
      "code": 6001,
      "name": "InvalidCell",
      "msg": "You can't use this cell now"
    },
    {
      "code": 6002,
      "name": "FinishedGame",
      "msg": "You can't play, this game status is ended"
    }
  ],
  "metadata": {
    "address": "D17ocZkgrhNYizSp415zod3Nsd7BHBqjSTAFnPU9WG8A"
  }
}