{
    "version": "0.0.0",
    "name": "lyf_orca",
    "instructions": [
        {
            "name": "initializeStrategy",
            "accounts": [
                {
                    "name": "admin",
                    "isMut": false,
                    "isSigner": true
                },
                {
                    "name": "strategyState",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyAuthority",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyFeeAccount",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "strategyTknAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyTknAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyLpTknAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyRewardsTknAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyFarmTknAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lendingProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "lendingPoolAccount0",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "strategyCreditAccount0",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "lendingPoolAccount1",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "strategyCreditAccount1",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "ammProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "swapPoolId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "rewardsSwapPoolId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "stakeProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "stakePoolFarmInfo",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "strategyFarmInfo",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "clock",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "systemProgram",
                    "isMut": false,
                    "isSigner": false
                }
            ],
            "args": [
                {
                    "name": "version",
                    "type": {
                        "defined": "ProtocolVerison"
                    }
                }
            ]
        },
        {
            "name": "setDoubleDipStakePool",
            "accounts": [
                {
                    "name": "admin",
                    "isMut": false,
                    "isSigner": true
                },
                {
                    "name": "strategyState",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyAuthority",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "tokenProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "stakeProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "doubleDipStrategyFarmTknAccount",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "doubleDipStakePoolFarmInfo",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "doubleDipStrategyFarmInfo",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "doubleDipRewardsSwapPoolId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "doubleDipStrategyRewardsTknAccount",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "systemProgram",
                    "isMut": false,
                    "isSigner": false
                }
            ],
            "args": []
        },
        {
            "name": "setPlatformRewardsTkn",
            "accounts": [
                {
                    "name": "admin",
                    "isMut": false,
                    "isSigner": true
                },
                {
                    "name": "strategyState",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyFranciumRewardsTkn",
                    "isMut": true,
                    "isSigner": false
                }
            ],
            "args": []
        },
        {
            "name": "updatePlatformRewards",
            "accounts": [
                {
                    "name": "admin",
                    "isMut": false,
                    "isSigner": true
                },
                {
                    "name": "strategyState",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyFranciumRewardsTkn",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "adminFranciumRewardsTkn",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "tokenProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "clock",
                    "isMut": false,
                    "isSigner": false
                }
            ],
            "args": [
                {
                    "name": "rewardsPerSlot",
                    "type": "u64"
                },
                {
                    "name": "rewardsStartSlot",
                    "type": "u64"
                },
                {
                    "name": "rewardsEndSlot",
                    "type": "u64"
                }
            ]
        },
        {
            "name": "initializeUser",
            "accounts": [
                {
                    "name": "userMainAccount",
                    "isMut": false,
                    "isSigner": true
                },
                {
                    "name": "userInfoAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyState",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "systemProgram",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "clock",
                    "isMut": false,
                    "isSigner": false
                }
            ],
            "args": []
        },
        {
            "name": "initializeUserWithNonce",
            "accounts": [
                {
                    "name": "userMainAccount",
                    "isMut": false,
                    "isSigner": true
                },
                {
                    "name": "userInfoAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyState",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "systemProgram",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "clock",
                    "isMut": false,
                    "isSigner": false
                }
            ],
            "args": [
                {
                    "name": "nonce",
                    "type": "u32"
                },
                {
                    "name": "bumpSeed",
                    "type": "u8"
                }
            ]
        },
        {
            "name": "closeEmptyAccount",
            "accounts": [
                {
                    "name": "userMainAccount",
                    "isMut": true,
                    "isSigner": true
                },
                {
                    "name": "userInfoAccount",
                    "isMut": true,
                    "isSigner": false
                }
            ],
            "args": []
        },
        {
            "name": "setPositionStopLoss",
            "accounts": [
                {
                    "name": "userMainAccount",
                    "isMut": false,
                    "isSigner": true
                },
                {
                    "name": "userInfoAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyState",
                    "isMut": false,
                    "isSigner": false
                }
            ],
            "args": [
                {
                    "name": "stopLossType",
                    "type": "u8"
                },
                {
                    "name": "stopLossRatio",
                    "type": "u8"
                }
            ]
        },
        {
            "name": "setPositionRangeStop",
            "accounts": [
                {
                    "name": "userMainAccount",
                    "isMut": false,
                    "isSigner": true
                },
                {
                    "name": "userInfoAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyState",
                    "isMut": false,
                    "isSigner": false
                }
            ],
            "args": [
                {
                    "name": "rangeStopType",
                    "type": "u8"
                },
                {
                    "name": "priceRange0",
                    "type": "u128"
                },
                {
                    "name": "priceRange1",
                    "type": "u128"
                }
            ]
        },
        {
            "name": "transfer",
            "accounts": [
                {
                    "name": "userMainAccount",
                    "isMut": false,
                    "isSigner": true
                },
                {
                    "name": "userInfoAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "userTknAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "userTknAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyState",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyAuthority",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyTknAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyTknAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "tokenProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "clock",
                    "isMut": false,
                    "isSigner": false
                }
            ],
            "args": [
                {
                    "name": "param",
                    "type": {
                        "defined": "TransferForInvestParam"
                    }
                }
            ]
        },
        {
            "name": "borrow",
            "accounts": [
                {
                    "name": "userMainAccount",
                    "isMut": false,
                    "isSigner": true
                },
                {
                    "name": "userInfoAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyState",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyAuthority",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyTknAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyTknAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lendingMarketAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lendingMarketAuthorityInfo",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "lendingPoolProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "lendingPoolInfoAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lendingPoolTknAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lendingPoolCreditAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyCreditAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lendingPoolInfoAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lendingPoolTknAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lendingPoolCreditAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyCreditAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "tokenProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "clock",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "swapPoolId",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolTknAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolTknAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lpMint",
                    "isMut": true,
                    "isSigner": false
                }
            ],
            "args": [
                {
                    "name": "param",
                    "type": {
                        "defined": "BorrowParam"
                    }
                }
            ]
        },
        {
            "name": "swap",
            "accounts": [
                {
                    "name": "userMainAccount",
                    "isMut": false,
                    "isSigner": true
                },
                {
                    "name": "userInfo",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyState",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyAuthority",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "strategyTknAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyTknAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyLpTknAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "tokenProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "ammProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "swapPoolId",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolAuthority",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolTknAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolTknAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lpMint",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolFeeTkn",
                    "isMut": true,
                    "isSigner": false
                }
            ],
            "args": []
        },
        {
            "name": "addLiquidity",
            "accounts": [
                {
                    "name": "userMainAccount",
                    "isMut": false,
                    "isSigner": true
                },
                {
                    "name": "userInfo",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyState",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyAuthority",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "strategyTknAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyTknAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyLpTknAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "tokenProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "ammProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "swapPoolId",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolAuthority",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolTknAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolTknAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lpMint",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "userFranciumRewardsTkn",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyFranciumRewardsTkn",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "clock",
                    "isMut": false,
                    "isSigner": false
                }
            ],
            "args": []
        },
        {
            "name": "addLiquiditySigleSide",
            "accounts": [
                {
                    "name": "userMainAccount",
                    "isMut": false,
                    "isSigner": true
                },
                {
                    "name": "userInfo",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyState",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyAuthority",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "strategyTknAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyTknAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyLpTknAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "tokenProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "ammProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "swapPoolId",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolAuthority",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolTknAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolTknAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lpMint",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "userFranciumRewardsTkn",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyFranciumRewardsTkn",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "clock",
                    "isMut": false,
                    "isSigner": false
                }
            ],
            "args": []
        },
        {
            "name": "stakeLp",
            "accounts": [
                {
                    "name": "strategyState",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyAuthority",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyLpTknAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "stakeProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "stakePoolLpTknValut",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "stakeFarmTknMint",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyFarmTknAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "stakePoolFarmInfo",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyFarmInfo",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "stakePoolRewardTknVault",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyRewardsTknAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "stakePoolAuthority",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "tokenProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "clock",
                    "isMut": false,
                    "isSigner": false
                }
            ],
            "args": []
        },
        {
            "name": "doubleDipStakeFarmTkn",
            "accounts": [
                {
                    "name": "strategyState",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyAuthority",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyFarmTknAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "stakeProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "doubleDipStakePoolFarmTknValut",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "doubleDipStakeFarmTknMint",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "doubleDipStrategyFarmTknAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "doubleDipStakePoolFarmInfo",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "doubleDipStrategyFarmInfo",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "doubleDipStakePoolRewardTknVault",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "doubleDipStrategyRewardsTknAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "doubleDipStakePoolAuthority",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "tokenProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "clock",
                    "isMut": false,
                    "isSigner": false
                }
            ],
            "args": []
        },
        {
            "name": "doubleDipUnstakeFarmTkn",
            "accounts": [
                {
                    "name": "strategyState",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyAuthority",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyFarmTknAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "stakeProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "doubleDipStakePoolFarmTknValut",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "doubleDipStakeFarmTknMint",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "doubleDipStrategyFarmTknAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "doubleDipStakePoolFarmInfo",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "doubleDipStrategyFarmInfo",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "doubleDipStakePoolRewardTknVault",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "doubleDipStrategyRewardsTknAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "doubleDipStakePoolAuthority",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "tokenProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "clock",
                    "isMut": false,
                    "isSigner": false
                }
            ],
            "args": [
                {
                    "name": "amount",
                    "type": "u64"
                }
            ]
        },
        {
            "name": "unstakeLp",
            "accounts": [
                {
                    "name": "userMainAccount",
                    "isMut": false,
                    "isSigner": true
                },
                {
                    "name": "userInfo",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyState",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyAuthority",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyLpTknAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyFarmTknAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyRewardsTknAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyFarmInfo",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "stakeProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "stakePoolLpTkn",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "stakeFarmTknMint",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "stakePoolFarmInfo",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "stakePoolRewardTknVault",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "stakePoolAuthority",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "tokenProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "clock",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "lendingPoolInfoAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lendingPoolInfoAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "userFranciumRewardsTknAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyFranciumRewardsTknAccount",
                    "isMut": true,
                    "isSigner": false
                }
            ],
            "args": [
                {
                    "name": "param",
                    "type": {
                        "defined": "UnstakeLpParam"
                    }
                }
            ]
        },
        {
            "name": "unstakeLpWithType",
            "accounts": [
                {
                    "name": "userMainAccount",
                    "isMut": false,
                    "isSigner": true
                },
                {
                    "name": "userInfo",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyState",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyAuthority",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyLpTknAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyFarmTknAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyRewardsTknAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyFarmInfo",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "stakeProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "stakePoolLpTkn",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "stakeFarmTknMint",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "stakePoolFarmInfo",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "stakePoolRewardTknVault",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "stakePoolAuthority",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "tokenProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "clock",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "lendingPoolInfoAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lendingPoolInfoAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "userFranciumRewardsTknAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyFranciumRewardsTknAccount",
                    "isMut": true,
                    "isSigner": false
                }
            ],
            "args": [
                {
                    "name": "param",
                    "type": {
                        "defined": "WithdrawParam"
                    }
                }
            ]
        },
        {
            "name": "removeLiquidity",
            "accounts": [
                {
                    "name": "userMainAccount",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "userInfo",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyState",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyAuthority",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "strategyTknAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyTknAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyLpTknAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "tokenProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "ammProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "swapPoolId",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolAuthority",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolTkn0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolTkn1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolFeeTkn",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lpMint",
                    "isMut": true,
                    "isSigner": false
                }
            ],
            "args": []
        },
        {
            "name": "swapAndWithdraw",
            "accounts": [
                {
                    "name": "userMainAccount",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "userInfo",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "userTknAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "userTknAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyState",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyAuthority",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "strategyTknAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyTknAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyLpTknAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "tokenProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "ammProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "swapPoolId",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolAuthority",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolTkn0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolTkn1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolFeeTkn",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lpMint",
                    "isMut": true,
                    "isSigner": false
                }
            ],
            "args": [
                {
                    "name": "param",
                    "type": {
                        "defined": "SwapAndWithdrawParam"
                    }
                }
            ]
        },
        {
            "name": "beforeStableWithdraw",
            "accounts": [
                {
                    "name": "userMainAccount",
                    "isMut": false,
                    "isSigner": true
                },
                {
                    "name": "userInfoAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyState",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "tokenProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "ammProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "swapPoolId",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolAuthority",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolTkn0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolTkn1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolFeeTkn",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lpMint",
                    "isMut": true,
                    "isSigner": false
                }
            ],
            "args": [
                {
                    "name": "param",
                    "type": {
                        "defined": "SwapAndWithdrawParam"
                    }
                }
            ]
        },
        {
            "name": "stableSwap",
            "accounts": [
                {
                    "name": "userMainAccount",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "userInfo",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "userTknAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "userTknAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyState",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyAuthority",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "strategyTknAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyTknAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyLpTknAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "tokenProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "ammProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "swapPoolId",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolAuthority",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolTkn0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolTkn1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolFeeTkn",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lpMint",
                    "isMut": true,
                    "isSigner": false
                }
            ],
            "args": [
                {
                    "name": "param",
                    "type": {
                        "defined": "SwapAndWithdrawParam"
                    }
                }
            ]
        },
        {
            "name": "stableWithdraw",
            "accounts": [
                {
                    "name": "userMainAccount",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "userInfo",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "userTknAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "userTknAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyState",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyAuthority",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "strategyTknAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyTknAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyLpTknAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "tokenProgramId",
                    "isMut": false,
                    "isSigner": false
                }
            ],
            "args": []
        },
        {
            "name": "userRepay",
            "accounts": [
                {
                    "name": "userMainAccount",
                    "isMut": false,
                    "isSigner": true
                },
                {
                    "name": "userInfoAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "userTknAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "userTknAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyState",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyTknAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyTknAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lendingPoolInfoAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lendingPoolInfoAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "tokenProgramId",
                    "isMut": false,
                    "isSigner": false
                }
            ],
            "args": [
                {
                    "name": "param",
                    "type": {
                        "defined": "UserRepayParam"
                    }
                }
            ]
        },
        {
            "name": "repayBorrowedPc",
            "accounts": [
                {
                    "name": "userMainAccount",
                    "isMut": false,
                    "isSigner": true
                },
                {
                    "name": "strategyState",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyAuthority",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyTknAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyTknAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lendingMarketAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lendingMarketAuthorityInfo",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "lendingPoolProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "lendingPoolInfoAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lendingPoolTknAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lendingPoolCreditMint0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lendingPoolCreditAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyCreditAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lendingPoolInfoAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lendingPoolTknAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lendingPoolCreditMint1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lendingPoolCreditAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyCreditAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "tokenProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "clock",
                    "isMut": false,
                    "isSigner": false
                }
            ],
            "args": []
        },
        {
            "name": "repayBorrowedCoin",
            "accounts": [
                {
                    "name": "userMainAccount",
                    "isMut": false,
                    "isSigner": true
                },
                {
                    "name": "strategyState",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyAuthority",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyTknAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyTknAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lendingMarketAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lendingMarketAuthorityInfo",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "lendingPoolProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "lendingPoolInfoAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lendingPoolTknAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lendingPoolCreditMint0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lendingPoolCreditAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyCreditAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lendingPoolInfoAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lendingPoolTknAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lendingPoolCreditMint1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lendingPoolCreditAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyCreditAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "tokenProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "clock",
                    "isMut": false,
                    "isSigner": false
                }
            ],
            "args": []
        },
        {
            "name": "liquidateUnstakeLp",
            "accounts": [
                {
                    "name": "liquidator",
                    "isMut": false,
                    "isSigner": true
                },
                {
                    "name": "liquidatorLpTknAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "userInfo",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyState",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyAuthority",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyLpTknAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyFarmInfo",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lpMint",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolTkn0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolTkn1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "stakeProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "stakePoolLpTknAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "stakeFarmTknMint",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyFarmTknAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "stakePoolFarmInfo",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "stakePoolRewardTknVault",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyRewardsTknAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "stakePoolAuthority",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "tokenProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "clock",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "lendingPoolInfoAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lendingPoolInfoAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "userFranciumRewardsTknAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyFranciumRewardsTknAccount",
                    "isMut": true,
                    "isSigner": false
                }
            ],
            "args": [
                {
                    "name": "liquidateType",
                    "type": "u8"
                }
            ]
        },
        {
            "name": "swapRewardsToTarget",
            "accounts": [
                {
                    "name": "userMainAccount",
                    "isMut": false,
                    "isSigner": true
                },
                {
                    "name": "strategyState",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyAuthority",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "strategyTargetTkn",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyRewardsTknAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "tokenProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "ammProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "rewardsSwapPoolId",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "rewardsSwapPoolAuthority",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolTargetTkn",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolRewardsTkn",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolRewardsFeeTkn",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "rewardsTargetLpMint",
                    "isMut": true,
                    "isSigner": false
                }
            ],
            "args": []
        },
        {
            "name": "swapRewardsForBalance",
            "accounts": [
                {
                    "name": "userMainAccount",
                    "isMut": false,
                    "isSigner": true
                },
                {
                    "name": "strategyState",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyAuthority",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "strategyTknAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyTknAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "tokenProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "ammProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "swapPoolId",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolAuthority",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolTkn0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolTkn1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lpMint",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolFeeTkn",
                    "isMut": true,
                    "isSigner": false
                }
            ],
            "args": []
        },
        {
            "name": "harvestRewards",
            "accounts": [
                {
                    "name": "userMainAccount",
                    "isMut": false,
                    "isSigner": true
                },
                {
                    "name": "strategyState",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyAuthority",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "strategyLpTknAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyFarmTknAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyRewardsTknAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyFarmInfo",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "tokenProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "stakeProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "stakePoolAuthority",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "stakePoolFarmInfo",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "stakePoolLpTknVault",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "stakePoolRewardTknVault",
                    "isMut": true,
                    "isSigner": false
                }
            ],
            "args": []
        },
        {
            "name": "addRewardsToLiquidity",
            "accounts": [
                {
                    "name": "userMainAccount",
                    "isMut": false,
                    "isSigner": true
                },
                {
                    "name": "userLpAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyState",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyAuthority",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "strategyTknAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyTknAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyLpAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "tokenProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "ammProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "swapPoolId",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolAuthority",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolTkn0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolTkn1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lpMint",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "userFranciumRewardsTkn",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyFranciumRewardsTkn",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "clock",
                    "isMut": false,
                    "isSigner": false
                }
            ],
            "args": []
        },
        {
            "name": "addRewardsToLiquiditySingleSide",
            "accounts": [
                {
                    "name": "userMainAccount",
                    "isMut": false,
                    "isSigner": true
                },
                {
                    "name": "userLpAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyState",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyAuthority",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "strategyTknAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyTknAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyLpAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "tokenProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "ammProgramId",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "swapPoolId",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolAuthority",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolTkn0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "swapPoolTkn1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "lpMint",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "userFranciumRewardsTkn",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyFranciumRewardsTkn",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "clock",
                    "isMut": false,
                    "isSigner": false
                }
            ],
            "args": []
        },
        {
            "name": "adminUpdateMaxLeverage",
            "accounts": [
                {
                    "name": "admin",
                    "isMut": false,
                    "isSigner": true
                },
                {
                    "name": "strategyState",
                    "isMut": true,
                    "isSigner": false
                }
            ],
            "args": [
                {
                    "name": "newLeverage",
                    "type": "u8"
                }
            ]
        },
        {
            "name": "adminUpdateLiquidateLine",
            "accounts": [
                {
                    "name": "admin",
                    "isMut": false,
                    "isSigner": true
                },
                {
                    "name": "strategyState",
                    "isMut": true,
                    "isSigner": false
                }
            ],
            "args": [
                {
                    "name": "newLiquidateLine",
                    "type": "u8"
                }
            ]
        },
        {
            "name": "adminUpdateCompoundRewardsRate",
            "accounts": [
                {
                    "name": "admin",
                    "isMut": false,
                    "isSigner": true
                },
                {
                    "name": "strategyState",
                    "isMut": true,
                    "isSigner": false
                }
            ],
            "args": [
                {
                    "name": "compoundRewardsRate",
                    "type": "u8"
                }
            ]
        },
        {
            "name": "adminCloseEmptyAccount",
            "accounts": [
                {
                    "name": "admin",
                    "isMut": false,
                    "isSigner": true
                },
                {
                    "name": "userInfoAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyState",
                    "isMut": true,
                    "isSigner": false
                }
            ],
            "args": []
        },
        {
            "name": "adminClearWithdrawFlag",
            "accounts": [
                {
                    "name": "admin",
                    "isMut": false,
                    "isSigner": true
                },
                {
                    "name": "userInfo",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyState",
                    "isMut": false,
                    "isSigner": false
                }
            ],
            "args": []
        },
        {
            "name": "adminRepayBadDebts",
            "accounts": [
                {
                    "name": "admin",
                    "isMut": false,
                    "isSigner": true
                },
                {
                    "name": "strategyState",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyAuthority",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "adminTknAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "adminTknAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyTknAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyTknAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "tokenProgramId",
                    "isMut": false,
                    "isSigner": false
                }
            ],
            "args": [
                {
                    "name": "tknRepay0",
                    "type": "u64"
                },
                {
                    "name": "tknRepay1",
                    "type": "u64"
                }
            ]
        },
        {
            "name": "adminBurnBorrowCredit",
            "accounts": [
                {
                    "name": "admin",
                    "isMut": false,
                    "isSigner": true
                },
                {
                    "name": "strategyState",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyAuthority",
                    "isMut": false,
                    "isSigner": false
                },
                {
                    "name": "creditMint0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyCreditAccount0",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "creditMint1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyCreditAccount1",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "tokenProgramId",
                    "isMut": false,
                    "isSigner": false
                }
            ],
            "args": []
        },
        {
            "name": "adminSetFeeAccount",
            "accounts": [
                {
                    "name": "admin",
                    "isMut": false,
                    "isSigner": true
                },
                {
                    "name": "strategyState",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyLpAccount",
                    "isMut": true,
                    "isSigner": false
                },
                {
                    "name": "strategyFeeAccount",
                    "isMut": true,
                    "isSigner": false
                }
            ],
            "args": []
        }
    ],
    "accounts": [
        {
            "name": "StrategyState",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "protocolVersion",
                        "type": "u8"
                    },
                    {
                        "name": "protocolSubVersion",
                        "type": "u8"
                    },
                    {
                        "name": "lastUpdateSlot",
                        "type": "u64"
                    },
                    {
                        "name": "totalLp",
                        "type": "u64"
                    },
                    {
                        "name": "totalShares",
                        "type": "u64"
                    },
                    {
                        "name": "totalBorrowed0",
                        "type": "u64"
                    },
                    {
                        "name": "totalBorrowed1",
                        "type": "u64"
                    },
                    {
                        "name": "pendingTkn0",
                        "type": "u64"
                    },
                    {
                        "name": "pendingTkn1",
                        "type": "u64"
                    },
                    {
                        "name": "pendingWithdrawLp",
                        "type": "u64"
                    },
                    {
                        "name": "pendingRepay0",
                        "type": "u64"
                    },
                    {
                        "name": "pendingRepay1",
                        "type": "u64"
                    },
                    {
                        "name": "cumulatedBorrowRate0",
                        "type": "u128"
                    },
                    {
                        "name": "cumulatedBorrowRate1",
                        "type": "u128"
                    },
                    {
                        "name": "maxLeverage",
                        "type": "u8"
                    },
                    {
                        "name": "liquidateLine",
                        "type": "u8"
                    },
                    {
                        "name": "compoundRewardsRate",
                        "type": "u8"
                    },
                    {
                        "name": "admin",
                        "type": "publicKey"
                    },
                    {
                        "name": "authority",
                        "type": "publicKey"
                    },
                    {
                        "name": "authorityNonce",
                        "type": "u8"
                    },
                    {
                        "name": "franciumRewardsEnable",
                        "type": "u8"
                    },
                    {
                        "name": "franciumRewardsStartSlot",
                        "type": "u64"
                    },
                    {
                        "name": "franciumRewardsEndSlot",
                        "type": "u64"
                    },
                    {
                        "name": "franciumRewardsPerSlot",
                        "type": "u64"
                    },
                    {
                        "name": "franciumAccumulatedRewardsPerShare",
                        "type": "u128"
                    },
                    {
                        "name": "franciumRewardsTknAccount",
                        "type": "publicKey"
                    },
                    {
                        "name": "lendingProgramId",
                        "type": "publicKey"
                    },
                    {
                        "name": "ammProgramId",
                        "type": "publicKey"
                    },
                    {
                        "name": "stakeProgramId",
                        "type": "publicKey"
                    },
                    {
                        "name": "tknAccount0",
                        "type": "publicKey"
                    },
                    {
                        "name": "tknAccount1",
                        "type": "publicKey"
                    },
                    {
                        "name": "lpTknAccount",
                        "type": "publicKey"
                    },
                    {
                        "name": "rewardsTknAccount",
                        "type": "publicKey"
                    },
                    {
                        "name": "farmTknAccount",
                        "type": "publicKey"
                    },
                    {
                        "name": "lendingPool0",
                        "type": "publicKey"
                    },
                    {
                        "name": "strategyLendingCreditAccount0",
                        "type": "publicKey"
                    },
                    {
                        "name": "lendingPool1",
                        "type": "publicKey"
                    },
                    {
                        "name": "strategyLendingCreditAccount1",
                        "type": "publicKey"
                    },
                    {
                        "name": "doubleDipRewardsSwapPoolId",
                        "type": "publicKey"
                    },
                    {
                        "name": "doubleDipStrategyRewardsTknAccount",
                        "type": "publicKey"
                    },
                    {
                        "name": "swapPoolId",
                        "type": "publicKey"
                    },
                    {
                        "name": "rewardsSwapPoolId",
                        "type": "publicKey"
                    },
                    {
                        "name": "stakePoolFarmInfo",
                        "type": "publicKey"
                    },
                    {
                        "name": "strategyFarmInfo",
                        "type": "publicKey"
                    },
                    {
                        "name": "doubleDipFarmTknAccount",
                        "type": "publicKey"
                    },
                    {
                        "name": "doubleDipStakePoolFarmInfo",
                        "type": "publicKey"
                    },
                    {
                        "name": "doubleDipStrategyFarmInfo",
                        "type": "publicKey"
                    },
                    {
                        "name": "feeAccount",
                        "type": "publicKey"
                    }
                ]
            }
        },
        {
            "name": "UserInfo",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "version",
                        "type": "u8"
                    },
                    {
                        "name": "lastUpdateSlot",
                        "type": "u64"
                    },
                    {
                        "name": "strategyStateAccount",
                        "type": "publicKey"
                    },
                    {
                        "name": "userMainAccount",
                        "type": "publicKey"
                    },
                    {
                        "name": "pending0",
                        "type": "u8"
                    },
                    {
                        "name": "pendingInvestFlag",
                        "type": "u8"
                    },
                    {
                        "name": "stopLoss",
                        "type": "u8"
                    },
                    {
                        "name": "tkn0",
                        "type": "u64"
                    },
                    {
                        "name": "tkn1",
                        "type": "u64"
                    },
                    {
                        "name": "borrowed0",
                        "type": "u64"
                    },
                    {
                        "name": "borrowed1",
                        "type": "u64"
                    },
                    {
                        "name": "principle0",
                        "type": "u64"
                    },
                    {
                        "name": "principle1",
                        "type": "u64"
                    },
                    {
                        "name": "investedLp",
                        "type": "u64"
                    },
                    {
                        "name": "lpShares",
                        "type": "u64"
                    },
                    {
                        "name": "pendingWithdrawLp",
                        "type": "u64"
                    },
                    {
                        "name": "pendingRepay0",
                        "type": "u64"
                    },
                    {
                        "name": "pendingRepay1",
                        "type": "u64"
                    },
                    {
                        "name": "cumulatedBorrowRate0",
                        "type": "u128"
                    },
                    {
                        "name": "cumulatedBorrowRate1",
                        "type": "u128"
                    },
                    {
                        "name": "platformRewardsDebt",
                        "type": "u128"
                    },
                    {
                        "name": "pendingWithdrawFlag",
                        "type": "u8"
                    },
                    {
                        "name": "takeProfitLine",
                        "type": "u16"
                    },
                    {
                        "name": "stableSwapComputeFlag",
                        "type": "u8"
                    },
                    {
                        "name": "stableSwapDirection",
                        "type": "u8"
                    },
                    {
                        "name": "stableSwapAmount",
                        "type": "u64"
                    },
                    {
                        "name": "stopPositionType",
                        "type": "u8"
                    },
                    {
                        "name": "priceRange0",
                        "type": "u128"
                    },
                    {
                        "name": "priceRange1",
                        "type": "u128"
                    },
                    {
                        "name": "padding2",
                        "type": {
                            "array": [
                                "u8",
                                13
                            ]
                        }
                    },
                    {
                        "name": "accountNonce",
                        "type": "u32"
                    },
                    {
                        "name": "isEmpty",
                        "type": "u8"
                    }
                ]
            }
        }
    ],
    "types": [
        {
            "name": "ProtocolVerison",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "protocolVersion",
                        "type": "u8"
                    },
                    {
                        "name": "subVersion",
                        "type": "u8"
                    }
                ]
            }
        },
        {
            "name": "PositionStopParam",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "liquidateType",
                        "type": "u8"
                    },
                    {
                        "name": "stopLossType",
                        "type": "u8"
                    },
                    {
                        "name": "stopLossRatio",
                        "type": "u8"
                    },
                    {
                        "name": "takeProfitType",
                        "type": "u8"
                    },
                    {
                        "name": "takeProfitRatio",
                        "type": "u16"
                    },
                    {
                        "name": "rangeStopType",
                        "type": "u8"
                    },
                    {
                        "name": "priceRange0",
                        "type": "u128"
                    },
                    {
                        "name": "priceRange1",
                        "type": "u128"
                    }
                ]
            }
        },
        {
            "name": "TransferForInvestParam",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "stopLoss",
                        "type": "u8"
                    },
                    {
                        "name": "amount0",
                        "type": "u64"
                    },
                    {
                        "name": "amount1",
                        "type": "u64"
                    }
                ]
            }
        },
        {
            "name": "BorrowParam",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "borrow0",
                        "type": "u64"
                    },
                    {
                        "name": "borrow1",
                        "type": "u64"
                    }
                ]
            }
        },
        {
            "name": "UnstakeLpParam",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "sharesAmount",
                        "type": "u64"
                    }
                ]
            }
        },
        {
            "name": "WithdrawParam",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "withdrawType",
                        "type": "u8"
                    },
                    {
                        "name": "sharesAmount",
                        "type": "u64"
                    }
                ]
            }
        },
        {
            "name": "SwapAndWithdrawParam",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "withdrawType",
                        "type": "u8"
                    }
                ]
            }
        },
        {
            "name": "UserRepayParam",
            "type": {
                "kind": "struct",
                "fields": [
                    {
                        "name": "repaySide",
                        "type": "u8"
                    },
                    {
                        "name": "repayAmount",
                        "type": "u64"
                    }
                ]
            }
        }
    ],
    "errors": [
        {
            "code": 1300,
            "name": "MathOverflow",
            "msg": "Math Overflow"
        },
        {
            "code": 1301,
            "name": "InvalidInstruction",
            "msg": "Invalid Instruction"
        },
        {
            "code": 1302,
            "name": "InvalidProgramAddress",
            "msg": "Invalid program derivated address or nonce"
        },
        {
            "code": 1303,
            "name": "InvalidProtocolVersion",
            "msg": "Invalid Protocol Version"
        },
        {
            "code": 1304,
            "name": "InvalidData",
            "msg": "Invalid data"
        },
        {
            "code": 1305,
            "name": "AlreadyInUse",
            "msg": "Already in use"
        },
        {
            "code": 1306,
            "name": "InvalidTokenMint",
            "msg": "Invalid token mint"
        },
        {
            "code": 1307,
            "name": "InsufficientBalance",
            "msg": "Insufficient balance"
        },
        {
            "code": 1308,
            "name": "UnexpectedError",
            "msg": "UnexpectedError"
        },
        {
            "code": 1309,
            "name": "InvalidStrategyAccount",
            "msg": "Invalid Strategy Account"
        },
        {
            "code": 1310,
            "name": "InvalidStrategyAuthority",
            "msg": "Invalid Strategy Authority"
        },
        {
            "code": 1311,
            "name": "InvalidUserInfoAccount",
            "msg": "Invalid UserInfo Account"
        },
        {
            "code": 1312,
            "name": "InvalidStrategyFarmInfoAccount",
            "msg": "Invalid StrategyFarmInfo Account"
        },
        {
            "code": 1313,
            "name": "InvalidTokenAccount",
            "msg": "Invalid Token Account"
        },
        {
            "code": 1314,
            "name": "InvalidTokenAccountOwner",
            "msg": "Invalid Token Account Owner"
        },
        {
            "code": 1315,
            "name": "InvalidStrategyState",
            "msg": "Invalid Strategy state"
        },
        {
            "code": 1316,
            "name": "InvalidLendingPool",
            "msg": "Invalid lending pool"
        },
        {
            "code": 1317,
            "name": "UnsupportedFeature",
            "msg": "Unsupported Feature"
        },
        {
            "code": 1318,
            "name": "NeedAdminPermission",
            "msg": "Need Admin Permission"
        },
        {
            "code": 1319,
            "name": "AlreadyInLiquidationOrWithdraw",
            "msg": "Already in liquidation or withdraw"
        },
        {
            "code": 1320,
            "name": "InvalidLiquidator",
            "msg": "Invalid Liquidator"
        },
        {
            "code": 1321,
            "name": "InvalidBorrowAmount",
            "msg": "Invalid Borrow Amount"
        },
        {
            "code": 1322,
            "name": "AmountTooLarge",
            "msg": "Amount Too Large"
        },
        {
            "code": 1323,
            "name": "NotEnougToRepay",
            "msg": "Not Enough to repay"
        },
        {
            "code": 1324,
            "name": "BeforeStableWithdrawUnfinished",
            "msg": "Unfinish BeforeStableWithdraw"
        },
        {
            "code": 1325,
            "name": "AccountNotEmpty",
            "msg": "Account Not Empty"
        },
        {
            "code": 1326,
            "name": "LeverageTooHigh",
            "msg": "Leverage Too High"
        }
    ]
}