{
    "address": "ViDArcFahV8Csf8wQomc8kvCLmXxF8d1hV5FaYX68yQ",
    "metadata": {
        "name": "vidar_amm",
        "version": "0.1.0",
        "spec": "0.1.0",
        "description": "Created with Anchor"
    },
    "instructions": [
        {
            "name": "add_liquidity",
            "discriminator": [
                181,
                157,
                89,
                67,
                143,
                182,
                52,
                72
            ],
            "accounts": [
                {
                    "name": "user",
                    "writable": true,
                    "signer": true
                },
                {
                    "name": "pool",
                    "writable": true
                },
                {
                    "name": "user_token_a",
                    "writable": true
                },
                {
                    "name": "user_token_b",
                    "writable": true
                },
                {
                    "name": "vault_a",
                    "writable": true
                },
                {
                    "name": "vault_b",
                    "writable": true
                },
                {
                    "name": "lp_mint",
                    "writable": true
                },
                {
                    "name": "user_lp_token",
                    "writable": true
                },
                {
                    "name": "authority",
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [
                                    97,
                                    117,
                                    116,
                                    104,
                                    111,
                                    114,
                                    105,
                                    116,
                                    121
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "pool"
                            }
                        ]
                    }
                },
                {
                    "name": "position",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [
                                    112,
                                    111,
                                    115,
                                    105,
                                    116,
                                    105,
                                    111,
                                    110
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "pool"
                            },
                            {
                                "kind": "account",
                                "path": "user"
                            }
                        ]
                    }
                },
                {
                    "name": "token_program",
                    "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
                },
                {
                    "name": "system_program",
                    "address": "11111111111111111111111111111111"
                },
                {
                    "name": "rent",
                    "address": "SysvarRent111111111111111111111111111111111"
                }
            ],
            "args": [
                {
                    "name": "amount_a",
                    "type": "u64"
                },
                {
                    "name": "amount_b",
                    "type": "u64"
                }
            ]
        },
        {
            "name": "calculate_swap_output",
            "discriminator": [
                152,
                241,
                173,
                58,
                148,
                31,
                156,
                19
            ],
            "accounts": [
                {
                    "name": "pool"
                },
                {
                    "name": "vault_source"
                },
                {
                    "name": "vault_destination"
                }
            ],
            "args": [
                {
                    "name": "args",
                    "type": {
                        "defined": {
                            "name": "CalculateSwapArgs"
                        }
                    }
                }
            ]
        },
        {
            "name": "cancel_commit",
            "discriminator": [
                158,
                121,
                111,
                125,
                253,
                235,
                148,
                78
            ],
            "accounts": [
                {
                    "name": "caller",
                    "writable": true,
                    "signer": true
                },
                {
                    "name": "commit",
                    "writable": true
                },
                {
                    "name": "pool",
                    "writable": true
                },
                {
                    "name": "commit_index",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [
                                    99,
                                    111,
                                    109,
                                    109,
                                    105,
                                    116,
                                    95,
                                    105,
                                    110,
                                    100,
                                    101,
                                    120
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "pool"
                            },
                            {
                                "kind": "account",
                                "path": "user"
                            }
                        ]
                    }
                },
                {
                    "name": "refund_to"
                },
                {
                    "name": "user"
                }
            ],
            "args": []
        },
        {
            "name": "claim_fees",
            "discriminator": [
                82,
                251,
                233,
                156,
                12,
                52,
                184,
                202
            ],
            "accounts": [
                {
                    "name": "user",
                    "writable": true,
                    "signer": true
                },
                {
                    "name": "stake_account",
                    "writable": true
                },
                {
                    "name": "pool",
                    "writable": true
                },
                {
                    "name": "reward_vault",
                    "writable": true
                },
                {
                    "name": "user_reward_account",
                    "writable": true
                },
                {
                    "name": "authority",
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [
                                    97,
                                    117,
                                    116,
                                    104,
                                    111,
                                    114,
                                    105,
                                    116,
                                    121
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "pool"
                            }
                        ]
                    }
                },
                {
                    "name": "token_program",
                    "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
                }
            ],
            "args": []
        },
        {
            "name": "claim_protocol_fees",
            "discriminator": [
                34,
                142,
                219,
                112,
                109,
                54,
                133,
                23
            ],
            "accounts": [
                {
                    "name": "pool",
                    "writable": true
                },
                {
                    "name": "fee_vault",
                    "writable": true
                },
                {
                    "name": "treasury",
                    "writable": true
                },
                {
                    "name": "authority",
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [
                                    97,
                                    117,
                                    116,
                                    104,
                                    111,
                                    114,
                                    105,
                                    116,
                                    121
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "pool"
                            }
                        ]
                    }
                },
                {
                    "name": "token_program",
                    "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
                }
            ],
            "args": []
        },
        {
            "name": "claim_rewards",
            "discriminator": [
                4,
                144,
                132,
                71,
                116,
                23,
                151,
                80
            ],
            "accounts": [
                {
                    "name": "user",
                    "writable": true,
                    "signer": true
                },
                {
                    "name": "pool",
                    "writable": true
                },
                {
                    "name": "stake_account",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [
                                    115,
                                    116,
                                    97,
                                    107,
                                    101
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "pool"
                            },
                            {
                                "kind": "account",
                                "path": "user"
                            }
                        ]
                    }
                },
                {
                    "name": "staking_reward_vault",
                    "writable": true
                },
                {
                    "name": "lp_stake_vault",
                    "writable": true
                },
                {
                    "name": "user_reward_account",
                    "writable": true
                },
                {
                    "name": "authority",
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [
                                    97,
                                    117,
                                    116,
                                    104,
                                    111,
                                    114,
                                    105,
                                    116,
                                    121
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "pool"
                            }
                        ]
                    }
                },
                {
                    "name": "token_program",
                    "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
                }
            ],
            "args": []
        },
        {
            "name": "claim_staking_fees",
            "discriminator": [
                41,
                122,
                96,
                254,
                10,
                172,
                37,
                75
            ],
            "accounts": [
                {
                    "name": "user",
                    "writable": true,
                    "signer": true
                },
                {
                    "name": "pool",
                    "writable": true
                },
                {
                    "name": "stake_account",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [
                                    115,
                                    116,
                                    97,
                                    107,
                                    101
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "pool"
                            },
                            {
                                "kind": "account",
                                "path": "user"
                            }
                        ]
                    }
                },
                {
                    "name": "staking_reward_vault",
                    "writable": true
                },
                {
                    "name": "user_reward_account",
                    "writable": true
                },
                {
                    "name": "authority",
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [
                                    97,
                                    117,
                                    116,
                                    104,
                                    111,
                                    114,
                                    105,
                                    116,
                                    121
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "pool"
                            }
                        ]
                    }
                },
                {
                    "name": "token_program",
                    "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
                }
            ],
            "args": []
        },
        {
            "name": "configure_pool",
            "discriminator": [
                122,
                51,
                212,
                114,
                239,
                222,
                177,
                163
            ],
            "accounts": [
                {
                    "name": "pool",
                    "writable": true
                },
                {
                    "name": "admin",
                    "signer": true,
                    "relations": [
                        "pool"
                    ]
                }
            ],
            "args": [
                {
                    "name": "fee_basis_points",
                    "type": "u16"
                },
                {
                    "name": "is_stable",
                    "type": "u8"
                },
                {
                    "name": "pause",
                    "type": "u8"
                }
            ]
        },
        {
            "name": "create_liquidity_position",
            "discriminator": [
                139,
                114,
                205,
                81,
                29,
                227,
                80,
                50
            ],
            "accounts": [
                {
                    "name": "user",
                    "writable": true,
                    "signer": true
                },
                {
                    "name": "pool",
                    "writable": true
                },
                {
                    "name": "position",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [
                                    112,
                                    111,
                                    115,
                                    105,
                                    116,
                                    105,
                                    111,
                                    110
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "pool"
                            },
                            {
                                "kind": "account",
                                "path": "user"
                            }
                        ]
                    }
                },
                {
                    "name": "system_program",
                    "address": "11111111111111111111111111111111"
                },
                {
                    "name": "rent",
                    "address": "SysvarRent111111111111111111111111111111111"
                }
            ],
            "args": []
        },
        {
            "name": "emergency_withdraw",
            "discriminator": [
                239,
                45,
                203,
                64,
                150,
                73,
                218,
                92
            ],
            "accounts": [
                {
                    "name": "user",
                    "writable": true,
                    "signer": true
                },
                {
                    "name": "stake_account",
                    "writable": true
                },
                {
                    "name": "pool",
                    "writable": true
                },
                {
                    "name": "stake_vault",
                    "writable": true
                },
                {
                    "name": "user_lp_token",
                    "writable": true
                },
                {
                    "name": "authority",
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [
                                    97,
                                    117,
                                    116,
                                    104,
                                    111,
                                    114,
                                    105,
                                    116,
                                    121
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "pool"
                            }
                        ]
                    }
                },
                {
                    "name": "token_program",
                    "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
                }
            ],
            "args": []
        },
        {
            "name": "init_pool",
            "discriminator": [
                116,
                233,
                199,
                204,
                115,
                159,
                171,
                36
            ],
            "accounts": [
                {
                    "name": "pool",
                    "writable": true
                },
                {
                    "name": "admin",
                    "signer": true
                },
                {
                    "name": "authority"
                },
                {
                    "name": "vault_a"
                },
                {
                    "name": "vault_b"
                },
                {
                    "name": "fee_vault"
                },
                {
                    "name": "staking_reward_vault"
                },
                {
                    "name": "lp_stake_vault"
                }
            ],
            "args": []
        },
        {
            "name": "init_pool_meta",
            "discriminator": [
                122,
                252,
                178,
                102,
                28,
                97,
                101,
                127
            ],
            "accounts": [
                {
                    "name": "payer",
                    "writable": true,
                    "signer": true
                },
                {
                    "name": "pool",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [
                                    112,
                                    111,
                                    111,
                                    108
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "token_a"
                            },
                            {
                                "kind": "account",
                                "path": "token_b"
                            },
                            {
                                "kind": "arg",
                                "path": "params.fee_basis_points"
                            }
                        ]
                    }
                },
                {
                    "name": "authority",
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [
                                    97,
                                    117,
                                    116,
                                    104,
                                    111,
                                    114,
                                    105,
                                    116,
                                    121
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "pool"
                            }
                        ]
                    }
                },
                {
                    "name": "token_a"
                },
                {
                    "name": "token_b"
                },
                {
                    "name": "lp_mint",
                    "writable": true
                },
                {
                    "name": "system_program",
                    "address": "11111111111111111111111111111111"
                },
                {
                    "name": "rent",
                    "address": "SysvarRent111111111111111111111111111111111"
                }
            ],
            "args": [
                {
                    "name": "params",
                    "type": {
                        "defined": {
                            "name": "PoolParams"
                        }
                    }
                }
            ]
        },
        {
            "name": "initialize_stake",
            "discriminator": [
                33,
                175,
                216,
                4,
                116,
                130,
                164,
                177
            ],
            "accounts": [
                {
                    "name": "user",
                    "writable": true,
                    "signer": true
                },
                {
                    "name": "pool",
                    "writable": true
                },
                {
                    "name": "stake_vault",
                    "writable": true
                },
                {
                    "name": "user_lp_token",
                    "writable": true
                },
                {
                    "name": "authority",
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [
                                    97,
                                    117,
                                    116,
                                    104,
                                    111,
                                    114,
                                    105,
                                    116,
                                    121
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "pool"
                            }
                        ]
                    }
                },
                {
                    "name": "stake_account",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [
                                    115,
                                    116,
                                    97,
                                    107,
                                    101
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "pool"
                            },
                            {
                                "kind": "account",
                                "path": "user"
                            }
                        ]
                    }
                },
                {
                    "name": "token_program",
                    "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
                },
                {
                    "name": "system_program",
                    "address": "11111111111111111111111111111111"
                },
                {
                    "name": "rent",
                    "address": "SysvarRent111111111111111111111111111111111"
                }
            ],
            "args": []
        },
        {
            "name": "refresh_oracle",
            "discriminator": [
                110,
                168,
                158,
                3,
                43,
                46,
                41,
                91
            ],
            "accounts": [
                {
                    "name": "pool",
                    "writable": true
                },
                {
                    "name": "vault_a"
                },
                {
                    "name": "vault_b"
                }
            ],
            "args": [
                {
                    "name": "args",
                    "type": {
                        "defined": {
                            "name": "RefreshOracleArgs"
                        }
                    }
                }
            ]
        },
        {
            "name": "remove_liquidity",
            "discriminator": [
                80,
                85,
                209,
                72,
                24,
                206,
                177,
                108
            ],
            "accounts": [
                {
                    "name": "user",
                    "writable": true,
                    "signer": true
                },
                {
                    "name": "pool",
                    "writable": true
                },
                {
                    "name": "vault_a",
                    "writable": true
                },
                {
                    "name": "vault_b",
                    "writable": true
                },
                {
                    "name": "user_token_a",
                    "writable": true
                },
                {
                    "name": "user_token_b",
                    "writable": true
                },
                {
                    "name": "lp_mint",
                    "writable": true
                },
                {
                    "name": "user_lp_token",
                    "writable": true
                },
                {
                    "name": "position",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [
                                    112,
                                    111,
                                    115,
                                    105,
                                    116,
                                    105,
                                    111,
                                    110
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "pool"
                            },
                            {
                                "kind": "account",
                                "path": "user"
                            }
                        ]
                    }
                },
                {
                    "name": "authority",
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [
                                    97,
                                    117,
                                    116,
                                    104,
                                    111,
                                    114,
                                    105,
                                    116,
                                    121
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "pool"
                            }
                        ]
                    }
                },
                {
                    "name": "token_program",
                    "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
                }
            ],
            "args": [
                {
                    "name": "lp_amount",
                    "type": "u64"
                }
            ]
        },
        {
            "name": "stake",
            "discriminator": [
                206,
                176,
                202,
                18,
                200,
                209,
                179,
                108
            ],
            "accounts": [
                {
                    "name": "user",
                    "writable": true,
                    "signer": true
                },
                {
                    "name": "pool",
                    "writable": true
                },
                {
                    "name": "stake_vault",
                    "writable": true
                },
                {
                    "name": "user_lp_token",
                    "writable": true
                },
                {
                    "name": "authority",
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [
                                    97,
                                    117,
                                    116,
                                    104,
                                    111,
                                    114,
                                    105,
                                    116,
                                    121
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "pool"
                            }
                        ]
                    }
                },
                {
                    "name": "stake_account",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [
                                    115,
                                    116,
                                    97,
                                    107,
                                    101
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "pool"
                            },
                            {
                                "kind": "account",
                                "path": "user"
                            }
                        ]
                    }
                },
                {
                    "name": "token_program",
                    "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
                },
                {
                    "name": "system_program",
                    "address": "11111111111111111111111111111111"
                },
                {
                    "name": "rent",
                    "address": "SysvarRent111111111111111111111111111111111"
                }
            ],
            "args": [
                {
                    "name": "amount",
                    "type": "u64"
                }
            ]
        },
        {
            "name": "swap",
            "discriminator": [
                248,
                198,
                158,
                145,
                225,
                117,
                135,
                200
            ],
            "accounts": [
                {
                    "name": "user",
                    "writable": true,
                    "signer": true
                },
                {
                    "name": "pool",
                    "writable": true
                },
                {
                    "name": "user_source",
                    "writable": true
                },
                {
                    "name": "user_destination",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "account",
                                "path": "user"
                            },
                            {
                                "kind": "const",
                                "value": [
                                    6,
                                    221,
                                    246,
                                    225,
                                    215,
                                    101,
                                    161,
                                    147,
                                    217,
                                    203,
                                    225,
                                    70,
                                    206,
                                    235,
                                    121,
                                    172,
                                    28,
                                    180,
                                    133,
                                    237,
                                    95,
                                    91,
                                    55,
                                    145,
                                    58,
                                    140,
                                    245,
                                    133,
                                    126,
                                    255,
                                    0,
                                    169
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "vault_destination_mint"
                            }
                        ],
                        "program": {
                            "kind": "const",
                            "value": [
                                140,
                                151,
                                37,
                                143,
                                78,
                                36,
                                137,
                                241,
                                187,
                                61,
                                16,
                                41,
                                20,
                                142,
                                13,
                                131,
                                11,
                                90,
                                19,
                                153,
                                218,
                                255,
                                16,
                                132,
                                4,
                                142,
                                123,
                                216,
                                219,
                                233,
                                248,
                                89
                            ]
                        }
                    }
                },
                {
                    "name": "vault_destination_mint",
                    "writable": true
                },
                {
                    "name": "vault_source",
                    "writable": true
                },
                {
                    "name": "vault_destination",
                    "writable": true
                },
                {
                    "name": "fee_vault",
                    "writable": true
                },
                {
                    "name": "staking_reward_vault",
                    "writable": true
                },
                {
                    "name": "authority",
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [
                                    97,
                                    117,
                                    116,
                                    104,
                                    111,
                                    114,
                                    105,
                                    116,
                                    121
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "pool"
                            }
                        ]
                    }
                },
                {
                    "name": "vault_source_mint"
                },
                {
                    "name": "associated_token_program",
                    "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
                },
                {
                    "name": "token_program",
                    "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
                },
                {
                    "name": "system_program",
                    "address": "11111111111111111111111111111111"
                }
            ],
            "args": [
                {
                    "name": "args",
                    "type": {
                        "defined": {
                            "name": "SwapArgs"
                        }
                    }
                }
            ]
        },
        {
            "name": "swap_commit",
            "discriminator": [
                90,
                50,
                217,
                183,
                180,
                248,
                122,
                157
            ],
            "accounts": [
                {
                    "name": "user",
                    "writable": true,
                    "signer": true
                },
                {
                    "name": "pool",
                    "writable": true
                },
                {
                    "name": "commit",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [
                                    99,
                                    111,
                                    109,
                                    109,
                                    105,
                                    116
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "pool"
                            },
                            {
                                "kind": "account",
                                "path": "user"
                            },
                            {
                                "kind": "arg",
                                "path": "order_hash"
                            }
                        ]
                    }
                },
                {
                    "name": "commit_index",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [
                                    99,
                                    111,
                                    109,
                                    109,
                                    105,
                                    116,
                                    95,
                                    105,
                                    110,
                                    100,
                                    101,
                                    120
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "pool"
                            },
                            {
                                "kind": "account",
                                "path": "user"
                            }
                        ]
                    }
                },
                {
                    "name": "system_program",
                    "address": "11111111111111111111111111111111"
                }
            ],
            "args": [
                {
                    "name": "order_hash",
                    "type": {
                        "array": [
                            "u8",
                            32
                        ]
                    }
                }
            ]
        },
        {
            "name": "swap_reveal",
            "discriminator": [
                150,
                100,
                57,
                83,
                102,
                81,
                212,
                250
            ],
            "accounts": [
                {
                    "name": "user",
                    "writable": true,
                    "signer": true
                },
                {
                    "name": "pool",
                    "writable": true
                },
                {
                    "name": "user_source",
                    "writable": true
                },
                {
                    "name": "user_dest",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "account",
                                "path": "user"
                            },
                            {
                                "kind": "const",
                                "value": [
                                    6,
                                    221,
                                    246,
                                    225,
                                    215,
                                    101,
                                    161,
                                    147,
                                    217,
                                    203,
                                    225,
                                    70,
                                    206,
                                    235,
                                    121,
                                    172,
                                    28,
                                    180,
                                    133,
                                    237,
                                    95,
                                    91,
                                    55,
                                    145,
                                    58,
                                    140,
                                    245,
                                    133,
                                    126,
                                    255,
                                    0,
                                    169
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "vault_destination_mint"
                            }
                        ],
                        "program": {
                            "kind": "const",
                            "value": [
                                140,
                                151,
                                37,
                                143,
                                78,
                                36,
                                137,
                                241,
                                187,
                                61,
                                16,
                                41,
                                20,
                                142,
                                13,
                                131,
                                11,
                                90,
                                19,
                                153,
                                218,
                                255,
                                16,
                                132,
                                4,
                                142,
                                123,
                                216,
                                219,
                                233,
                                248,
                                89
                            ]
                        }
                    }
                },
                {
                    "name": "vault_source",
                    "writable": true
                },
                {
                    "name": "vault_dest",
                    "writable": true
                },
                {
                    "name": "vault_destination_mint"
                },
                {
                    "name": "fee_vault",
                    "writable": true
                },
                {
                    "name": "staking_reward_vault",
                    "writable": true
                },
                {
                    "name": "authority",
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [
                                    97,
                                    117,
                                    116,
                                    104,
                                    111,
                                    114,
                                    105,
                                    116,
                                    121
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "pool"
                            }
                        ]
                    }
                },
                {
                    "name": "token_program",
                    "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
                },
                {
                    "name": "system_program",
                    "address": "11111111111111111111111111111111"
                },
                {
                    "name": "commit_index",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [
                                    99,
                                    111,
                                    109,
                                    109,
                                    105,
                                    116,
                                    95,
                                    105,
                                    110,
                                    100,
                                    101,
                                    120
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "pool"
                            },
                            {
                                "kind": "account",
                                "path": "user"
                            }
                        ]
                    }
                },
                {
                    "name": "commit",
                    "writable": true
                },
                {
                    "name": "vault_source_mint"
                },
                {
                    "name": "associated_token_program",
                    "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
                }
            ],
            "args": [
                {
                    "name": "args",
                    "type": {
                        "defined": {
                            "name": "RevealArgs"
                        }
                    }
                }
            ]
        },
        {
            "name": "unstake",
            "discriminator": [
                90,
                95,
                107,
                42,
                205,
                124,
                50,
                225
            ],
            "accounts": [
                {
                    "name": "user",
                    "writable": true,
                    "signer": true
                },
                {
                    "name": "pool",
                    "writable": true
                },
                {
                    "name": "user_lp_token",
                    "writable": true
                },
                {
                    "name": "stake_vault",
                    "writable": true
                },
                {
                    "name": "stake_account",
                    "writable": true,
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [
                                    115,
                                    116,
                                    97,
                                    107,
                                    101
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "pool"
                            },
                            {
                                "kind": "account",
                                "path": "user"
                            }
                        ]
                    }
                },
                {
                    "name": "authority",
                    "pda": {
                        "seeds": [
                            {
                                "kind": "const",
                                "value": [
                                    97,
                                    117,
                                    116,
                                    104,
                                    111,
                                    114,
                                    105,
                                    116,
                                    121
                                ]
                            },
                            {
                                "kind": "account",
                                "path": "pool"
                            }
                        ]
                    }
                },
                {
                    "name": "token_program",
                    "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
                }
            ],
            "args": [
                {
                    "name": "amount",
                    "type": "u64"
                }
            ]
        },
        {
            "name": "update_internal_oracle",
            "discriminator": [
                174,
                81,
                248,
                67,
                114,
                242,
                161,
                63
            ],
            "accounts": [
                {
                    "name": "pool",
                    "writable": true
                },
                {
                    "name": "admin",
                    "signer": true,
                    "relations": [
                        "pool"
                    ]
                }
            ],
            "args": [
                {
                    "name": "args",
                    "type": {
                        "defined": {
                            "name": "SetOraclePriceArgs"
                        }
                    }
                }
            ]
        }
    ],
    "accounts": [
        {
            "name": "CommitIndex",
            "discriminator": [
                248,
                130,
                83,
                129,
                86,
                44,
                150,
                183
            ]
        },
        {
            "name": "LiquidityPosition",
            "discriminator": [
                153,
                56,
                106,
                34,
                55,
                42,
                113,
                176
            ]
        },
        {
            "name": "Pool",
            "discriminator": [
                241,
                154,
                109,
                4,
                17,
                177,
                109,
                188
            ]
        },
        {
            "name": "StakeAccount",
            "discriminator": [
                80,
                158,
                67,
                124,
                50,
                189,
                192,
                255
            ]
        },
        {
            "name": "SwapCommit",
            "discriminator": [
                152,
                106,
                165,
                227,
                111,
                125,
                129,
                65
            ]
        }
    ],
    "events": [
        {
            "name": "LiquidityAdded",
            "discriminator": [
                154,
                26,
                221,
                108,
                238,
                64,
                217,
                161
            ]
        },
        {
            "name": "ProtocolFeesClaimed",
            "discriminator": [
                22,
                228,
                205,
                252,
                57,
                17,
                156,
                252
            ]
        },
        {
            "name": "RewardsClaimed",
            "discriminator": [
                75,
                98,
                88,
                18,
                219,
                112,
                88,
                121
            ]
        },
        {
            "name": "SwapExecuted",
            "discriminator": [
                150,
                166,
                26,
                225,
                28,
                89,
                38,
                79
            ]
        }
    ],
    "errors": [
        {
            "code": 6000,
            "name": "PoolPaused",
            "msg": "Pool is paused."
        },
        {
            "code": 6001,
            "name": "Unauthorized",
            "msg": "Unauthorized."
        },
        {
            "code": 6002,
            "name": "SlippageExceeded",
            "msg": "Slippage exceeds limit."
        },
        {
            "code": 6003,
            "name": "NothingToWithdraw",
            "msg": "Nothing to withdraw."
        },
        {
            "code": 6004,
            "name": "NotEnoughLpTokens",
            "msg": "Not enough LP tokens to withdraw the requested amount."
        },
        {
            "code": 6005,
            "name": "NothingToClaim",
            "msg": "No protocol fees to claim."
        },
        {
            "code": 6006,
            "name": "NothingToStake",
            "msg": "Nothing to stake."
        },
        {
            "code": 6007,
            "name": "InsufficientLiquidity",
            "msg": "Insufficient liquidity."
        },
        {
            "code": 6008,
            "name": "InsufficientBalance",
            "msg": "Insufficient balance."
        },
        {
            "code": 6009,
            "name": "InsufficientBalanceTokenA",
            "msg": "Insufficient balance token A."
        },
        {
            "code": 6010,
            "name": "InsufficientBalanceTokenB",
            "msg": "Insufficient balance token B."
        },
        {
            "code": 6011,
            "name": "AntiSniper",
            "msg": "Anti-sniper protection active."
        },
        {
            "code": 6012,
            "name": "InvalidSlotDelay",
            "msg": "Invalid slot delay."
        },
        {
            "code": 6013,
            "name": "InvalidAmount",
            "msg": "Invalid amount."
        },
        {
            "code": 6014,
            "name": "DuplicateCommit",
            "msg": "Duplicate commit."
        },
        {
            "code": 6015,
            "name": "TooManyCommits",
            "msg": "Too many commits."
        },
        {
            "code": 6016,
            "name": "InvalidCommit",
            "msg": "Invalid commit."
        },
        {
            "code": 6017,
            "name": "InsufficientStake",
            "msg": "Insufficient staked LP tokens"
        },
        {
            "code": 6018,
            "name": "StakeLocked",
            "msg": "Stake is locked."
        },
        {
            "code": 6019,
            "name": "RewardPeriodNotStarted",
            "msg": "Reward period not started."
        },
        {
            "code": 6020,
            "name": "RewardPeriodEnded",
            "msg": "Reward period ended."
        },
        {
            "code": 6021,
            "name": "MathOverflow",
            "msg": "Math overflow."
        },
        {
            "code": 6022,
            "name": "Expired",
            "msg": "Deadline expired."
        },
        {
            "code": 6023,
            "name": "PriceDeviationTooHigh",
            "msg": "Price deviation too high."
        },
        {
            "code": 6024,
            "name": "StaleOracle",
            "msg": "Stale oracle."
        },
        {
            "code": 6025,
            "name": "PriceManipulated",
            "msg": "Price manipulated."
        },
        {
            "code": 6026,
            "name": "InsufficientObservations",
            "msg": "Insufficient observations."
        },
        {
            "code": 6027,
            "name": "NoValidObservations",
            "msg": "No valid observations."
        },
        {
            "code": 6028,
            "name": "TwapCalculationFailed",
            "msg": "TWAP calculation failed."
        },
        {
            "code": 6029,
            "name": "InvalidPool",
            "msg": "Invalid pool."
        },
        {
            "code": 6030,
            "name": "InvalidVault",
            "msg": "Invalid vault."
        },
        {
            "code": 6031,
            "name": "Underflow",
            "msg": "Underflow."
        },
        {
            "code": 6032,
            "name": "Overflow",
            "msg": "Overflow."
        },
        {
            "code": 6033,
            "name": "InvalidTreasuryMint",
            "msg": "Invalid treasury mint."
        },
        {
            "code": 6034,
            "name": "InvalidTreasuryOwner",
            "msg": "Invalid treasury owner."
        }
    ],
    "types": [
        {
            "name": "CalculateSwapArgs",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "amount_in",
                        "type": "u64"
                    }
                ]
            }
        },
        {
            "name": "Commit",
            "repr": {
                "kind": "c"
            },
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "hash",
                        "type": {
                            "array": [
                                "u8",
                                32
                            ]
                        }
                    },
                    {
                        "name": "slot",
                        "type": "u64"
                    }
                ]
            }
        },
        {
            "name": "CommitIndex",
            "serialization": "bytemuck",
            "repr": {
                "kind": "c"
            },
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "commits",
                        "type": {
                            "array": [
                                {
                                    "defined": {
                                        "name": "Commit"
                                    }
                                },
                                20
                            ]
                        }
                    },
                    {
                        "name": "bump",
                        "type": "u8"
                    },
                    {
                        "name": "len",
                        "type": "u8"
                    },
                    {
                        "name": "padding",
                        "type": {
                            "array": [
                                "u8",
                                6
                            ]
                        }
                    }
                ]
            }
        },
        {
            "name": "LiquidityAdded",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "user",
                        "type": "pubkey"
                    },
                    {
                        "name": "amount_a",
                        "type": "u64"
                    },
                    {
                        "name": "amount_b",
                        "type": "u64"
                    },
                    {
                        "name": "lp_issued",
                        "type": "u64"
                    }
                ]
            }
        },
        {
            "name": "LiquidityPosition",
            "serialization": "bytemuck",
            "repr": {
                "kind": "c"
            },
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "owner",
                        "type": "pubkey"
                    },
                    {
                        "name": "pool",
                        "type": "pubkey"
                    },
                    {
                        "name": "lp_amount",
                        "type": "u64"
                    },
                    {
                        "name": "padding",
                        "type": {
                            "array": [
                                "u8",
                                8
                            ]
                        }
                    }
                ]
            }
        },
        {
            "name": "OracleUpdateSource",
            "type": {
                "kind": "enum",
                "variants": [
                    {
                        "name": "Manual",
                        "fields": [
                            "u64"
                        ]
                    },
                    {
                        "name": "Twap"
                    }
                ]
            }
        },
        {
            "name": "Pool",
            "serialization": "bytemuck",
            "repr": {
                "kind": "c"
            },
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "price_observations",
                        "type": {
                            "array": [
                                {
                                    "defined": {
                                        "name": "PriceObservation"
                                    }
                                },
                                16
                            ]
                        }
                    },
                    {
                        "name": "token_a",
                        "type": "pubkey"
                    },
                    {
                        "name": "token_b",
                        "type": "pubkey"
                    },
                    {
                        "name": "vault_a",
                        "type": "pubkey"
                    },
                    {
                        "name": "vault_b",
                        "type": "pubkey"
                    },
                    {
                        "name": "admin",
                        "type": "pubkey"
                    },
                    {
                        "name": "fee_vault",
                        "type": "pubkey"
                    },
                    {
                        "name": "lp_stake_vault",
                        "type": "pubkey"
                    },
                    {
                        "name": "staking_reward_vault",
                        "type": "pubkey"
                    },
                    {
                        "name": "authority",
                        "type": "pubkey"
                    },
                    {
                        "name": "lp_mint",
                        "type": "pubkey"
                    },
                    {
                        "name": "acc_reward_per_share",
                        "type": "u128"
                    },
                    {
                        "name": "k_last",
                        "type": "u128"
                    },
                    {
                        "name": "pending_fee_rewards",
                        "type": "u64"
                    },
                    {
                        "name": "last_oracle_price",
                        "type": "u64"
                    },
                    {
                        "name": "last_oracle_update",
                        "type": "i64"
                    },
                    {
                        "name": "total_liquidity",
                        "type": "u64"
                    },
                    {
                        "name": "launch_timestamp",
                        "type": "i64"
                    },
                    {
                        "name": "fee_basis_points",
                        "type": "u16"
                    },
                    {
                        "name": "observation_index",
                        "type": "u8"
                    },
                    {
                        "name": "paused",
                        "type": "u8"
                    },
                    {
                        "name": "reserve_decimals_a",
                        "type": "u8"
                    },
                    {
                        "name": "reserve_decimals_b",
                        "type": "u8"
                    },
                    {
                        "name": "lp_decimals",
                        "type": "u8"
                    },
                    {
                        "name": "is_stable",
                        "type": "u8"
                    },
                    {
                        "name": "bump",
                        "type": "u8"
                    },
                    {
                        "name": "padding",
                        "type": {
                            "array": [
                                "u8",
                                15
                            ]
                        }
                    }
                ]
            }
        },
        {
            "name": "PoolParams",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "fee_basis_points",
                        "type": "u16"
                    },
                    {
                        "name": "is_stable",
                        "type": "u8"
                    }
                ]
            }
        },
        {
            "name": "PriceObservation",
            "repr": {
                "kind": "c"
            },
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "price",
                        "type": "u64"
                    },
                    {
                        "name": "timestamp",
                        "type": "i64"
                    }
                ]
            }
        },
        {
            "name": "ProtocolFeesClaimed",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "pool",
                        "type": "pubkey"
                    },
                    {
                        "name": "amount",
                        "type": "u64"
                    }
                ]
            }
        },
        {
            "name": "RefreshOracleArgs",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "pool_key",
                        "type": "pubkey"
                    }
                ]
            }
        },
        {
            "name": "RevealArgs",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "amount_in",
                        "type": "u64"
                    },
                    {
                        "name": "min_amount_out",
                        "type": "u64"
                    },
                    {
                        "name": "deadline",
                        "type": "i64"
                    },
                    {
                        "name": "direction",
                        "type": "u8"
                    },
                    {
                        "name": "nonce",
                        "type": "u64"
                    },
                    {
                        "name": "commit_slot",
                        "type": "u64"
                    }
                ]
            }
        },
        {
            "name": "RewardsClaimed",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "user",
                        "type": "pubkey"
                    },
                    {
                        "name": "pool",
                        "type": "pubkey"
                    },
                    {
                        "name": "amount",
                        "type": "u64"
                    }
                ]
            }
        },
        {
            "name": "SetOraclePriceArgs",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "source",
                        "type": {
                            "defined": {
                                "name": "OracleUpdateSource"
                            }
                        }
                    }
                ]
            }
        },
        {
            "name": "StakeAccount",
            "serialization": "bytemuck",
            "repr": {
                "kind": "c"
            },
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "owner",
                        "type": "pubkey"
                    },
                    {
                        "name": "pool",
                        "type": "pubkey"
                    },
                    {
                        "name": "staked_lp_amount",
                        "type": "u64"
                    },
                    {
                        "name": "locked_until",
                        "type": "i64"
                    },
                    {
                        "name": "multiplier",
                        "type": "u64"
                    },
                    {
                        "name": "reward_debt",
                        "type": "u64"
                    },
                    {
                        "name": "last_staked_at",
                        "type": "i64"
                    },
                    {
                        "name": "bump",
                        "type": "u8"
                    },
                    {
                        "name": "padding",
                        "type": {
                            "array": [
                                "u8",
                                15
                            ]
                        }
                    }
                ]
            }
        },
        {
            "name": "SwapArgs",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "amount_in",
                        "type": "u64"
                    },
                    {
                        "name": "min_amount_out",
                        "type": "u64"
                    },
                    {
                        "name": "deadline",
                        "type": "i64"
                    },
                    {
                        "name": "direction",
                        "type": "u8"
                    }
                ]
            }
        },
        {
            "name": "SwapCommit",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "user",
                        "type": "pubkey"
                    },
                    {
                        "name": "pool",
                        "type": "pubkey"
                    },
                    {
                        "name": "hash",
                        "type": {
                            "array": [
                                "u8",
                                32
                            ]
                        }
                    },
                    {
                        "name": "slot",
                        "type": "u64"
                    },
                    {
                        "name": "bump",
                        "type": "u8"
                    }
                ]
            }
        },
        {
            "name": "SwapExecuted",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "user",
                        "type": "pubkey"
                    },
                    {
                        "name": "amount_in",
                        "type": "u64"
                    },
                    {
                        "name": "amount_out",
                        "type": "u64"
                    }
                ]
            }
        }
    ]
}
