Type alias Perpetuals

Perpetuals: {
    accounts: [{
        discriminator: [1, 184, 48, 81, 93, 131, 63, 145];
        name: "custody";
    }, {
        discriminator: [227, 170, 164, 218, 127, 16, 35, 223];
        name: "customOracle";
    }, {
        discriminator: [175, 178, 171, 30, 187, 253, 13, 118];
        name: "flpStake";
    }, {
        discriminator: [219, 190, 213, 55, 0, 227, 198, 154];
        name: "market";
    }, {
        discriminator: [224, 116, 121, 186, 68, 161, 79, 236];
        name: "multisig";
    }, {
        discriminator: [134, 173, 223, 185, 77, 86, 28, 51];
        name: "order";
    }, {
        discriminator: [28, 167, 98, 191, 104, 82, 108, 196];
        name: "perpetuals";
    }, {
        discriminator: [241, 154, 109, 4, 17, 177, 109, 188];
        name: "pool";
    }, {
        discriminator: [170, 188, 143, 228, 122, 64, 247, 208];
        name: "position";
    }, {
        discriminator: [200, 167, 197, 238, 32, 139, 26, 69];
        name: "protocolVault";
    }, {
        discriminator: [207, 58, 186, 112, 64, 20, 188, 212];
        name: "rebateVault";
    }, {
        discriminator: [30, 235, 136, 224, 106, 107, 49, 64];
        name: "referral";
    }, {
        discriminator: [229, 123, 21, 243, 246, 164, 57, 239];
        name: "tokenStake";
    }, {
        discriminator: [121, 7, 84, 254, 151, 228, 43, 144];
        name: "tokenVault";
    }, {
        discriminator: [204, 176, 52, 79, 146, 121, 54, 247];
        name: "whitelist";
    }];
    address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
    errors: [{
        code: 6000;
        msg: "Account is not authorized to sign this instruction";
        name: "multisigAccountNotAuthorized";
    }, {
        code: 6001;
        msg: "Account has already signed this instruction";
        name: "multisigAlreadySigned";
    }, {
        code: 6002;
        msg: "This instruction has already been executed";
        name: "multisigAlreadyExecuted";
    }, {
        code: 6003;
        msg: "Overflow in arithmetic operation";
        name: "mathOverflow";
    }, {
        code: 6004;
        msg: "Unsupported price oracle";
        name: "unsupportedOracle";
    }, {
        code: 6005;
        msg: "Invalid oracle account";
        name: "invalidOracleAccount";
    }, {
        code: 6006;
        msg: "Invalid oracle state";
        name: "invalidOracleState";
    }, {
        code: 6007;
        msg: "Stale oracle price";
        name: "staleOraclePrice";
    }, {
        code: 6008;
        msg: "Invalid oracle price";
        name: "invalidOraclePrice";
    }, {
        code: 6009;
        msg: "Instruction is not allowed in production";
        name: "invalidEnvironment";
    }, {
        code: 6010;
        msg: "Invalid pool state";
        name: "invalidPoolState";
    }, {
        code: 6011;
        msg: "Invalid custody state";
        name: "invalidCustodyState";
    }, {
        code: 6012;
        msg: "Invalid Market state";
        name: "invalidMarketState";
    }, {
        code: 6013;
        msg: "Invalid collateral custody";
        name: "invalidCollateralCustody";
    }, {
        code: 6014;
        msg: "Invalid position state";
        name: "invalidPositionState";
    }, {
        code: 6015;
        msg: "Invalid Dispensing Custody";
        name: "invalidDispensingCustody";
    }, {
        code: 6016;
        msg: "Invalid perpetuals config";
        name: "invalidPerpetualsConfig";
    }, {
        code: 6017;
        msg: "Invalid pool config";
        name: "invalidPoolConfig";
    }, {
        code: 6018;
        msg: "Invalid custody config";
        name: "invalidCustodyConfig";
    }, {
        code: 6019;
        msg: "Insufficient token amount returned";
        name: "insufficientAmountReturned";
    }, {
        code: 6020;
        msg: "Price slippage limit exceeded";
        name: "maxPriceSlippage";
    }, {
        code: 6021;
        msg: "Position leverage limit exceeded";
        name: "maxLeverage";
    }, {
        code: 6022;
        msg: "Position initial leverage limit exceeded";
        name: "maxInitLeverage";
    }, {
        code: 6023;
        msg: "Position leverage less than minimum";
        name: "minLeverage";
    }, {
        code: 6024;
        msg: "Custody amount limit exceeded";
        name: "custodyAmountLimit";
    }, {
        code: 6025;
        msg: "Position amount limit exceeded";
        name: "positionAmountLimit";
    }, {
        code: 6026;
        msg: "Token ratio out of range";
        name: "tokenRatioOutOfRange";
    }, {
        code: 6027;
        msg: "Token is not supported";
        name: "unsupportedToken";
    }, {
        code: 6028;
        msg: "Custody is not supported";
        name: "unsupportedCustody";
    }, {
        code: 6029;
        msg: "Pool is not supported";
        name: "unsupportedPool";
    }, {
        code: 6030;
        msg: "Market is not supported";
        name: "unsupportedMarket";
    }, {
        code: 6031;
        msg: "Instruction is not allowed at this time";
        name: "instructionNotAllowed";
    }, {
        code: 6032;
        msg: "Token utilization limit exceeded";
        name: "maxUtilization";
    }, {
        code: 6033;
        msg: "Close-only mode activated";
        name: "closeOnlyMode";
    }, {
        code: 6034;
        msg: "Minimum collateral limit breached";
        name: "minCollateral";
    }, {
        code: 6035;
        msg: "Permissionless oracle update must be preceded by Ed25519 signature verification instruction";
        name: "permissionlessOracleMissingSignature";
    }, {
        code: 6036;
        msg: "Ed25519 signature verification data does not match expected format";
        name: "permissionlessOracleMalformedEd25519Data";
    }, {
        code: 6037;
        msg: "Ed25519 signature was not signed by the oracle authority";
        name: "permissionlessOracleSignerMismatch";
    }, {
        code: 6038;
        msg: "Signed message does not match instruction params";
        name: "permissionlessOracleMessageMismatch";
    }, {
        code: 6039;
        msg: "Exponent Mismatch betweeen operands";
        name: "exponentMismatch";
    }, {
        code: 6040;
        msg: "Invalid Close Ratio";
        name: "closeRatio";
    }, {
        code: 6041;
        msg: "Insufficient LP tokens staked";
        name: "insufficientStakeAmount";
    }, {
        code: 6042;
        msg: "Invalid Fee Deltas";
        name: "invalidFeeDeltas";
    }, {
        code: 6043;
        msg: "Invalid Fee Distrivution Custody";
        name: "invalidFeeDistributionCustody";
    }, {
        code: 6044;
        msg: "Invalid Collection";
        name: "invalidCollection";
    }, {
        code: 6045;
        msg: "Owner of Token Account does not match";
        name: "invalidOwner";
    }, {
        code: 6046;
        msg: "Only nft holders or referred users can trade";
        name: "invalidAccess";
    }, {
        code: 6047;
        msg: "Token Stake account doesnot match referral account";
        name: "tokenStakeAccountMismatch";
    }, {
        code: 6048;
        msg: "Max deposits reached";
        name: "maxDepostsReached";
    }, {
        code: 6049;
        msg: "Invalid Stop Loss price";
        name: "invalidStopLossPrice";
    }, {
        code: 6050;
        msg: "Invalid Take Profit price";
        name: "invalidTakeProfitPrice";
    }, {
        code: 6051;
        msg: "Max exposure limit exceeded for the market";
        name: "exposureLimitExceeded";
    }, {
        code: 6052;
        msg: "Stop Loss limit exhausted";
        name: "maxStopLossOrders";
    }, {
        code: 6053;
        msg: "Take Profit limit exhausted";
        name: "maxTakeProfitOrders";
    }, {
        code: 6054;
        msg: "Open order limit exhausted";
        name: "maxOpenOrder";
    }, {
        code: 6055;
        msg: "Invalid Order";
        name: "invalidOrder";
    }, {
        code: 6056;
        msg: "Invalid Limit price";
        name: "invalidLimitPrice";
    }, {
        code: 6057;
        msg: "Minimum reserve limit breached";
        name: "minReserve";
    }, {
        code: 6058;
        msg: "Withdraw Token Request limit exhausted";
        name: "maxWithdrawTokenRequest";
    }, {
        code: 6059;
        msg: "Invalid Reward Distribution";
        name: "invalidRewardDistribution";
    }, {
        code: 6060;
        msg: "Liquidity Token price is out of bounds";
        name: "lpPriceOutOfBounds";
    }, {
        code: 6061;
        msg: "Insufficient rebate reserves";
        name: "insufficientRebateReserves";
    }, {
        code: 6062;
        msg: "Oracle penalty already set on this position";
        name: "oraclePenaltyAlreadySet";
    }, {
        code: 6063;
        msg: "Invalid Lazer message";
        name: "invalidLazerMessage";
    }, {
        code: 6064;
        msg: "Invalid Lazer payload";
        name: "invalidLazerPayload";
    }, {
        code: 6065;
        msg: "Invalid Lazer channel";
        name: "invalidLazerChannel";
    }, {
        code: 6066;
        msg: "Invalid Lazer timestamp";
        name: "invalidLazerTimestamp";
    }, {
        code: 6067;
        msg: "Invalid amount for withdrawal";
        name: "invalidWithdrawal";
    }, {
        code: 6068;
        msg: "Invalid withdraw request ID";
        name: "invalidWithdrawRequestId";
    }, {
        code: 6069;
        msg: "Invalid whitelist account";
        name: "invalidWhitelistAccount";
    }, {
        code: 6070;
        msg: "Backup price out of bounds";
        name: "backupPriceDeviation";
    }, {
        code: 6071;
        msg: "Oracle confidence out of bounds";
        name: "oracleConfidenceOutOfBounds";
    }];
    events: [{
        discriminator: [250, 80, 8, 85, 212, 148, 93, 189];
        name: "addCollateralLog";
    }, {
        discriminator: [208, 254, 58, 223, 46, 169, 109, 20];
        name: "addCollateralLogUsDv1";
    }, {
        discriminator: [38, 112, 191, 36, 86, 85, 56, 130];
        name: "addCollateralLogV2";
    }, {
        discriminator: [175, 245, 91, 237, 142, 81, 179, 72];
        name: "addCollateralLogV3";
    }, {
        discriminator: [149, 197, 30, 77, 47, 199, 118, 121];
        name: "addCompoundingLiquidityLog";
    }, {
        discriminator: [174, 206, 97, 67, 145, 186, 208, 146];
        name: "addLiquidityAndStakeLog";
    }, {
        discriminator: [114, 59, 143, 173, 186, 139, 21, 124];
        name: "addLiquidityLog";
    }, {
        discriminator: [243, 86, 201, 255, 161, 254, 32, 103];
        name: "addLiquidityLogV2";
    }, {
        discriminator: [31, 202, 163, 228, 156, 84, 62, 195];
        name: "burnAndClaimLog";
    }, {
        discriminator: [56, 0, 133, 199, 93, 2, 193, 89];
        name: "burnAndStakeLog";
    }, {
        discriminator: [103, 102, 181, 28, 109, 173, 138, 187];
        name: "cancelLimitOrderLog";
    }, {
        discriminator: [210, 142, 214, 49, 213, 105, 198, 82];
        name: "cancelTriggerOrderLog";
    }, {
        discriminator: [175, 88, 47, 153, 222, 43, 242, 106];
        name: "cancelUnstakeTokenRequestLog";
    }, {
        discriminator: [167, 19, 205, 60, 241, 212, 98, 118];
        name: "cancelUnstakeTokenRequestLogV2";
    }, {
        discriminator: [45, 116, 23, 211, 45, 232, 190, 29];
        name: "closeAndSwapLog";
    }, {
        discriminator: [139, 57, 75, 40, 212, 107, 110, 19];
        name: "closeAndSwapLogUsDv1";
    }, {
        discriminator: [113, 101, 11, 97, 138, 46, 113, 211];
        name: "closePositionLog";
    }, {
        discriminator: [44, 100, 67, 33, 255, 1, 117, 100];
        name: "closePositionLogUsDv1";
    }, {
        discriminator: [90, 109, 181, 243, 141, 194, 217, 169];
        name: "closePositionLogV2";
    }, {
        discriminator: [67, 63, 63, 13, 180, 22, 82, 202];
        name: "closePositionLogV3";
    }, {
        discriminator: [15, 135, 219, 64, 131, 128, 116, 46];
        name: "collectRebateLog";
    }, {
        discriminator: [73, 175, 8, 200, 124, 185, 139, 238];
        name: "collectRevenueLog";
    }, {
        discriminator: [179, 199, 52, 29, 91, 172, 38, 122];
        name: "collectRevenueLogV2";
    }, {
        discriminator: [28, 123, 101, 0, 157, 175, 189, 235];
        name: "collectStakeRewardLog";
    }, {
        discriminator: [144, 33, 60, 77, 26, 23, 155, 202];
        name: "collectStakeRewardLogV2";
    }, {
        discriminator: [30, 194, 243, 166, 162, 139, 204, 167];
        name: "collectTokenRewardLog";
    }, {
        discriminator: [208, 193, 166, 56, 156, 9, 146, 134];
        name: "compoundingFeesLog";
    }, {
        discriminator: [178, 148, 11, 241, 33, 51, 85, 153];
        name: "decreaseSizeLog";
    }, {
        discriminator: [153, 62, 193, 112, 127, 49, 97, 186];
        name: "decreaseSizeLogUsDv1";
    }, {
        discriminator: [57, 25, 61, 35, 94, 151, 151, 19];
        name: "decreaseSizeLogV2";
    }, {
        discriminator: [217, 82, 1, 138, 33, 131, 35, 70];
        name: "decreaseSizeLogV3";
    }, {
        discriminator: [167, 37, 237, 7, 89, 30, 232, 252];
        name: "depositStakeLog";
    }, {
        discriminator: [186, 214, 215, 132, 49, 100, 21, 226];
        name: "depositTokenStakeLog";
    }, {
        discriminator: [110, 58, 233, 238, 250, 221, 121, 203];
        name: "depositTokenStakeLogV2";
    }, {
        discriminator: [245, 36, 94, 131, 251, 212, 127, 250];
        name: "distributeTokenRewardLog";
    }, {
        discriminator: [253, 67, 224, 184, 212, 129, 80, 202];
        name: "editLimitOrderLog";
    }, {
        discriminator: [85, 36, 70, 160, 127, 247, 206, 13];
        name: "editTriggerOrderLog";
    }, {
        discriminator: [56, 203, 215, 82, 174, 201, 4, 59];
        name: "executeLimitOrderLog";
    }, {
        discriminator: [157, 253, 170, 213, 56, 114, 0, 231];
        name: "executeLimitOrderLogUsDv1";
    }, {
        discriminator: [165, 90, 14, 189, 146, 204, 58, 10];
        name: "executeLimitOrderLogV2";
    }, {
        discriminator: [229, 50, 105, 173, 130, 115, 142, 77];
        name: "executeLimitWithSwapLog";
    }, {
        discriminator: [136, 112, 109, 134, 18, 20, 144, 240];
        name: "executeLimitWithSwapLogUsDv1";
    }, {
        discriminator: [164, 130, 158, 95, 142, 77, 238, 250];
        name: "executeLimitWithSwapLogV2";
    }, {
        discriminator: [145, 148, 23, 158, 211, 183, 171, 227];
        name: "executeTriggerOrderLog";
    }, {
        discriminator: [29, 242, 159, 21, 110, 131, 133, 251];
        name: "executeTriggerOrderLogUsDv1";
    }, {
        discriminator: [63, 205, 64, 135, 62, 252, 44, 38];
        name: "executeTriggerWithSwapLog";
    }, {
        discriminator: [142, 41, 162, 146, 126, 153, 143, 199];
        name: "executeTriggerWithSwapLogUsDv1";
    }, {
        discriminator: [19, 17, 159, 29, 151, 198, 220, 5];
        name: "forceSettleOrderLog";
    }, {
        discriminator: [192, 168, 53, 197, 70, 45, 146, 136];
        name: "forceSettlePositionLog";
    }, {
        discriminator: [239, 255, 3, 232, 119, 209, 127, 125];
        name: "forceSettleTriggerOrderLog";
    }, {
        discriminator: [186, 190, 64, 113, 120, 194, 84, 179];
        name: "increaseSizeLog";
    }, {
        discriminator: [146, 141, 52, 5, 176, 183, 52, 116];
        name: "increaseSizeLogUsDv1";
    }, {
        discriminator: [34, 185, 17, 69, 7, 87, 98, 214];
        name: "increaseSizeLogV2";
    }, {
        discriminator: [181, 126, 138, 28, 252, 210, 238, 65];
        name: "increaseSizeLogV3";
    }, {
        discriminator: [93, 79, 22, 133, 29, 140, 92, 157];
        name: "increaseSizeLogV4";
    }, {
        discriminator: [127, 98, 159, 131, 170, 88, 59, 80];
        name: "liquidateLog";
    }, {
        discriminator: [58, 111, 108, 15, 244, 203, 107, 70];
        name: "liquidateLogUsDv1";
    }, {
        discriminator: [133, 114, 231, 231, 2, 30, 148, 240];
        name: "liquidateLogV2";
    }, {
        discriminator: [193, 180, 21, 172, 48, 171, 179, 139];
        name: "liquidateLogV3";
    }, {
        discriminator: [107, 52, 120, 181, 112, 83, 178, 243];
        name: "migrateFlpLog";
    }, {
        discriminator: [63, 228, 42, 201, 178, 237, 203, 243];
        name: "migrateMarketPositionLog";
    }, {
        discriminator: [10, 172, 35, 245, 48, 90, 131, 206];
        name: "migratePositionLog";
    }, {
        discriminator: [54, 98, 239, 210, 54, 90, 19, 168];
        name: "migrateStakeLog";
    }, {
        discriminator: [174, 213, 219, 87, 187, 176, 5, 99];
        name: "moveProtocolFeesLog";
    }, {
        discriminator: [228, 131, 16, 201, 132, 249, 248, 151];
        name: "openPositionLog";
    }, {
        discriminator: [103, 209, 189, 124, 186, 196, 11, 195];
        name: "openPositionLogUsDv1";
    }, {
        discriminator: [87, 9, 35, 100, 127, 162, 168, 24];
        name: "openPositionLogV2";
    }, {
        discriminator: [240, 236, 169, 189, 73, 232, 131, 144];
        name: "openPositionLogV3";
    }, {
        discriminator: [233, 192, 213, 152, 42, 81, 109, 182];
        name: "openPositionLogV4";
    }, {
        discriminator: [36, 71, 20, 70, 138, 237, 173, 179];
        name: "placeLimitOrderLog";
    }, {
        discriminator: [156, 167, 167, 118, 66, 184, 115, 66];
        name: "placeTriggerOrderLog";
    }, {
        discriminator: [249, 110, 226, 78, 45, 120, 110, 15];
        name: "referralRebateLog";
    }, {
        discriminator: [120, 218, 48, 91, 206, 5, 128, 112];
        name: "refreshStakeLog";
    }, {
        discriminator: [175, 239, 119, 123, 254, 57, 129, 245];
        name: "refreshStakeUserLog";
    }, {
        discriminator: [72, 155, 111, 101, 228, 125, 255, 95];
        name: "refreshTokenStakeLog";
    }, {
        discriminator: [100, 14, 17, 101, 26, 231, 147, 98];
        name: "refreshTokenStakeUserLog";
    }, {
        discriminator: [243, 51, 219, 233, 138, 155, 101, 166];
        name: "refreshTokenStakeUserLogV2";
    }, {
        discriminator: [19, 106, 182, 174, 13, 116, 176, 71];
        name: "removeCollateralAndSwapLog";
    }, {
        discriminator: [57, 198, 154, 210, 91, 90, 58, 48];
        name: "removeCollateralAndSwapLogUsDv1";
    }, {
        discriminator: [43, 111, 136, 87, 50, 25, 78, 169];
        name: "removeCollateralLog";
    }, {
        discriminator: [186, 178, 166, 45, 204, 1, 41, 55];
        name: "removeCollateralLogUsDv1";
    }, {
        discriminator: [32, 127, 111, 212, 2, 19, 13, 212];
        name: "removeCollateralLogV2";
    }, {
        discriminator: [37, 51, 211, 151, 242, 15, 45, 196];
        name: "removeCollateralLogV3";
    }, {
        discriminator: [194, 33, 50, 13, 74, 29, 153, 170];
        name: "removeCompoundingLiquidityLog";
    }, {
        discriminator: [250, 48, 139, 147, 47, 0, 141, 238];
        name: "removeLiquidityLog";
    }, {
        discriminator: [63, 134, 50, 16, 0, 38, 55, 115];
        name: "removeLiquidityLogV2";
    }, {
        discriminator: [193, 248, 89, 21, 91, 130, 254, 170];
        name: "setPositionPriceImpactLog";
    }, {
        discriminator: [175, 108, 145, 18, 31, 51, 136, 67];
        name: "setTokenRewardLog";
    }, {
        discriminator: [106, 34, 206, 212, 60, 7, 106, 87];
        name: "settleRebatesLog";
    }, {
        discriminator: [30, 181, 15, 57, 79, 255, 171, 108];
        name: "swapAndAddCollateralLog";
    }, {
        discriminator: [60, 199, 127, 190, 2, 94, 69, 62];
        name: "swapAndAddCollateralLogUsDv1";
    }, {
        discriminator: [137, 100, 126, 197, 194, 89, 63, 192];
        name: "swapAndOpenLog";
    }, {
        discriminator: [193, 120, 82, 15, 111, 120, 72, 114];
        name: "swapAndOpenLogUsDv1";
    }, {
        discriminator: [184, 7, 31, 86, 30, 165, 246, 214];
        name: "swapAndOpenLogV2";
    }, {
        discriminator: [144, 203, 250, 47, 65, 104, 9, 27];
        name: "swapFeeInternalLog";
    }, {
        discriminator: [148, 127, 83, 99, 18, 175, 81, 36];
        name: "swapFeeInternalLogV2";
    }, {
        discriminator: [1, 214, 217, 111, 7, 3, 165, 244];
        name: "swapFeeInternalLogV3";
    }, {
        discriminator: [200, 151, 62, 49, 224, 50, 16, 222];
        name: "swapLog";
    }, {
        discriminator: [102, 202, 211, 38, 135, 65, 39, 223];
        name: "swapLogV2";
    }, {
        discriminator: [90, 247, 157, 57, 255, 73, 212, 240];
        name: "unstakeInstantLog";
    }, {
        discriminator: [160, 43, 111, 217, 41, 24, 11, 238];
        name: "unstakeRequestLog";
    }, {
        discriminator: [166, 145, 163, 61, 239, 58, 181, 242];
        name: "unstakeTokenRequestLog";
    }, {
        discriminator: [63, 191, 214, 167, 84, 39, 36, 163];
        name: "unstakeTokenRequestLogV2";
    }, {
        discriminator: [40, 154, 4, 169, 61, 213, 164, 37];
        name: "voltagePointsLog";
    }, {
        discriminator: [67, 13, 186, 221, 39, 131, 140, 69];
        name: "withdrawStakeLog";
    }, {
        discriminator: [100, 187, 28, 21, 254, 13, 160, 187];
        name: "withdrawTokenLog";
    }, {
        discriminator: [236, 140, 1, 24, 101, 104, 29, 2];
        name: "withdrawTokenLogV2";
    }];
    instructions: [{
        accounts: [{
            name: "owner";
            relations: ["fundingAccount", "position"];
            signer: true;
        }, {
            name: "fundingAccount";
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "market";
            writable: true;
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "collateralCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "fundingTokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "fundingMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "addCollateralParams";
                };
            };
        }];
        discriminator: [127, 82, 121, 42, 161, 176, 249, 206];
        name: "addCollateral";
    }, {
        accounts: [{
            name: "owner";
            relations: ["fundingAccount", "compoundingTokenAccount"];
            signer: true;
            writable: true;
        }, {
            name: "fundingAccount";
            writable: true;
        }, {
            name: "compoundingTokenAccount";
            writable: true;
        }, {
            name: "poolCompoundingLpVault";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "inCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "in_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "inCustodyOracleAccount";
        }, {
            name: "inCustodyTokenAccount";
            writable: true;
        }, {
            name: "rewardCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reward_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "rewardCustodyOracleAccount";
        }, {
            name: "lpTokenMint";
            writable: true;
        }, {
            name: "compoundingTokenMint";
            writable: true;
        }, {
            name: "tokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "fundingMint";
        }, {
            name: "fundingTokenProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "addCompoundingLiquidityParams";
                };
            };
        }];
        discriminator: [244, 231, 42, 192, 190, 134, 3, 52];
        name: "addCompoundingLiquidity";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "custody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    kind: "account";
                    path: "custodyTokenMint";
                }];
            };
            writable: true;
        }, {
            name: "custodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    kind: "account";
                    path: "custodyTokenMint";
                }];
            };
            writable: true;
        }, {
            name: "custodyTokenMint";
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "tokenProgram";
        }, {
            address: "SysvarRent111111111111111111111111111111111";
            name: "rent";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "addCustodyParams";
                };
            };
        }];
        discriminator: [247, 254, 126, 17, 26, 6, 215, 117];
        name: "addCustody";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            docs: ["This account is initialized with the CPI to the token program"];
            name: "custodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    kind: "account";
                    path: "custodyTokenMint";
                }];
            };
            writable: true;
        }, {
            name: "custodyTokenMint";
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "tokenProgram";
        }, {
            address: "SysvarRent111111111111111111111111111111111";
            name: "rent";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "addCustodyToken22AccountParams";
                };
            };
        }];
        discriminator: [229, 93, 10, 241, 190, 214, 251, 121];
        name: "addCustodyToken22Account";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
        }, {
            name: "custodyTokenMint";
        }, {
            name: "intOracleAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [111, 114, 97, 99, 108, 101, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "custodyTokenMint";
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            address: "SysvarRent111111111111111111111111111111111";
            name: "rent";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "addInternalOracleParams";
                };
            };
        }];
        discriminator: [228, 234, 14, 190, 206, 249, 115, 167];
        name: "addInternalOracle";
        returns: "u8";
    }, {
        accounts: [{
            name: "owner";
            relations: ["fundingAccount", "lpTokenAccount"];
            signer: true;
        }, {
            name: "fundingAccount";
            writable: true;
        }, {
            name: "lpTokenAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "custody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "custodyOracleAccount";
        }, {
            name: "custodyTokenAccount";
            writable: true;
        }, {
            name: "lpTokenMint";
            writable: true;
        }, {
            name: "tokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "fundingMint";
        }, {
            name: "fundingTokenProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "addLiquidityParams";
                };
            };
        }];
        discriminator: [181, 157, 89, 67, 143, 182, 52, 72];
        name: "addLiquidity";
        returns: "u64";
    }, {
        accounts: [{
            name: "owner";
            relations: ["fundingAccount"];
            signer: true;
        }, {
            name: "feePayer";
            signer: true;
            writable: true;
        }, {
            name: "fundingAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "custody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "custodyOracleAccount";
        }, {
            name: "custodyTokenAccount";
            writable: true;
        }, {
            name: "lpTokenMint";
            writable: true;
        }, {
            name: "flpStakeAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [115, 116, 97, 107, 101];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "pool";
                }];
            };
            writable: true;
        }, {
            name: "poolStakedLpVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [115, 116, 97, 107, 101, 100, 95, 108, 112, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.lp_mint";
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "tokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "fundingMint";
        }, {
            name: "fundingTokenProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "addLiquidityAndStakeParams";
                };
            };
        }];
        discriminator: [147, 224, 159, 3, 162, 147, 199, 244];
        name: "addLiquidityAndStake";
        returns: "u64";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "market";
            writable: true;
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            address: "SysvarRent111111111111111111111111111111111";
            name: "rent";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "addMarketParams";
                };
            };
        }];
        discriminator: [41, 137, 185, 126, 69, 139, 254, 55];
        name: "addMarket";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "oracleAuthority";
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
            writable: true;
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    kind: "arg";
                    path: "params.name";
                }];
            };
            writable: true;
        }, {
            name: "lpTokenMint";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [108, 112, 95, 116, 111, 107, 101, 110, 95, 109, 105, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }];
            };
            writable: true;
        }, {
            name: "metadataAccount";
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "tokenProgram";
        }, {
            address: "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s";
            name: "metadataProgram";
        }, {
            address: "SysvarRent111111111111111111111111111111111";
            name: "rent";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "addPoolParams";
                };
            };
        }];
        discriminator: [115, 230, 212, 211, 175, 49, 39, 169];
        name: "addPool";
        returns: "u8";
    }, {
        accounts: [{
            name: "position";
        }, {
            name: "order";
            writable: true;
        }, {
            name: "eventAuthority";
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }];
        args: [];
        discriminator: [130, 108, 33, 153, 228, 31, 216, 219];
        name: "cancelAllTriggerOrders";
    }, {
        accounts: [{
            name: "owner";
            relations: ["receivingAccount", "order"];
            signer: true;
        }, {
            name: "receivingAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "order";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [111, 114, 100, 101, 114];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    account: "order";
                    kind: "account";
                    path: "order.market";
                }];
            };
            writable: true;
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
        }, {
            name: "reserveCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reserve_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "reserveCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reserve_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "reserveTokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            name: "reserveMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "cancelLimitOrderParams";
                };
            };
        }];
        discriminator: [132, 156, 132, 31, 67, 40, 232, 97];
        name: "cancelLimitOrder";
    }, {
        accounts: [{
            name: "owner";
            relations: ["order"];
            signer: true;
        }, {
            name: "order";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [111, 114, 100, 101, 114];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    account: "order";
                    kind: "account";
                    path: "order.market";
                }];
            };
            writable: true;
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "cancelTriggerOrderParams";
                };
            };
        }];
        discriminator: [144, 84, 67, 39, 27, 25, 202, 141];
        name: "cancelTriggerOrder";
    }, {
        accounts: [{
            name: "owner";
            signer: true;
        }, {
            name: "tokenVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "tokenStakeAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 115, 116, 97, 107, 101];
                }, {
                    kind: "account";
                    path: "owner";
                }];
            };
            writable: true;
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "cancelUnstakeTokenRequestParams";
                };
            };
        }];
        discriminator: [145, 133, 31, 216, 203, 198, 96, 8];
        name: "cancelUnstakeTokenRequest";
    }, {
        accounts: [{
            name: "owner";
            relations: ["position"];
            signer: true;
            writable: true;
        }, {
            name: "feePayer";
            signer: true;
            writable: true;
        }, {
            name: "receivingAccount";
            writable: true;
        }, {
            name: "collateralAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    account: "position";
                    kind: "account";
                    path: "position.owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "market";
            writable: true;
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "collateralCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "dispensingCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "dispensing_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "dispensingOracleAccount";
        }, {
            name: "dispensingCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "dispensing_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "receivingTokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "receivingMint";
        }, {
            name: "collateralMint";
        }, {
            name: "collateralTokenProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "closeAndSwapParams";
                };
            };
        }];
        discriminator: [147, 164, 185, 240, 155, 33, 165, 125];
        name: "closeAndSwap";
    }, {
        accounts: [{
            name: "owner";
            relations: ["receivingAccount", "position"];
            signer: true;
        }, {
            name: "feePayer";
            signer: true;
            writable: true;
        }, {
            name: "receivingAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "market";
            writable: true;
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "collateralCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "collateralTokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "collateralMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "closePositionParams";
                };
            };
        }];
        discriminator: [123, 134, 81, 0, 49, 68, 98, 98];
        name: "closePosition";
        returns: "u64";
    }, {
        accounts: [{
            name: "owner";
            relations: ["receivingTokenAccount"];
            signer: true;
            writable: true;
        }, {
            name: "receivingTokenAccount";
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "rebateVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [114, 101, 98, 97, 116, 101, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }, {
            name: "rebateTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [114, 101, 98, 97, 116, 101, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }];
            };
            writable: true;
        }, {
            name: "tokenStakeAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 115, 116, 97, 107, 101];
                }, {
                    kind: "account";
                    path: "owner";
                }];
            };
            writable: true;
        }, {
            name: "tokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            name: "receivingTokenMint";
        }];
        args: [];
        discriminator: [211, 159, 122, 61, 195, 246, 132, 15];
        name: "collectRebate";
    }, {
        accounts: [{
            name: "owner";
            relations: ["receivingRevenueAccount"];
            signer: true;
            writable: true;
        }, {
            name: "receivingRevenueAccount";
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "tokenVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }, {
            name: "revenueTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [114, 101, 118, 101, 110, 117, 101, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }];
            };
            writable: true;
        }, {
            name: "tokenStakeAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 115, 116, 97, 107, 101];
                }, {
                    kind: "account";
                    path: "owner";
                }];
            };
            writable: true;
        }, {
            name: "tokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            name: "receivingTokenMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "collectRevenueParams";
                };
            };
        }];
        discriminator: [87, 96, 211, 36, 240, 43, 246, 87];
        name: "collectRevenue";
    }, {
        accounts: [{
            name: "owner";
            relations: ["receivingTokenAccount"];
            signer: true;
            writable: true;
        }, {
            name: "receivingTokenAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "feeCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "fee_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "flpStakeAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [115, 116, 97, 107, 101];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "pool";
                }];
            };
            writable: true;
        }, {
            name: "feeCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "fee_custody.mint";
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "tokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "receivingMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "collectStakeRewardParams";
                };
            };
        }];
        discriminator: [61, 174, 225, 165, 103, 145, 250, 181];
        name: "collectStakeFees";
        returns: "u64";
    }, {
        accounts: [{
            name: "owner";
            relations: ["receivingTokenAccount"];
            signer: true;
            writable: true;
        }, {
            name: "receivingTokenAccount";
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "tokenVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }, {
            name: "tokenVaultTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }];
            };
            writable: true;
        }, {
            name: "tokenStakeAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 115, 116, 97, 107, 101];
                }, {
                    kind: "account";
                    path: "owner";
                }];
            };
            writable: true;
        }, {
            name: "tokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            name: "tokenMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "collectTokenRewardParams";
                };
            };
        }];
        discriminator: [115, 9, 132, 251, 3, 78, 40, 40];
        name: "collectTokenReward";
    }, {
        accounts: [{
            name: "poolCompoundingLpVault";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "rewardCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reward_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "rewardCustodyOracleAccount";
        }, {
            name: "lpTokenMint";
            writable: true;
        }, {
            name: "tokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "compoundFeesParams";
                };
            };
        }];
        discriminator: [133, 54, 141, 29, 83, 112, 130, 197];
        name: "compoundFees";
        returns: "u64";
    }, {
        accounts: [{
            name: "owner";
            signer: true;
            writable: true;
        }, {
            name: "feePayer";
            signer: true;
            writable: true;
        }, {
            name: "tokenStakeAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 115, 116, 97, 107, 101];
                }, {
                    account: "tokenStake";
                    kind: "account";
                    path: "token_stake_account.owner";
                }];
            };
        }, {
            name: "referralAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [114, 101, 102, 101, 114, 114, 97, 108];
                }, {
                    kind: "account";
                    path: "owner";
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "createReferralParams";
                };
            };
        }];
        discriminator: [61, 17, 240, 245, 172, 66, 159, 232];
        name: "createReferral";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "owner";
        }, {
            name: "whitelist";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [119, 104, 105, 116, 101, 108, 105, 115, 116];
                }, {
                    kind: "account";
                    path: "owner";
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "createWhitelistParams";
                };
            };
        }];
        discriminator: [89, 182, 231, 206, 68, 173, 60, 6];
        name: "createWhitelist";
        returns: "u8";
    }, {
        accounts: [{
            name: "owner";
            relations: ["position"];
            signer: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "market";
            writable: true;
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "collateralCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "collateralTokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "collateralMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "decreaseSizeParams";
                };
            };
        }];
        discriminator: [171, 28, 203, 29, 118, 16, 214, 169];
        name: "decreaseSize";
    }, {
        accounts: [{
            name: "owner";
            relations: ["fundingLpTokenAccount"];
            signer: true;
        }, {
            name: "feePayer";
            signer: true;
            writable: true;
        }, {
            name: "fundingLpTokenAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "flpStakeAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [115, 116, 97, 107, 101];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "pool";
                }];
            };
            writable: true;
        }, {
            name: "poolStakedLpVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [115, 116, 97, 107, 101, 100, 95, 108, 112, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.lp_mint";
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "tokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            name: "lpTokenMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "depositStakeParams";
                };
            };
        }];
        discriminator: [160, 167, 9, 220, 74, 243, 228, 43];
        name: "depositStake";
    }, {
        accounts: [{
            name: "owner";
            relations: ["fundingTokenAccount"];
            signer: true;
            writable: true;
        }, {
            name: "feePayer";
            signer: true;
            writable: true;
        }, {
            name: "fundingTokenAccount";
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "tokenVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }, {
            name: "tokenVaultTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }];
            };
            writable: true;
        }, {
            name: "tokenStakeAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 115, 116, 97, 107, 101];
                }, {
                    kind: "account";
                    path: "owner";
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "tokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            name: "tokenMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "depositTokenStakeParams";
                };
            };
        }];
        discriminator: [105, 77, 29, 66, 28, 35, 183, 10];
        name: "depositTokenStake";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "fundingTokenAccount";
            writable: true;
        }, {
            name: "tokenVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }, {
            name: "tokenVaultTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }];
            };
            writable: true;
        }, {
            name: "tokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            name: "tokenMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "distributeTokenRewardParams";
                };
            };
        }];
        discriminator: [150, 187, 53, 202, 188, 238, 252, 32];
        name: "distributeTokenReward";
        returns: "u8";
    }, {
        accounts: [{
            name: "owner";
            relations: ["receivingAccount", "order"];
            signer: true;
            writable: true;
        }, {
            name: "feePayer";
            signer: true;
            writable: true;
        }, {
            name: "receivingAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
        }, {
            name: "order";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [111, 114, 100, 101, 114];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "market";
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "reserveCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reserve_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "reserveOracleAccount";
        }, {
            name: "reserveCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reserve_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "receiveCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "receive_custody.mint";
                }];
            };
        }, {
            name: "receivingTokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "receivingMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "editLimitOrderParams";
                };
            };
        }];
        discriminator: [42, 114, 3, 11, 137, 245, 206, 50];
        name: "editLimitOrder";
    }, {
        accounts: [{
            name: "owner";
            relations: ["position", "order"];
            signer: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
        }, {
            name: "order";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [111, 114, 100, 101, 114];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "market";
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "receiveCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "receive_custody.mint";
                }];
            };
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "editTriggerOrderParams";
                };
            };
        }];
        discriminator: [180, 43, 215, 112, 254, 116, 20, 133];
        name: "editTriggerOrder";
    }, {
        accounts: [{
            name: "positionOwner";
            writable: true;
        }, {
            name: "feePayer";
            signer: true;
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    account: "order";
                    kind: "account";
                    path: "order.owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "order";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [111, 114, 100, 101, 114];
                }, {
                    account: "order";
                    kind: "account";
                    path: "order.owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "market";
            writable: true;
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "collateralCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "collateralTokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "collateralMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "executeLimitOrderParams";
                };
            };
        }];
        discriminator: [52, 33, 60, 30, 47, 100, 40, 22];
        name: "executeLimitOrder";
    }, {
        accounts: [{
            name: "positionOwner";
            writable: true;
        }, {
            name: "feePayer";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "reserveCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reserve_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "reserveCustodyOracleAccount";
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    account: "order";
                    kind: "account";
                    path: "order.owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "order";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [111, 114, 100, 101, 114];
                }, {
                    account: "order";
                    kind: "account";
                    path: "order.owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "market";
            writable: true;
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "collateralCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "collateralTokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "collateralMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "executeLimitWithSwapParams";
                };
            };
        }];
        discriminator: [253, 77, 100, 122, 194, 179, 54, 45];
        name: "executeLimitWithSwap";
    }, {
        accounts: [{
            name: "positionOwner";
            writable: true;
        }, {
            name: "feePayer";
            writable: true;
        }, {
            name: "receivingAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    account: "order";
                    kind: "account";
                    path: "order.owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "order";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [111, 114, 100, 101, 114];
                }, {
                    account: "order";
                    kind: "account";
                    path: "order.owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "market";
            writable: true;
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "collateralCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "receivingTokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "receivingMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "executeTriggerOrderParams";
                };
            };
        }];
        discriminator: [105, 10, 104, 136, 215, 134, 84, 171];
        name: "executeTriggerOrder";
    }, {
        accounts: [{
            name: "positionOwner";
            writable: true;
        }, {
            name: "feePayer";
            writable: true;
        }, {
            name: "receivingAccount";
            writable: true;
        }, {
            name: "collateralAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    account: "order";
                    kind: "account";
                    path: "order.owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "order";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [111, 114, 100, 101, 114];
                }, {
                    account: "order";
                    kind: "account";
                    path: "order.owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "market";
            writable: true;
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "collateralCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "dispensingCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "dispensing_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "dispensingOracleAccount";
        }, {
            name: "dispensingCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "dispensing_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "receivingMint";
        }, {
            name: "receivingTokenProgram";
        }, {
            name: "collateralMint";
        }, {
            name: "collateralTokenProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "executeTriggerWithSwapParams";
                };
            };
        }];
        discriminator: [198, 68, 87, 43, 203, 171, 123, 82];
        name: "executeTriggerWithSwap";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "receivingAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "order";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [111, 114, 100, 101, 114];
                }, {
                    account: "order";
                    kind: "account";
                    path: "order.owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "market";
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "reserveCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reserve_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "reserveCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reserve_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "reserveTokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "reserveMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "forceSettleOrderParams";
                };
            };
        }];
        discriminator: [101, 22, 147, 162, 252, 227, 60, 187];
        name: "forceSettleOrder";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "receivingAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    account: "position";
                    kind: "account";
                    path: "position.owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "market";
            writable: true;
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "collateralCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "collateralTokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "collateralMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "forceSettlePositionParams";
                };
            };
        }];
        discriminator: [186, 54, 180, 26, 133, 30, 216, 167];
        name: "forceSettlePosition";
        returns: "u8";
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "position";
        }, {
            name: "market";
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "receivingCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "receiving_custody.mint";
                }];
            };
        }, {
            name: "receivingOracleAccount";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "getAddCollateralQuoteParams";
                };
            };
        }];
        discriminator: [103, 106, 18, 57, 44, 127, 202, 159];
        name: "getAddCollateralQuote";
        returns: {
            defined: {
                name: "addCollateralQuoteData";
            };
        };
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "inCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "in_custody.mint";
                }];
            };
        }, {
            name: "inCustodyOracleAccount";
        }, {
            name: "rewardCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reward_custody.mint";
                }];
            };
        }, {
            name: "rewardCustodyOracleAccount";
        }, {
            name: "lpTokenMint";
        }, {
            name: "compoundingTokenMint";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "GetAddCompoundingLiquidityAmountAndFeeParams";
                };
            };
        }];
        discriminator: [29, 1, 144, 58, 190, 228, 125, 229];
        name: "getAddCompoundingLiquidityAmountAndFee";
        returns: {
            defined: {
                name: "amountAndFee";
            };
        };
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "custody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "custody.mint";
                }];
            };
        }, {
            name: "custodyOracleAccount";
        }, {
            name: "lpTokenMint";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "getAddLiquidityAmountAndFeeParams";
                };
            };
        }];
        discriminator: [172, 150, 249, 181, 233, 241, 78, 139];
        name: "getAddLiquidityAmountAndFee";
        returns: {
            defined: {
                name: "amountAndFee";
            };
        };
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "getAssetsUnderManagementParams";
                };
            };
        }];
        discriminator: [44, 3, 161, 69, 174, 75, 137, 162];
        name: "getAssetsUnderManagement";
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "market";
        }, {
            name: "position";
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "dispensingCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "dispensing_custody.mint";
                }];
            };
        }, {
            name: "dispensingOracleAccount";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "getClosePositionQuoteParams";
                };
            };
        }];
        discriminator: [94, 207, 132, 38, 227, 145, 139, 133];
        name: "getClosePositionQuote";
        returns: {
            defined: {
                name: "closePositionQuoteData";
            };
        };
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "lpTokenMint";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [108, 112, 95, 116, 111, 107, 101, 110, 95, 109, 105, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }];
            };
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "getCompoundingTokenDataParams";
                };
            };
        }];
        discriminator: [108, 158, 186, 227, 231, 199, 25, 110];
        name: "getCompoundingTokenData";
        returns: {
            defined: {
                name: "compoundingTokenData";
            };
        };
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "lpTokenMint";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [108, 112, 95, 116, 111, 107, 101, 110, 95, 109, 105, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }];
            };
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "getCompoundingTokenPriceParams";
                };
            };
        }];
        discriminator: [129, 82, 182, 136, 95, 171, 44, 63];
        name: "getCompoundingTokenPrice";
        returns: "u64";
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "market";
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
        }, {
            name: "collateralOracleAccount";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "getEntryPriceAndFeeParams";
                };
            };
        }];
        discriminator: [134, 30, 231, 199, 83, 72, 27, 99];
        name: "getEntryPriceAndFee";
        returns: {
            defined: {
                name: "newPositionPricesAndFee";
            };
        };
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    account: "position";
                    kind: "account";
                    path: "position.owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
        }, {
            name: "market";
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
        }, {
            name: "collateralOracleAccount";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "getExitPriceAndFeeParams";
                };
            };
        }];
        discriminator: [73, 77, 94, 31, 8, 9, 92, 32];
        name: "getExitPriceAndFee";
        returns: {
            defined: {
                name: "priceAndFee";
            };
        };
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    account: "position";
                    kind: "account";
                    path: "position.owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
        }, {
            name: "market";
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
        }, {
            name: "collateralOracleAccount";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "getLiquidationPriceParams";
                };
            };
        }];
        discriminator: [73, 174, 119, 65, 149, 5, 73, 239];
        name: "getLiquidationPrice";
        returns: {
            defined: {
                name: "oraclePrice";
            };
        };
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    account: "position";
                    kind: "account";
                    path: "position.owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
        }, {
            name: "market";
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
        }, {
            name: "collateralOracleAccount";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "getLiquidationStateParams";
                };
            };
        }];
        discriminator: [127, 126, 199, 117, 90, 89, 29, 50];
        name: "getLiquidationState";
        returns: "u8";
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "lpTokenMint";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [108, 112, 95, 116, 111, 107, 101, 110, 95, 109, 105, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }];
            };
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "getLpTokenPriceParams";
                };
            };
        }];
        discriminator: [71, 172, 21, 25, 176, 168, 60, 10];
        name: "getLpTokenPrice";
        returns: "u64";
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "market";
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "receivingCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "receiving_custody.mint";
                }];
            };
        }, {
            name: "receivingCustodyOracleAccount";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "getOpenPositionQuoteParams";
                };
            };
        }];
        discriminator: [41, 125, 167, 65, 176, 136, 144, 58];
        name: "getOpenPositionQuote";
        returns: {
            defined: {
                name: "openPositionQuoteData";
            };
        };
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "custody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "custody.mint";
                }];
            };
        }, {
            name: "custodyOracleAccount";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "getOraclePriceParams";
                };
            };
        }];
        discriminator: [200, 20, 0, 106, 56, 210, 230, 140];
        name: "getOraclePrice";
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    account: "position";
                    kind: "account";
                    path: "position.owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
        }, {
            name: "market";
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "custodyOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
        }, {
            name: "collateralOracleAccount";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "getPnlParams";
                };
            };
        }];
        discriminator: [106, 212, 3, 250, 195, 224, 64, 160];
        name: "getPnl";
        returns: {
            defined: {
                name: "profitAndLoss";
            };
        };
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    account: "position";
                    kind: "account";
                    path: "position.owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
        }, {
            name: "market";
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "custodyOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
        }, {
            name: "collateralOracleAccount";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "getPositionDataParams";
                };
            };
        }];
        discriminator: [58, 14, 217, 248, 114, 44, 212, 140];
        name: "getPositionData";
        returns: {
            defined: {
                name: "positionData";
            };
        };
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "position";
        }, {
            name: "market";
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "dispensingCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "dispensing_custody.mint";
                }];
            };
        }, {
            name: "dispensingOracleAccount";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "getRemoveCollateralQuoteParams";
                };
            };
        }];
        discriminator: [194, 54, 218, 133, 18, 59, 109, 253];
        name: "getRemoveCollateralQuote";
        returns: {
            defined: {
                name: "removeCollateralQuoteData";
            };
        };
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "outCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "out_custody.mint";
                }];
            };
        }, {
            name: "outCustodyOracleAccount";
        }, {
            name: "rewardCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reward_custody.mint";
                }];
            };
        }, {
            name: "rewardCustodyOracleAccount";
        }, {
            name: "lpTokenMint";
        }, {
            name: "compoundingTokenMint";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "getRemoveCompoundingLiquidityAmountAndFeeParams";
                };
            };
        }];
        discriminator: [90, 9, 144, 220, 42, 82, 41, 95];
        name: "getRemoveCompoundingLiquidityAmountAndFee";
        returns: {
            defined: {
                name: "amountAndFee";
            };
        };
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "custody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "custody.mint";
                }];
            };
        }, {
            name: "custodyOracleAccount";
        }, {
            name: "lpTokenMint";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [108, 112, 95, 116, 111, 107, 101, 110, 95, 109, 105, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }];
            };
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "getRemoveLiquidityAmountAndFeeParams";
                };
            };
        }];
        discriminator: [194, 226, 233, 102, 14, 21, 196, 7];
        name: "getRemoveLiquidityAmountAndFee";
        returns: {
            defined: {
                name: "amountAndFee";
            };
        };
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "receivingCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "receiving_custody.mint";
                }];
            };
        }, {
            name: "receivingCustodyOracleAccount";
        }, {
            name: "dispensingCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "dispensing_custody.mint";
                }];
            };
        }, {
            name: "dispensingCustodyOracleAccount";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "getSwapAmountAndFeesParams";
                };
            };
        }];
        discriminator: [247, 121, 40, 99, 35, 82, 100, 32];
        name: "getSwapAmountAndFees";
        returns: {
            defined: {
                name: "swapAmountAndFees";
            };
        };
    }, {
        accounts: [{
            name: "owner";
            relations: ["position"];
            signer: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "market";
            writable: true;
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "collateralCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "collateralTokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "collateralMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "increaseSizeParams";
                };
            };
        }];
        discriminator: [107, 13, 141, 238, 152, 165, 96, 87];
        name: "increaseSize";
    }, {
        accounts: [{
            name: "upgradeAuthority";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
            writable: true;
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "perpetualsProgram";
        }, {
            name: "perpetualsProgramData";
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "tokenProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "initParams";
                };
            };
        }];
        discriminator: [220, 59, 207, 236, 108, 250, 47, 100];
        name: "init";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "lpTokenMint";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [108, 112, 95, 116, 111, 107, 101, 110, 95, 109, 105, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }];
            };
        }, {
            name: "compoundingVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 111, 109, 112, 111, 117, 110, 100, 105, 110, 103, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    kind: "account";
                    path: "lpTokenMint";
                }];
            };
            writable: true;
        }, {
            name: "compoundingTokenMint";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 111, 109, 112, 111, 117, 110, 100, 105, 110, 103, 95, 116, 111, 107, 101, 110, 95, 109, 105, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }];
            };
            writable: true;
        }, {
            name: "metadataAccount";
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "tokenProgram";
        }, {
            address: "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s";
            name: "metadataProgram";
        }, {
            address: "SysvarRent111111111111111111111111111111111";
            name: "rent";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "initCompoundingParams";
                };
            };
        }];
        discriminator: [69, 90, 204, 111, 156, 140, 138, 184];
        name: "initCompounding";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "rebateMint";
        }, {
            name: "rebateTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [114, 101, 98, 97, 116, 101, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }];
            };
            writable: true;
        }, {
            name: "rebateVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [114, 101, 98, 97, 116, 101, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "tokenProgram";
        }, {
            address: "SysvarRent111111111111111111111111111111111";
            name: "rent";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "initRebateVaultParams";
                };
            };
        }];
        discriminator: [250, 123, 188, 186, 176, 127, 253, 61];
        name: "initRebateVault";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "tokenVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }, {
            name: "rewardMint";
        }, {
            name: "revenueTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [114, 101, 118, 101, 110, 117, 101, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }];
            };
            writable: true;
        }, {
            name: "protocolVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 114, 111, 116, 111, 99, 111, 108, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }, {
            name: "protocolTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 114, 111, 116, 111, 99, 111, 108, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "tokenProgram";
        }, {
            address: "SysvarRent111111111111111111111111111111111";
            name: "rent";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "initRevenueTokenAccountParams";
                };
            };
        }];
        discriminator: [235, 126, 219, 143, 29, 74, 149, 161];
        name: "initRevenueTokenAccount";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "custody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "lpTokenMint";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [108, 112, 95, 116, 111, 107, 101, 110, 95, 109, 105, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }];
            };
        }, {
            name: "stakedLpTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [115, 116, 97, 107, 101, 100, 95, 108, 112, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    kind: "account";
                    path: "lpTokenMint";
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "tokenProgram";
        }, {
            address: "SysvarRent111111111111111111111111111111111";
            name: "rent";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "initStakingParams";
                };
            };
        }];
        discriminator: [42, 18, 242, 224, 66, 32, 122, 8];
        name: "initStaking";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "fundingTokenAccount";
            writable: true;
        }, {
            name: "tokenMint";
        }, {
            name: "tokenVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }, {
            name: "tokenVaultTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "tokenProgram";
        }, {
            address: "SysvarRent111111111111111111111111111111111";
            name: "rent";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "initTokenVaultParams";
                };
            };
        }];
        discriminator: [203, 26, 194, 169, 252, 226, 179, 180];
        name: "initTokenVault";
        returns: "u8";
    }, {
        accounts: [{
            name: "signer";
            signer: true;
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    account: "position";
                    kind: "account";
                    path: "position.owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "market";
            writable: true;
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "liquidateParams";
                };
            };
        }];
        discriminator: [223, 179, 226, 125, 48, 46, 39, 74];
        name: "liquidate";
    }, {
        accounts: [{
            name: "owner";
            relations: ["compoundingTokenAccount"];
            signer: true;
            writable: true;
        }, {
            name: "compoundingTokenAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "flpStakeAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [115, 116, 97, 107, 101];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "pool";
                }];
            };
            writable: true;
        }, {
            name: "rewardCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reward_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "rewardCustodyOracleAccount";
        }, {
            name: "poolStakedLpVault";
            writable: true;
        }, {
            name: "poolCompoundingLpVault";
            writable: true;
        }, {
            name: "lpTokenMint";
            writable: true;
        }, {
            name: "compoundingTokenMint";
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "tokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "migrateFlpParams";
                };
            };
        }];
        discriminator: [44, 141, 31, 32, 240, 175, 17, 193];
        name: "migrateFlp";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "oldOrder";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [111, 114, 100, 101, 114];
                }, {
                    account: "order";
                    kind: "account";
                    path: "old_order.owner";
                }, {
                    kind: "account";
                    path: "oldMarket";
                }];
            };
            writable: true;
        }, {
            name: "oldMarket";
        }, {
            name: "newOrder";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [111, 114, 100, 101, 114];
                }, {
                    account: "order";
                    kind: "account";
                    path: "old_order.owner";
                }, {
                    kind: "account";
                    path: "newMarket";
                }];
            };
            writable: true;
        }, {
            name: "newPosition";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    account: "order";
                    kind: "account";
                    path: "old_order.owner";
                }, {
                    kind: "account";
                    path: "newMarket";
                }];
            };
            writable: true;
        }, {
            name: "newMarket";
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "migrateMarketOrderParams";
                };
            };
        }];
        discriminator: [201, 167, 49, 9, 184, 67, 47, 132];
        name: "migrateMarketOrder";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "oldPosition";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    account: "position";
                    kind: "account";
                    path: "old_position.owner";
                }, {
                    kind: "account";
                    path: "oldMarket";
                }];
            };
            writable: true;
        }, {
            name: "oldMarket";
            writable: true;
        }, {
            name: "oldCollateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "old_collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "oldCollateralOracleAccount";
        }, {
            name: "newPosition";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    account: "position";
                    kind: "account";
                    path: "old_position.owner";
                }, {
                    kind: "account";
                    path: "newMarket";
                }];
            };
            writable: true;
        }, {
            name: "newMarket";
            writable: true;
        }, {
            name: "newCollateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "new_collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "newCollateralOracleAccount";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "migrateMarketPositionParams";
                };
            };
        }];
        discriminator: [8, 127, 1, 112, 142, 206, 43, 189];
        name: "migrateMarketPosition";
        returns: "u8";
    }, {
        accounts: [{
            name: "owner";
            relations: ["compoundingTokenAccount"];
            signer: true;
        }, {
            name: "compoundingTokenAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "flpStakeAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [115, 116, 97, 107, 101];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "pool";
                }];
            };
            writable: true;
        }, {
            name: "rewardCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reward_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "rewardCustodyOracleAccount";
        }, {
            name: "poolStakedLpVault";
            writable: true;
        }, {
            name: "poolCompoundingLpVault";
            writable: true;
        }, {
            name: "lpTokenMint";
            writable: true;
        }, {
            name: "compoundingTokenMint";
            writable: true;
        }, {
            name: "tokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "migrateStakeParams";
                };
            };
        }];
        discriminator: [178, 5, 26, 85, 56, 20, 153, 160];
        name: "migrateStake";
    }, {
        accounts: [{
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "tokenVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "rewardCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reward_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "rewardCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reward_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "revenueTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [114, 101, 118, 101, 110, 117, 101, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }];
            };
            writable: true;
        }, {
            name: "protocolVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 114, 111, 116, 111, 99, 111, 108, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }, {
            name: "protocolTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 114, 111, 116, 111, 99, 111, 108, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }];
            };
            writable: true;
        }, {
            name: "tokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            name: "tokenMint";
        }];
        args: [];
        discriminator: [129, 151, 181, 212, 47, 232, 58, 98];
        name: "moveProtocolFees";
    }, {
        accounts: [{
            name: "owner";
            relations: ["fundingAccount"];
            signer: true;
            writable: true;
        }, {
            name: "feePayer";
            signer: true;
            writable: true;
        }, {
            name: "fundingAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "market";
            writable: true;
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "collateralCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "fundingTokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "fundingMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "openPositionParams";
                };
            };
        }];
        discriminator: [135, 128, 47, 77, 15, 152, 240, 49];
        name: "openPosition";
    }, {
        accounts: [{
            name: "owner";
            relations: ["fundingAccount"];
            signer: true;
            writable: true;
        }, {
            name: "feePayer";
            signer: true;
            writable: true;
        }, {
            name: "fundingAccount";
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "order";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [111, 114, 100, 101, 114];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "market";
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "reserveCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reserve_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "reserveOracleAccount";
        }, {
            name: "reserveCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reserve_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "receiveCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "receive_custody.mint";
                }];
            };
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "fundingTokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "fundingMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "placeLimitOrderParams";
                };
            };
        }];
        discriminator: [108, 176, 33, 186, 146, 229, 1, 197];
        name: "placeLimitOrder";
    }, {
        accounts: [{
            name: "owner";
            relations: ["position"];
            signer: true;
        }, {
            name: "feePayer";
            signer: true;
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
        }, {
            name: "order";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [111, 114, 100, 101, 114];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "market";
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "receiveCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "receive_custody.mint";
                }];
            };
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "placeTriggerOrderParams";
                };
            };
        }];
        discriminator: [32, 156, 50, 188, 232, 159, 112, 236];
        name: "placeTriggerOrder";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "refreshOrdersStatusParams";
                };
            };
        }];
        discriminator: [40, 88, 107, 182, 177, 57, 247, 55];
        name: "refreshOrdersStatus";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "refreshPositionsStatusParams";
                };
            };
        }];
        discriminator: [128, 146, 70, 109, 88, 250, 26, 53];
        name: "refreshPositionsStatus";
        returns: "u8";
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "rewardCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reward_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "feeDistributionTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reward_custody.mint";
                }];
            };
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "refreshStakeParams";
                };
            };
        }];
        discriminator: [194, 123, 40, 247, 37, 237, 119, 119];
        name: "refreshStake";
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "tokenVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "refreshTokenStakeParams";
                };
            };
        }];
        discriminator: [55, 39, 150, 54, 174, 139, 76, 69];
        name: "refreshTokenStake";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
        }, {
            name: "fundingAccount";
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "custody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "custodyOracleAccount";
        }, {
            name: "custodyTokenAccount";
            writable: true;
        }, {
            name: "tokenProgram";
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "fundingMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "reimburseParams";
                };
            };
        }];
        discriminator: [160, 92, 125, 187, 32, 179, 114, 88];
        name: "reimburse";
        returns: "u8";
    }, {
        accounts: [{
            name: "owner";
            relations: ["receivingAccount", "position"];
            signer: true;
        }, {
            name: "receivingAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "market";
            writable: true;
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "collateralCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "receivingTokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "receivingMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "removeCollateralParams";
                };
            };
        }];
        discriminator: [86, 222, 130, 86, 92, 20, 72, 65];
        name: "removeCollateral";
        returns: "u64";
    }, {
        accounts: [{
            name: "owner";
            relations: ["position"];
            signer: true;
            writable: true;
        }, {
            name: "feePayer";
            signer: true;
            writable: true;
        }, {
            name: "receivingAccount";
            writable: true;
        }, {
            name: "collateralAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    account: "position";
                    kind: "account";
                    path: "position.owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "market";
            writable: true;
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "collateralCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "dispensingCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "dispensing_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "dispensingOracleAccount";
        }, {
            name: "dispensingCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "dispensing_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "receivingTokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "receivingMint";
        }, {
            name: "collateralMint";
        }, {
            name: "collateralTokenProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "removeCollateralAndSwapParams";
                };
            };
        }];
        discriminator: [197, 216, 82, 134, 173, 128, 23, 62];
        name: "removeCollateralAndSwap";
    }, {
        accounts: [{
            name: "owner";
            relations: ["receivingAccount", "compoundingTokenAccount"];
            signer: true;
            writable: true;
        }, {
            name: "receivingAccount";
            writable: true;
        }, {
            name: "compoundingTokenAccount";
            writable: true;
        }, {
            name: "poolCompoundingLpVault";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "outCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "out_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "outCustodyOracleAccount";
        }, {
            name: "outCustodyTokenAccount";
            writable: true;
        }, {
            name: "rewardCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reward_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "rewardCustodyOracleAccount";
        }, {
            name: "lpTokenMint";
            writable: true;
        }, {
            name: "compoundingTokenMint";
            writable: true;
        }, {
            name: "tokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "receivingMint";
        }, {
            name: "receivingTokenProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "removeCompoundingLiquidityParams";
                };
            };
        }];
        discriminator: [5, 133, 39, 178, 54, 58, 37, 140];
        name: "removeCompoundingLiquidity";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "receivingAccount";
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "custody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "custodyOracleAccount";
        }, {
            name: "custodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "custody.mint";
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "tokenProgram";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "receivingTokenMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "removeCustodyParams";
                };
            };
        }];
        discriminator: [143, 229, 131, 48, 248, 212, 167, 185];
        name: "removeCustody";
        returns: "u8";
    }, {
        accounts: [{
            name: "owner";
            relations: ["receivingAccount", "lpTokenAccount"];
            signer: true;
            writable: true;
        }, {
            name: "receivingAccount";
            writable: true;
        }, {
            name: "lpTokenAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "custody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "custodyOracleAccount";
        }, {
            name: "custodyTokenAccount";
            writable: true;
        }, {
            name: "lpTokenMint";
            writable: true;
        }, {
            name: "tokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "receivingMint";
        }, {
            name: "receivingTokenProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "removeLiquidityParams";
                };
            };
        }];
        discriminator: [80, 85, 209, 72, 24, 206, 177, 108];
        name: "removeLiquidity";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "market";
            writable: true;
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "tokenProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "removeMarketParams";
                };
            };
        }];
        discriminator: [138, 35, 250, 163, 200, 202, 40, 110];
        name: "removeMarket";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
            writable: true;
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "removePoolParams";
                };
            };
        }];
        discriminator: [132, 42, 53, 138, 28, 220, 170, 55];
        name: "removePool";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "lpTokenMint";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [108, 112, 95, 116, 111, 107, 101, 110, 95, 109, 105, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }];
            };
        }, {
            name: "lpMetadataAccount";
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "tokenProgram";
        }, {
            address: "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s";
            name: "metadataProgram";
        }, {
            address: "SysvarRent111111111111111111111111111111111";
            name: "rent";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "renameFlpParams";
                };
            };
        }];
        discriminator: [175, 28, 157, 91, 44, 165, 11, 165];
        name: "renameFlp";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "custodyTokenMint";
        }, {
            name: "intOracleAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [111, 114, 97, 99, 108, 101, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "custodyTokenMint";
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "resizeInternalOracleParams";
                };
            };
        }];
        discriminator: [111, 166, 24, 12, 251, 82, 69, 230];
        name: "resizeInternalOracle";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "resizeTokenStakeParams";
                };
            };
        }];
        discriminator: [169, 172, 154, 161, 204, 201, 0, 197];
        name: "resizeTokenStake";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "setAdminSignersParams";
                };
            };
        }];
        discriminator: [240, 171, 141, 105, 124, 2, 225, 188];
        name: "setAdminSigners";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "custody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "custodyOracleAccount";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "setCustodyConfigParams";
                };
            };
        }];
        discriminator: [133, 97, 130, 143, 215, 229, 36, 176];
        name: "setCustodyConfig";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "custody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "custodyTokenMint";
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "setCustodyTokenMultiplierParams";
                };
            };
        }];
        discriminator: [104, 211, 183, 198, 207, 194, 221, 190];
        name: "setCustodyTokenMultiplier";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "custody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "custody.mint";
                }];
            };
        }, {
            name: "oracleAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [111, 114, 97, 99, 108, 101, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "custody.mint";
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "setCustomOraclePriceParams";
                };
            };
        }];
        discriminator: [180, 194, 182, 63, 48, 125, 116, 136];
        name: "setCustomOraclePrice";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "setFeeShareParams";
                };
            };
        }];
        discriminator: [244, 200, 2, 250, 254, 123, 78, 93];
        name: "setFeeShare";
        returns: "u8";
    }, {
        accounts: [{
            name: "authority";
            signer: true;
            writable: true;
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "setInternalCurrentPriceParams";
                };
            };
        }];
        discriminator: [187, 242, 45, 203, 214, 7, 211, 213];
        name: "setInternalCurrentPrice";
        returns: "u8";
    }, {
        accounts: [{
            name: "authority";
            signer: true;
            writable: true;
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "setInternalEmaPriceParams";
                };
            };
        }];
        discriminator: [46, 30, 57, 7, 225, 198, 92, 164];
        name: "setInternalEmaPrice";
        returns: "u8";
    }, {
        accounts: [{
            name: "payer";
            signer: true;
            writable: true;
        }, {
            name: "pythStorage";
        }, {
            name: "pythTreasury";
            writable: true;
        }, {
            address: "pytd2yyk641x7ak7mkaasSJVXh6YYZnC7wTmtgAyxPt";
            name: "pythLazerProgram";
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "setInternalLazerPriceParams";
                };
            };
        }];
        discriminator: [56, 112, 153, 62, 193, 123, 193, 115];
        name: "setInternalLazerPrice";
        returns: "u8";
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "lpTokenMint";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [108, 112, 95, 116, 111, 107, 101, 110, 95, 109, 105, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }];
            };
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "setLpTokenPriceParams";
                };
            };
        }];
        discriminator: [216, 188, 199, 41, 70, 236, 202, 226];
        name: "setLpTokenPrice";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "market";
            writable: true;
        }, {
            name: "targetCustody";
        }, {
            name: "collateralCustody";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "setMarketConfigParams";
                };
            };
        }];
        discriminator: [128, 237, 216, 59, 122, 62, 156, 30];
        name: "setMarketConfig";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
            writable: true;
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "setPermissionsParams";
                };
            };
        }];
        discriminator: [214, 165, 105, 182, 213, 162, 212, 34];
        name: "setPermissions";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
            writable: true;
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "setPerpetualsConfigParams";
                };
            };
        }];
        discriminator: [80, 72, 21, 191, 29, 121, 45, 111];
        name: "setPerpetualsConfig";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "setPoolConfigParams";
                };
            };
        }];
        discriminator: [216, 87, 65, 125, 113, 110, 185, 120];
        name: "setPoolConfig";
        returns: "u8";
    }, {
        accounts: [{
            name: "authority";
            signer: true;
        }, {
            name: "position";
            writable: true;
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "setPositionPriceImpactParams";
                };
            };
        }];
        discriminator: [52, 190, 214, 219, 115, 224, 56, 228];
        name: "setPositionPriceImpact";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "protocolVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 114, 111, 116, 111, 99, 111, 108, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "setProtocolFeeShareParams";
                };
            };
        }];
        discriminator: [6, 155, 103, 17, 228, 172, 14, 160];
        name: "setProtocolFeeShare";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
            writable: true;
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "setTestTimeParams";
                };
            };
        }];
        discriminator: [242, 231, 177, 251, 126, 145, 159, 104];
        name: "setTestTime";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "tokenVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }, {
            name: "tokenStakeAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 115, 116, 97, 107, 101];
                }, {
                    account: "tokenStake";
                    kind: "account";
                    path: "token_stake_account.owner";
                }];
            };
            writable: true;
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "setTokenRewardParams";
                };
            };
        }];
        discriminator: [97, 209, 220, 95, 114, 167, 225, 103];
        name: "setTokenReward";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "tokenVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116];
                }];
            };
        }, {
            name: "owner";
        }, {
            name: "tokenStakeAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 115, 116, 97, 107, 101];
                }, {
                    kind: "account";
                    path: "owner";
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "setTokenStakeLevelParams";
                };
            };
        }];
        discriminator: [74, 184, 65, 143, 136, 165, 178, 6];
        name: "setTokenStakeLevel";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "tokenVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "setTokenVaultConfigParams";
                };
            };
        }];
        discriminator: [106, 228, 78, 88, 112, 139, 185, 119];
        name: "setTokenVaultConfig";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "owner";
        }, {
            name: "whitelist";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [119, 104, 105, 116, 101, 108, 105, 115, 116];
                }, {
                    kind: "account";
                    path: "owner";
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "setWhitelistConfigParams";
                };
            };
        }];
        discriminator: [73, 64, 17, 134, 219, 71, 103, 83];
        name: "setWhitelistConfig";
        returns: "u8";
    }, {
        accounts: [{
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "rewardCustody";
            writable: true;
        }, {
            name: "rewardCustodyOracleAccount";
        }, {
            name: "rewardCustodyTokenAccount";
            writable: true;
        }, {
            name: "rebateVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [114, 101, 98, 97, 116, 101, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }, {
            name: "rebateTokenAccount";
            writable: true;
        }, {
            name: "tokenMint";
        }, {
            name: "tokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [];
        discriminator: [12, 192, 237, 255, 81, 68, 17, 193];
        name: "settleRebates";
    }, {
        accounts: [{
            name: "owner";
            relations: ["fundingAccount", "receivingAccount"];
            signer: true;
        }, {
            name: "fundingAccount";
            writable: true;
        }, {
            name: "receivingAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "receivingCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "receiving_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "receivingCustodyOracleAccount";
        }, {
            name: "receivingCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "receiving_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "dispensingCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "dispensing_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "dispensingCustodyOracleAccount";
        }, {
            name: "dispensingCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "dispensing_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "fundingMint";
        }, {
            name: "fundingTokenProgram";
        }, {
            name: "receivingMint";
        }, {
            name: "receivingTokenProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "swapParams";
                };
            };
        }];
        discriminator: [248, 198, 158, 145, 225, 117, 135, 200];
        name: "swap";
        returns: "u64";
    }, {
        accounts: [{
            name: "owner";
            relations: ["position"];
            signer: true;
            writable: true;
        }, {
            name: "feePayer";
            signer: true;
            writable: true;
        }, {
            name: "fundingAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "receivingCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "receiving_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "receivingCustodyOracleAccount";
        }, {
            name: "receivingCustodyTokenAccount";
            writable: true;
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "market";
            writable: true;
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "collateralCustodyTokenAccount";
            writable: true;
        }, {
            name: "fundingTokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "fundingMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "swapAndAddCollateralParams";
                };
            };
        }];
        discriminator: [135, 207, 228, 112, 247, 15, 29, 150];
        name: "swapAndAddCollateral";
    }, {
        accounts: [{
            name: "owner";
            relations: ["fundingAccount"];
            signer: true;
            writable: true;
        }, {
            name: "feePayer";
            signer: true;
            writable: true;
        }, {
            name: "fundingAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "receivingCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "receiving_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "receivingCustodyOracleAccount";
        }, {
            name: "receivingCustodyTokenAccount";
            writable: true;
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "market";
            writable: true;
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "collateralCustodyTokenAccount";
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "fundingTokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "fundingMint";
        }, {
            name: "collateralMint";
        }, {
            name: "collateralTokenProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "swapAndOpenParams";
                };
            };
        }];
        discriminator: [26, 209, 42, 0, 169, 62, 30, 118];
        name: "swapAndOpen";
    }, {
        accounts: [{
            name: "owner";
            signer: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "rewardCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reward_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "rewardCustodyOracleAccount";
        }, {
            name: "rewardCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reward_custody.mint";
                }];
            };
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "swapFeeInternalParams";
                };
            };
        }];
        discriminator: [16, 2, 202, 40, 46, 57, 4, 63];
        name: "swapFeeInternal";
    }, {
        accounts: [{
            name: "upgradeAuthority";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "tokenProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "testInitParams";
                };
            };
        }];
        discriminator: [48, 51, 92, 122, 81, 19, 112, 41];
        name: "testInit";
    }, {
        accounts: [{
            name: "owner";
            signer: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "flpStakeAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [115, 116, 97, 107, 101];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "pool";
                }];
            };
            writable: true;
        }, {
            name: "rewardCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reward_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "unstakeInstantParams";
                };
            };
        }];
        discriminator: [119, 27, 161, 139, 21, 78, 130, 66];
        name: "unstakeInstant";
    }, {
        accounts: [{
            name: "owner";
            signer: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "flpStakeAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [115, 116, 97, 107, 101];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "pool";
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "tokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "unstakeRequestParams";
                };
            };
        }];
        discriminator: [50, 86, 156, 73, 149, 78, 163, 134];
        name: "unstakeRequest";
    }, {
        accounts: [{
            name: "owner";
            signer: true;
        }, {
            name: "tokenVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "tokenStakeAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 115, 116, 97, 107, 101];
                }, {
                    kind: "account";
                    path: "owner";
                }];
            };
            writable: true;
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "unstakeTokenRequestParams";
                };
            };
        }];
        discriminator: [128, 231, 170, 197, 177, 246, 134, 238];
        name: "unstakeTokenRequest";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "protocolVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 114, 111, 116, 111, 99, 111, 108, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }, {
            name: "protocolTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 114, 111, 116, 111, 99, 111, 108, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }];
            };
            writable: true;
        }, {
            name: "receivingTokenAccount";
            writable: true;
        }, {
            name: "tokenProgram";
        }, {
            name: "receivingMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "withdrawFeesParams";
                };
            };
        }];
        discriminator: [198, 212, 171, 109, 144, 215, 174, 89];
        name: "withdrawFees";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "tokenVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }, {
            name: "tokenVaultTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }];
            };
            writable: true;
        }, {
            name: "receivingTokenAccount";
            writable: true;
        }, {
            name: "tokenProgram";
        }, {
            name: "receivingTokenMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "withdrawInstantFeesParams";
                };
            };
        }];
        discriminator: [210, 236, 193, 124, 205, 149, 255, 203];
        name: "withdrawInstantFees";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "receivingAccount";
            writable: true;
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "withdrawSolFeesParams";
                };
            };
        }];
        discriminator: [191, 53, 166, 97, 124, 212, 228, 219];
        name: "withdrawSolFees";
        returns: "u8";
    }, {
        accounts: [{
            name: "owner";
            relations: ["receivingLpTokenAccount"];
            signer: true;
            writable: true;
        }, {
            name: "receivingLpTokenAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "flpStakeAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [115, 116, 97, 107, 101];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "pool";
                }];
            };
            writable: true;
        }, {
            name: "poolStakedLpVault";
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "tokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            name: "lpMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "withdrawStakeParams";
                };
            };
        }];
        discriminator: [153, 8, 22, 138, 105, 176, 87, 66];
        name: "withdrawStake";
    }, {
        accounts: [{
            name: "owner";
            relations: ["receivingTokenAccount"];
            signer: true;
            writable: true;
        }, {
            name: "receivingTokenAccount";
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "tokenVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }, {
            name: "tokenVaultTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }];
            };
            writable: true;
        }, {
            name: "tokenStakeAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 115, 116, 97, 107, 101];
                }, {
                    kind: "account";
                    path: "owner";
                }];
            };
            writable: true;
        }, {
            name: "tokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            name: "tokenMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "withdrawTokenParams";
                };
            };
        }];
        discriminator: [136, 235, 181, 5, 101, 109, 57, 81];
        name: "withdrawToken";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "tokenVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }, {
            name: "tokenVaultTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }];
            };
            writable: true;
        }, {
            name: "receivingTokenAccount";
            writable: true;
        }, {
            name: "tokenProgram";
        }, {
            name: "receivingTokenMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "withdrawUnclaimedTokensParams";
                };
            };
        }];
        discriminator: [43, 239, 40, 75, 164, 156, 231, 139];
        name: "withdrawUnclaimedTokens";
        returns: "u8";
    }];
    metadata: {
        description: "Flash Trade Perpetuals Exchange";
        name: "perpetuals";
        repository: "https://github.com/flash-trade/";
        spec: "0.1.0";
        version: "15.2.0";
    };
    types: [{
        name: "addCollateralLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "collateralPriceUsd";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "addCollateralLogUsDv1";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "tradeId";
                type: "i64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "deltaCollateralAmount";
                type: "u64";
            }, {
                name: "deltaCollateralUsd";
                type: "u64";
            }, {
                name: "finalCollateralUsd";
                type: "u64";
            }, {
                name: "finalSizeAmount";
                type: "u64";
            }, {
                name: "finalSizeUsd";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 4];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "addCollateralLogV2";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "addCollateralLogV3";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "deltaCollateralAmount";
                type: "u64";
            }, {
                name: "finalCollateralAmount";
                type: "u64";
            }, {
                name: "finalCollateralUsd";
                type: "u64";
            }, {
                name: "finalSizeAmount";
                type: "u64";
            }, {
                name: "finalSizeUsd";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "addCollateralParams";
        type: {
            fields: [{
                name: "collateralDelta";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "addCollateralQuoteData";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "collateralDeltaUsd";
                type: "u64";
            }, {
                name: "existingCollateralUsd";
                type: "u64";
            }, {
                name: "existingLeverage";
                type: "u64";
            }, {
                name: "existingLiquidationPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "newCollateralUsd";
                type: "u64";
            }, {
                name: "newLeverage";
                type: "u64";
            }, {
                name: "newLiquidationPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "maxAddableUsd";
                type: "u64";
            }, {
                name: "swapRequired";
                type: "bool";
            }, {
                name: "swapPossible";
                type: "bool";
            }, {
                name: "passesMinCollateral";
                type: "bool";
            }, {
                name: "passesLeverageCheck";
                type: "bool";
            }];
            kind: "struct";
        };
    }, {
        name: "addCompoundingLiquidityLog";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "custodyUid";
                type: "u64";
            }, {
                name: "amountIn";
                type: "u64";
            }, {
                name: "compoundingAmountOut";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }, {
                name: "rewardPerLpStaked";
                type: "u64";
            }, {
                name: "compoundingPriceUsd";
                type: "u64";
            }, {
                name: "tokenInPrice";
                type: "u64";
            }, {
                name: "tokenInPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "addCompoundingLiquidityParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "minCompoundingAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "addCustodyParams";
        type: {
            fields: [{
                name: "isStable";
                type: "bool";
            }, {
                name: "depegAdjustment";
                type: "bool";
            }, {
                name: "isVirtual";
                type: "bool";
            }, {
                name: "inversePrice";
                type: "bool";
            }, {
                name: "token22";
                type: "bool";
            }, {
                name: "oracle";
                type: {
                    defined: {
                        name: "oracleParams";
                    };
                };
            }, {
                name: "pricing";
                type: {
                    defined: {
                        name: "pricingParams";
                    };
                };
            }, {
                name: "permissions";
                type: {
                    defined: {
                        name: "permissions";
                    };
                };
            }, {
                name: "fees";
                type: {
                    defined: {
                        name: "fees";
                    };
                };
            }, {
                name: "borrowRate";
                type: {
                    defined: {
                        name: "borrowRateParams";
                    };
                };
            }, {
                name: "ratios";
                type: {
                    vec: {
                        defined: {
                            name: "tokenRatios";
                        };
                    };
                };
            }, {
                name: "tokenAmountMultiplier";
                type: "u64";
            }, {
                name: "minReserveUsd";
                type: "u64";
            }, {
                name: "limitPriceBufferBps";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "addCustodyToken22AccountParams";
        type: {
            fields: [{
                name: "tokenAccountSpace";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "addInternalOracleParams";
        type: {
            fields: [{
                name: "expo";
                type: "i32";
            }, {
                name: "lazerFeedId";
                type: "u32";
            }];
            kind: "struct";
        };
    }, {
        name: "addLiquidityAndStakeLog";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "custodyUid";
                type: "u64";
            }, {
                name: "amountIn";
                type: "u64";
            }, {
                name: "lpAmountOut";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }, {
                name: "lpPriceUsd";
                type: "u64";
            }, {
                name: "tokenInPrice";
                type: "u64";
            }, {
                name: "tokenInPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "addLiquidityAndStakeParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "minLpAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "addLiquidityLog";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "custodyUid";
                type: "u64";
            }, {
                name: "amountIn";
                type: "u64";
            }, {
                name: "lpAmountOut";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "addLiquidityLogV2";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "custodyUid";
                type: "u64";
            }, {
                name: "amountIn";
                type: "u64";
            }, {
                name: "lpAmountOut";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }, {
                name: "lpPriceUsd";
                type: "u64";
            }, {
                name: "tokenInPrice";
                type: "u64";
            }, {
                name: "tokenInPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "addLiquidityParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "minLpAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "addMarketParams";
        type: {
            fields: [{
                name: "side";
                type: {
                    defined: {
                        name: "side";
                    };
                };
            }, {
                name: "correlation";
                type: "bool";
            }, {
                name: "maxPayoffBps";
                type: "u64";
            }, {
                name: "permissions";
                type: {
                    defined: {
                        name: "marketPermissions";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "addPoolParams";
        type: {
            fields: [{
                name: "name";
                type: "string";
            }, {
                name: "permissions";
                type: {
                    defined: {
                        name: "permissions";
                    };
                };
            }, {
                name: "maxAumUsd";
                type: "u64";
            }, {
                name: "metadataTitle";
                type: "string";
            }, {
                name: "metadataSymbol";
                type: "string";
            }, {
                name: "metadataUri";
                type: "string";
            }, {
                name: "stakingFeeShareBps";
                type: "u64";
            }, {
                name: "vpVolumeFactor";
                type: "u8";
            }, {
                name: "stakingFeeBoostBps";
                type: {
                    array: ["u64", 6];
                };
            }, {
                name: "minLpPriceUsd";
                type: "u64";
            }, {
                name: "maxLpPriceUsd";
                type: "u64";
            }, {
                name: "thresholdUsd";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "amountAndFee";
        type: {
            fields: [{
                name: "amount";
                type: "u64";
            }, {
                name: "fee";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "assets";
        type: {
            fields: [{
                name: "collateral";
                type: "u64";
            }, {
                name: "owned";
                type: "u64";
            }, {
                name: "locked";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "borrowRateParams";
        type: {
            fields: [{
                name: "baseRate";
                type: "u64";
            }, {
                name: "slope1";
                type: "u64";
            }, {
                name: "slope2";
                type: "u64";
            }, {
                name: "optimalUtilization";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "borrowRateState";
        type: {
            fields: [{
                name: "currentRate";
                type: "u64";
            }, {
                name: "cumulativeLockFee";
                type: "u128";
            }, {
                name: "lastUpdate";
                type: "i64";
            }];
            kind: "struct";
        };
    }, {
        name: "burnAndClaimLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "nftMint";
                type: "pubkey";
            }, {
                name: "claimAmount";
                type: "u64";
            }, {
                name: "currentTimestamp";
                type: "i64";
            }];
            kind: "struct";
        };
    }, {
        name: "burnAndStakeLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "nftMint";
                type: "pubkey";
            }, {
                name: "tokenStake";
                type: "pubkey";
            }, {
                name: "stakeAmount";
                type: "u64";
            }, {
                name: "currentTimestamp";
                type: "i64";
            }, {
                name: "lastUpdatedTimestamp";
                type: "i64";
            }, {
                name: "level";
                type: "u8";
            }, {
                name: "activeStakeAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "cancelLimitOrderLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "limitPrice";
                type: "u64";
            }, {
                name: "limitPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "reservePrice";
                type: "u64";
            }, {
                name: "reservePriceExponent";
                type: "i32";
            }, {
                name: "reserveAmount";
                type: "u64";
            }, {
                name: "reserveUsd";
                type: "u64";
            }, {
                name: "stopLossPrice";
                type: "u64";
            }, {
                name: "stopLossPriceExponent";
                type: "i32";
            }, {
                name: "takeProfitPrice";
                type: "u64";
            }, {
                name: "takeProfitPriceExponent";
                type: "i32";
            }, {
                name: "receiveCustodyUid";
                type: "u8";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "cancelLimitOrderParams";
        type: {
            fields: [{
                name: "orderId";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        name: "cancelTriggerOrderLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "price";
                type: "u64";
            }, {
                name: "priceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "receiveCustodyUid";
                type: "u8";
            }, {
                name: "isStopLoss";
                type: "bool";
            }];
            kind: "struct";
        };
    }, {
        name: "cancelTriggerOrderParams";
        type: {
            fields: [{
                name: "orderId";
                type: "u8";
            }, {
                name: "isStopLoss";
                type: "bool";
            }];
            kind: "struct";
        };
    }, {
        name: "cancelUnstakeTokenRequestLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "tokenStake";
                type: "pubkey";
            }, {
                name: "amount";
                type: "u64";
            }, {
                name: "currentTimestamp";
                type: "i64";
            }, {
                name: "lastUpdatedTimestamp";
                type: "i64";
            }, {
                name: "level";
                type: "u8";
            }, {
                name: "activeStakeAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "cancelUnstakeTokenRequestLogV2";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "tokenStake";
                type: "pubkey";
            }, {
                name: "amount";
                type: "u64";
            }, {
                name: "currentTimestamp";
                type: "i64";
            }, {
                name: "lastUpdatedTimestamp";
                type: "i64";
            }, {
                name: "level";
                type: "u8";
            }, {
                name: "activeStakeAmount";
                type: "u64";
            }, {
                name: "levelEligibleAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "cancelUnstakeTokenRequestParams";
        type: {
            fields: [{
                name: "withdrawRequestId";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        name: "closeAndSwapLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "duration";
                type: "i64";
            }, {
                name: "exitPrice";
                type: "u64";
            }, {
                name: "exitPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "profitUsd";
                type: "u64";
            }, {
                name: "lossUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }, {
                name: "feeRebateAmount";
                type: "u64";
            }, {
                name: "exitFeeAmount";
                type: "u64";
            }, {
                name: "receiveCustodyUid";
                type: "u64";
            }, {
                name: "receiveAmount";
                type: "u64";
            }, {
                name: "swapFeeAmount";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "closeAndSwapLogUsDv1";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "tradeId";
                type: "i64";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "duration";
                type: "i64";
            }, {
                name: "exitPrice";
                type: "u64";
            }, {
                name: "exitPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "collateralUsd";
                type: "u64";
            }, {
                name: "profitUsd";
                type: "u64";
            }, {
                name: "lossUsd";
                type: "u64";
            }, {
                name: "feeUsd";
                type: "u64";
            }, {
                name: "rebateUsd";
                type: "u64";
            }, {
                name: "discountUsd";
                type: "u64";
            }, {
                name: "exitFeeUsd";
                type: "u64";
            }, {
                name: "outputCustodyUid";
                type: "u8";
            }, {
                name: "outputAmount";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "priceImpactUsd";
                type: "u64";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 3];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "closeAndSwapParams";
        type: {
            fields: [{
                name: "priceWithSlippage";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "privilege";
                type: {
                    defined: {
                        name: "privilege";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "closePositionLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "priceUsd";
                type: "u64";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "profitUsd";
                type: "u64";
            }, {
                name: "lossUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "closePositionLogUsDv1";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "tradeId";
                type: "i64";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "duration";
                type: "i64";
            }, {
                name: "exitPrice";
                type: "u64";
            }, {
                name: "exitPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "collateralUsd";
                type: "u64";
            }, {
                name: "profitUsd";
                type: "u64";
            }, {
                name: "lossUsd";
                type: "u64";
            }, {
                name: "feeUsd";
                type: "u64";
            }, {
                name: "rebateUsd";
                type: "u64";
            }, {
                name: "discountUsd";
                type: "u64";
            }, {
                name: "exitFeeUsd";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "priceImpactUsd";
                type: "u64";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 3];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "closePositionLogV2";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "price";
                type: "u64";
            }, {
                name: "priceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "profitUsd";
                type: "u64";
            }, {
                name: "lossUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "closePositionLogV3";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "duration";
                type: "i64";
            }, {
                name: "exitPrice";
                type: "u64";
            }, {
                name: "exitPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "profitUsd";
                type: "u64";
            }, {
                name: "lossUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }, {
                name: "feeRebateAmount";
                type: "u64";
            }, {
                name: "exitFeeAmount";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "closePositionParams";
        type: {
            fields: [{
                name: "priceWithSlippage";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "privilege";
                type: {
                    defined: {
                        name: "privilege";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "closePositionQuoteData";
        type: {
            fields: [{
                name: "receiveTokenAmount";
                type: "u64";
            }, {
                name: "receiveTokenAmountUsd";
                type: "u64";
            }, {
                name: "markPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "entryPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "existingLiquidationPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "newLiquidationPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "existingSize";
                type: "u64";
            }, {
                name: "newSize";
                type: "u64";
            }, {
                name: "existingCollateral";
                type: "u64";
            }, {
                name: "newCollateral";
                type: "u64";
            }, {
                name: "existingLeverage";
                type: "u64";
            }, {
                name: "newLeverage";
                type: "u64";
            }, {
                name: "settledPnlUsd";
                type: "u64";
            }, {
                name: "isProfitable";
                type: "bool";
            }, {
                name: "profitUsd";
                type: "u64";
            }, {
                name: "lossUsd";
                type: "u64";
            }, {
                name: "fees";
                type: "u64";
            }, {
                name: "feesBeforeDiscount";
                type: "u64";
            }, {
                name: "exitFeeUsd";
                type: "u64";
            }, {
                name: "exitFeeBeforeDiscountUsd";
                type: "u64";
            }, {
                name: "lockAndUnsettledFeeUsd";
                type: "u64";
            }, {
                name: "priceImpactUsd";
                type: "u64";
            }, {
                name: "isSolvent";
                type: "bool";
            }, {
                name: "swapRequired";
                type: "bool";
            }, {
                name: "swapPossible";
                type: "bool";
            }, {
                name: "isPartialClose";
                type: "bool";
            }];
            kind: "struct";
        };
    }, {
        name: "collectRebateLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "tokenStake";
                type: "pubkey";
            }, {
                name: "rebateAmount";
                type: "u64";
            }, {
                name: "rebateUsd";
                type: "u64";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 2];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "collectRevenueLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "tokenStake";
                type: "pubkey";
            }, {
                name: "revenueAmount";
                type: "u64";
            }, {
                name: "lastEpochCount";
                type: "u32";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 2];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "collectRevenueLogV2";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "tokenStake";
                type: "pubkey";
            }, {
                name: "revenueAmount";
                type: "u64";
            }, {
                name: "currentTimestamp";
                type: "i64";
            }, {
                name: "lastUpdatedTimestamp";
                type: "i64";
            }, {
                name: "activeStakeAmount";
                type: "u64";
            }, {
                name: "levelEligibleAmount";
                type: "u64";
            }, {
                name: "lastEpochCount";
                type: "u32";
            }];
            kind: "struct";
        };
    }, {
        name: "collectRevenueParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "collectStakeRewardLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "poolName";
                type: "string";
            }, {
                name: "rewardAmount";
                type: "u64";
            }, {
                name: "rewardMint";
                type: "pubkey";
            }];
            kind: "struct";
        };
    }, {
        name: "collectStakeRewardLogV2";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "poolName";
                type: "string";
            }, {
                name: "rewardAmount";
                type: "u64";
            }, {
                name: "rewardMint";
                type: "pubkey";
            }, {
                name: "rewardShare";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "collectStakeRewardParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "collectTokenRewardLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "tokenStake";
                type: "pubkey";
            }, {
                name: "amount";
                type: "u64";
            }, {
                name: "lastEpochCount";
                type: "u32";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 2];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "collectTokenRewardParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "compoundFeesParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "compoundingFeesLog";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "rewardAmount";
                type: "u64";
            }, {
                name: "rewardLpAmount";
                type: "u64";
            }, {
                name: "rewardPerLpStaked";
                type: "u64";
            }, {
                name: "lpPriceUsd";
                type: "u64";
            }, {
                name: "compoundingPriceUsd";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "compoundingStats";
        type: {
            fields: [{
                name: "activeAmount";
                type: "u64";
            }, {
                name: "totalSupply";
                type: "u64";
            }, {
                name: "rewardSnapshot";
                type: "u128";
            }, {
                name: "feeShareBps";
                type: "u64";
            }, {
                name: "lastCompoundTime";
                type: "i64";
            }];
            kind: "struct";
        };
    }, {
        name: "compoundingTokenData";
        type: {
            fields: [{
                name: "lpPrice";
                type: "u64";
            }, {
                name: "compoundingPrice";
                type: "u64";
            }, {
                name: "ratios";
                type: {
                    vec: "u64";
                };
            }];
            kind: "struct";
        };
    }, {
        name: "createReferralParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "createWhitelistParams";
        type: {
            fields: [{
                name: "isSwapFeeExempt";
                type: "bool";
            }, {
                name: "isDepositFeeExempt";
                type: "bool";
            }, {
                name: "isWithdrawalFeeExempt";
                type: "bool";
            }, {
                name: "poolAddress";
                type: "pubkey";
            }];
            kind: "struct";
        };
    }, {
        name: "custody";
        type: {
            fields: [{
                name: "pool";
                type: "pubkey";
            }, {
                name: "mint";
                type: "pubkey";
            }, {
                name: "tokenAccount";
                type: "pubkey";
            }, {
                name: "decimals";
                type: "u8";
            }, {
                name: "isStable";
                type: "bool";
            }, {
                name: "depegAdjustment";
                type: "bool";
            }, {
                name: "isVirtual";
                type: "bool";
            }, {
                name: "inversePrice";
                type: "bool";
            }, {
                name: "oracle";
                type: {
                    defined: {
                        name: "oracleParams";
                    };
                };
            }, {
                name: "pricing";
                type: {
                    defined: {
                        name: "pricingParams";
                    };
                };
            }, {
                name: "permissions";
                type: {
                    defined: {
                        name: "permissions";
                    };
                };
            }, {
                name: "fees";
                type: {
                    defined: {
                        name: "fees";
                    };
                };
            }, {
                name: "borrowRate";
                type: {
                    defined: {
                        name: "borrowRateParams";
                    };
                };
            }, {
                name: "tokenAmountMultiplier";
                type: "u64";
            }, {
                name: "assets";
                type: {
                    defined: {
                        name: "assets";
                    };
                };
            }, {
                name: "feesStats";
                type: {
                    defined: {
                        name: "feesStats";
                    };
                };
            }, {
                name: "borrowRateState";
                type: {
                    defined: {
                        name: "borrowRateState";
                    };
                };
            }, {
                name: "bump";
                type: "u8";
            }, {
                name: "tokenAccountBump";
                type: "u8";
            }, {
                name: "token22";
                type: "bool";
            }, {
                name: "uid";
                type: "u8";
            }, {
                name: "reservedAmount";
                type: "u64";
            }, {
                name: "minReserveUsd";
                type: "u64";
            }, {
                name: "limitPriceBufferBps";
                type: "u64";
            }, {
                name: "padding";
                type: {
                    array: ["u8", 32];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "customOracle";
        type: {
            fields: [{
                name: "price";
                type: "u64";
            }, {
                name: "expo";
                type: "i32";
            }, {
                name: "conf";
                type: "u64";
            }, {
                name: "ema";
                type: "u64";
            }, {
                name: "publishTime";
                type: "i64";
            }, {
                name: "lazerFeedId";
                type: "u32";
            }, {
                name: "lazerPrice";
                type: "u64";
            }, {
                name: "reserved";
                type: {
                    array: ["u8", 20];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "decreaseSizeLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "priceUsd";
                type: "u64";
            }, {
                name: "sizeDelta";
                type: "u64";
            }, {
                name: "sizeDeltaUsd";
                type: "u64";
            }, {
                name: "settledReturns";
                type: "u64";
            }, {
                name: "deltaProfitUsd";
                type: "u64";
            }, {
                name: "deltaLossUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "decreaseSizeLogUsDv1";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "tradeId";
                type: "i64";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "duration";
                type: "i64";
            }, {
                name: "exitPrice";
                type: "u64";
            }, {
                name: "exitPriceExponent";
                type: "i32";
            }, {
                name: "deltaSizeAmount";
                type: "u64";
            }, {
                name: "deltaSizeUsd";
                type: "u64";
            }, {
                name: "finalSizeAmount";
                type: "u64";
            }, {
                name: "finalSizeUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "deltaCollateralUsd";
                type: "u64";
            }, {
                name: "profitUsd";
                type: "u64";
            }, {
                name: "lossUsd";
                type: "u64";
            }, {
                name: "feeUsd";
                type: "u64";
            }, {
                name: "rebateUsd";
                type: "u64";
            }, {
                name: "discountUsd";
                type: "u64";
            }, {
                name: "exitFeeUsd";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "priceImpactUsd";
                type: "u64";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 3];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "decreaseSizeLogV2";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "price";
                type: "u64";
            }, {
                name: "priceExponent";
                type: "i32";
            }, {
                name: "sizeDelta";
                type: "u64";
            }, {
                name: "sizeDeltaUsd";
                type: "u64";
            }, {
                name: "settledReturns";
                type: "u64";
            }, {
                name: "deltaProfitUsd";
                type: "u64";
            }, {
                name: "deltaLossUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "decreaseSizeLogV3";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "duration";
                type: "i64";
            }, {
                name: "exitPrice";
                type: "u64";
            }, {
                name: "exitPriceExponent";
                type: "i32";
            }, {
                name: "deltaSizeAmount";
                type: "u64";
            }, {
                name: "deltaSizeUsd";
                type: "u64";
            }, {
                name: "finalSizeAmount";
                type: "u64";
            }, {
                name: "finalSizeUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "deltaCollateralAmount";
                type: "u64";
            }, {
                name: "profitUsd";
                type: "u64";
            }, {
                name: "lossUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }, {
                name: "feeRebateAmount";
                type: "u64";
            }, {
                name: "exitFeeAmount";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "decreaseSizeParams";
        type: {
            fields: [{
                name: "priceWithSlippage";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "sizeDelta";
                type: "u64";
            }, {
                name: "privilege";
                type: {
                    defined: {
                        name: "privilege";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "depositStakeLog";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "lpTokens";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "depositStakeParams";
        type: {
            fields: [{
                name: "depositAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "depositTokenStakeLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "tokenStake";
                type: "pubkey";
            }, {
                name: "depositAmount";
                type: "u64";
            }, {
                name: "currentTimestamp";
                type: "i64";
            }, {
                name: "lastUpdatedTimestamp";
                type: "i64";
            }, {
                name: "level";
                type: "u8";
            }, {
                name: "activeStakeAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "depositTokenStakeLogV2";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "tokenStake";
                type: "pubkey";
            }, {
                name: "depositAmount";
                type: "u64";
            }, {
                name: "currentTimestamp";
                type: "i64";
            }, {
                name: "lastUpdatedTimestamp";
                type: "i64";
            }, {
                name: "level";
                type: "u8";
            }, {
                name: "activeStakeAmount";
                type: "u64";
            }, {
                name: "levelEligibleAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "depositTokenStakeParams";
        type: {
            fields: [{
                name: "depositAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "distributeTokenRewardLog";
        type: {
            fields: [{
                name: "amount";
                type: "u64";
            }, {
                name: "epochCount";
                type: "u32";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 2];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "distributeTokenRewardParams";
        type: {
            fields: [{
                name: "amount";
                type: "u64";
            }, {
                name: "epochCount";
                type: "u32";
            }];
            kind: "struct";
        };
    }, {
        name: "editLimitOrderLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "limitPrice";
                type: "u64";
            }, {
                name: "limitPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "reservePrice";
                type: "u64";
            }, {
                name: "reservePriceExponent";
                type: "i32";
            }, {
                name: "reserveAmount";
                type: "u64";
            }, {
                name: "reserveUsd";
                type: "u64";
            }, {
                name: "stopLossPrice";
                type: "u64";
            }, {
                name: "stopLossPriceExponent";
                type: "i32";
            }, {
                name: "takeProfitPrice";
                type: "u64";
            }, {
                name: "takeProfitPriceExponent";
                type: "i32";
            }, {
                name: "receiveCustodyUid";
                type: "u8";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "editLimitOrderParams";
        type: {
            fields: [{
                name: "orderId";
                type: "u8";
            }, {
                name: "limitPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "stopLossPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "takeProfitPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "editTriggerOrderLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "price";
                type: "u64";
            }, {
                name: "priceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "receiveCustodyUid";
                type: "u8";
            }, {
                name: "isStopLoss";
                type: "bool";
            }];
            kind: "struct";
        };
    }, {
        name: "editTriggerOrderParams";
        type: {
            fields: [{
                name: "orderId";
                type: "u8";
            }, {
                name: "triggerPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "deltaSizeAmount";
                type: "u64";
            }, {
                name: "isStopLoss";
                type: "bool";
            }];
            kind: "struct";
        };
    }, {
        name: "executeLimitOrderLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "collateralUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "limitPrice";
                type: "u64";
            }, {
                name: "limitPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "executeLimitOrderLogUsDv1";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "tradeId";
                type: "i64";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "deltaSizeAmount";
                type: "u64";
            }, {
                name: "deltaSizeUsd";
                type: "u64";
            }, {
                name: "finalSizeAmount";
                type: "u64";
            }, {
                name: "finalSizeUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "deltaCollateralAmount";
                type: "u64";
            }, {
                name: "deltaCollateralUsd";
                type: "u64";
            }, {
                name: "finalCollateralUsd";
                type: "u64";
            }, {
                name: "feeUsd";
                type: "u64";
            }, {
                name: "rebateUsd";
                type: "u64";
            }, {
                name: "discountUsd";
                type: "u64";
            }, {
                name: "entryFeeUsd";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "limitPrice";
                type: "u64";
            }, {
                name: "limitPriceExponent";
                type: "i32";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 4];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "executeLimitOrderLogV2";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "collateralUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }, {
                name: "entryFeeAmount";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "limitPrice";
                type: "u64";
            }, {
                name: "limitPriceExponent";
                type: "i32";
            }, {
                name: "feeRebateUsdAmount";
                type: "u64";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 3];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "executeLimitOrderParams";
        type: {
            fields: [{
                name: "orderId";
                type: "u8";
            }, {
                name: "privilege";
                type: {
                    defined: {
                        name: "privilege";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "executeLimitWithSwapLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "collateralUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }, {
                name: "reserveCustodyUid";
                type: "u64";
            }, {
                name: "reserveAmount";
                type: "u64";
            }, {
                name: "swapFeeAmount";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "limitPrice";
                type: "u64";
            }, {
                name: "limitPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "executeLimitWithSwapLogUsDv1";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "tradeId";
                type: "i64";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "deltaSizeAmount";
                type: "u64";
            }, {
                name: "deltaSizeUsd";
                type: "u64";
            }, {
                name: "reserveCustodyUid";
                type: "u8";
            }, {
                name: "reservePrice";
                type: "u64";
            }, {
                name: "reservePriceExponent";
                type: "i32";
            }, {
                name: "reserveAmount";
                type: "u64";
            }, {
                name: "deltaCollateralUsd";
                type: "u64";
            }, {
                name: "feeUsd";
                type: "u64";
            }, {
                name: "rebateUsd";
                type: "u64";
            }, {
                name: "discountUsd";
                type: "u64";
            }, {
                name: "entryFeeUsd";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "limitPrice";
                type: "u64";
            }, {
                name: "limitPriceExponent";
                type: "i32";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 4];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "executeLimitWithSwapLogV2";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "collateralUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }, {
                name: "entryFeeAmount";
                type: "u64";
            }, {
                name: "reserveCustodyUid";
                type: "u64";
            }, {
                name: "reserveAmount";
                type: "u64";
            }, {
                name: "swapFeeAmount";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "limitPrice";
                type: "u64";
            }, {
                name: "limitPriceExponent";
                type: "i32";
            }, {
                name: "feeRebateAmount";
                type: "u64";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 3];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "executeLimitWithSwapParams";
        type: {
            fields: [{
                name: "orderId";
                type: "u8";
            }, {
                name: "privilege";
                type: {
                    defined: {
                        name: "privilege";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "executeTriggerOrderLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "duration";
                type: "i64";
            }, {
                name: "exitPrice";
                type: "u64";
            }, {
                name: "exitPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "profitUsd";
                type: "u64";
            }, {
                name: "lossUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }, {
                name: "feeRebateAmount";
                type: "u64";
            }, {
                name: "exitFeeAmount";
                type: "u64";
            }, {
                name: "isStopLoss";
                type: "bool";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "triggerPrice";
                type: "u64";
            }, {
                name: "triggerPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "executeTriggerOrderLogUsDv1";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "tradeId";
                type: "i64";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "duration";
                type: "i64";
            }, {
                name: "exitPrice";
                type: "u64";
            }, {
                name: "exitPriceExponent";
                type: "i32";
            }, {
                name: "deltaSizeAmount";
                type: "u64";
            }, {
                name: "deltaSizeUsd";
                type: "u64";
            }, {
                name: "finalSizeAmount";
                type: "u64";
            }, {
                name: "finalSizeUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "deltaCollateralUsd";
                type: "u64";
            }, {
                name: "profitUsd";
                type: "u64";
            }, {
                name: "lossUsd";
                type: "u64";
            }, {
                name: "feeUsd";
                type: "u64";
            }, {
                name: "rebateUsd";
                type: "u64";
            }, {
                name: "discountUsd";
                type: "u64";
            }, {
                name: "exitFeeUsd";
                type: "u64";
            }, {
                name: "outAmount";
                type: "u64";
            }, {
                name: "isStopLoss";
                type: "bool";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "triggerPrice";
                type: "u64";
            }, {
                name: "triggerPriceExponent";
                type: "i32";
            }, {
                name: "priceImpactUsd";
                type: "u64";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 3];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "executeTriggerOrderParams";
        type: {
            fields: [{
                name: "isStopLoss";
                type: "bool";
            }, {
                name: "orderId";
                type: "u8";
            }, {
                name: "privilege";
                type: {
                    defined: {
                        name: "privilege";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "executeTriggerWithSwapLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "duration";
                type: "i64";
            }, {
                name: "exitPrice";
                type: "u64";
            }, {
                name: "exitPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "profitUsd";
                type: "u64";
            }, {
                name: "lossUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }, {
                name: "feeRebateAmount";
                type: "u64";
            }, {
                name: "exitFeeAmount";
                type: "u64";
            }, {
                name: "isStopLoss";
                type: "bool";
            }, {
                name: "receiveCustodyUid";
                type: "u64";
            }, {
                name: "receiveAmount";
                type: "u64";
            }, {
                name: "swapFeeAmount";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "triggerPrice";
                type: "u64";
            }, {
                name: "triggerPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "executeTriggerWithSwapLogUsDv1";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "tradeId";
                type: "i64";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "duration";
                type: "i64";
            }, {
                name: "exitPrice";
                type: "u64";
            }, {
                name: "exitPriceExponent";
                type: "i32";
            }, {
                name: "deltaSizeAmount";
                type: "u64";
            }, {
                name: "deltaSizeUsd";
                type: "u64";
            }, {
                name: "finalSizeAmount";
                type: "u64";
            }, {
                name: "finalSizeUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "deltaCollateralUsd";
                type: "u64";
            }, {
                name: "profitUsd";
                type: "u64";
            }, {
                name: "lossUsd";
                type: "u64";
            }, {
                name: "feeUsd";
                type: "u64";
            }, {
                name: "rebateUsd";
                type: "u64";
            }, {
                name: "discountUsd";
                type: "u64";
            }, {
                name: "exitFeeUsd";
                type: "u64";
            }, {
                name: "outCustodyUid";
                type: "u8";
            }, {
                name: "outAmount";
                type: "u64";
            }, {
                name: "isStopLoss";
                type: "bool";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "triggerPrice";
                type: "u64";
            }, {
                name: "triggerPriceExponent";
                type: "i32";
            }, {
                name: "priceImpactUsd";
                type: "u64";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 3];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "executeTriggerWithSwapParams";
        type: {
            fields: [{
                name: "isStopLoss";
                type: "bool";
            }, {
                name: "orderId";
                type: "u8";
            }, {
                name: "privilege";
                type: {
                    defined: {
                        name: "privilege";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "fees";
        type: {
            fields: [{
                name: "mode";
                type: {
                    defined: {
                        name: "feesMode";
                    };
                };
            }, {
                name: "swapIn";
                type: {
                    defined: {
                        name: "ratioFees";
                    };
                };
            }, {
                name: "swapOut";
                type: {
                    defined: {
                        name: "ratioFees";
                    };
                };
            }, {
                name: "stableSwapIn";
                type: {
                    defined: {
                        name: "ratioFees";
                    };
                };
            }, {
                name: "stableSwapOut";
                type: {
                    defined: {
                        name: "ratioFees";
                    };
                };
            }, {
                name: "addLiquidity";
                type: {
                    defined: {
                        name: "ratioFees";
                    };
                };
            }, {
                name: "removeLiquidity";
                type: {
                    defined: {
                        name: "ratioFees";
                    };
                };
            }, {
                name: "openPosition";
                type: "u64";
            }, {
                name: "closePosition";
                type: "u64";
            }, {
                name: "volatility";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "feesMode";
        type: {
            kind: "enum";
            variants: [{
                name: "fixed";
            }, {
                name: "linear";
            }];
        };
    }, {
        name: "feesStats";
        type: {
            fields: [{
                name: "accrued";
                type: "u128";
            }, {
                name: "distributed";
                type: "u128";
            }, {
                name: "paid";
                type: "u128";
            }, {
                name: "rewardPerLpStaked";
                type: "u64";
            }, {
                name: "protocolFee";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "flpStake";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "pool";
                type: "pubkey";
            }, {
                name: "stakeStats";
                type: {
                    defined: {
                        name: "stakeStats";
                    };
                };
            }, {
                name: "rewardSnapshot";
                type: "u128";
            }, {
                name: "unclaimedRewards";
                type: "u64";
            }, {
                name: "feeShareBps";
                type: "u64";
            }, {
                name: "isInitialized";
                type: "u8";
            }, {
                name: "bump";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        name: "forceSettleOrderLog";
        type: {
            fields: [{
                name: "admin";
                type: "pubkey";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "orderId";
                type: "u8";
            }, {
                name: "limitPrice";
                type: "u64";
            }, {
                name: "limitPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "reserveAmount";
                type: "u64";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 3];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "forceSettleOrderParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "forceSettlePositionLog";
        type: {
            fields: [{
                name: "admin";
                type: "pubkey";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "tradeId";
                type: "i64";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "duration";
                type: "i64";
            }, {
                name: "exitPrice";
                type: "u64";
            }, {
                name: "exitPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "collateralUsd";
                type: "u64";
            }, {
                name: "profitUsd";
                type: "u64";
            }, {
                name: "lossUsd";
                type: "u64";
            }, {
                name: "feeUsd";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "priceImpactUsd";
                type: "u64";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 3];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "forceSettlePositionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "forceSettleTriggerOrderLog";
        type: {
            fields: [{
                name: "admin";
                type: "pubkey";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "triggerOrdersCancelled";
                type: "u8";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 4];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "getAddCollateralQuoteParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "GetAddCompoundingLiquidityAmountAndFeeParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "getAddLiquidityAmountAndFeeParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "getAssetsUnderManagementParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "getClosePositionQuoteParams";
        type: {
            fields: [{
                name: "sizeDeltaUsd";
                type: "u64";
            }, {
                name: "privilege";
                type: {
                    defined: {
                        name: "privilege";
                    };
                };
            }, {
                name: "discountIndex";
                type: {
                    option: "u8";
                };
            }, {
                name: "triggerPrice";
                type: {
                    option: {
                        defined: {
                            name: "oraclePrice";
                        };
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "getCompoundingTokenDataParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "getCompoundingTokenPriceParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "getEntryPriceAndFeeParams";
        type: {
            fields: [{
                name: "collateral";
                type: "u64";
            }, {
                name: "size";
                type: "u64";
            }, {
                name: "side";
                type: {
                    defined: {
                        name: "side";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "getExitPriceAndFeeParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "getLiquidationPriceParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "getLiquidationStateParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "getLpTokenPriceParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "getOpenPositionQuoteParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "leverage";
                type: "u64";
            }, {
                name: "privilege";
                type: {
                    defined: {
                        name: "privilege";
                    };
                };
            }, {
                name: "discountIndex";
                type: {
                    option: "u8";
                };
            }, {
                name: "limitPrice";
                type: {
                    option: {
                        defined: {
                            name: "oraclePrice";
                        };
                    };
                };
            }, {
                name: "takeProfitPrice";
                type: {
                    option: {
                        defined: {
                            name: "oraclePrice";
                        };
                    };
                };
            }, {
                name: "stopLossPrice";
                type: {
                    option: {
                        defined: {
                            name: "oraclePrice";
                        };
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "getOraclePriceParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "getPnlParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "getPositionDataParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "getRemoveCollateralQuoteParams";
        type: {
            fields: [{
                name: "collateralDeltaUsd";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "getRemoveCompoundingLiquidityAmountAndFeeParams";
        type: {
            fields: [{
                name: "compoundingAmountIn";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "getRemoveLiquidityAmountAndFeeParams";
        type: {
            fields: [{
                name: "lpAmountIn";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "getSwapAmountAndFeesParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "increaseSizeLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "priceUsd";
                type: "u64";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "increaseSizeLogUsDv1";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "tradeId";
                type: "i64";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "deltaSizeAmount";
                type: "u64";
            }, {
                name: "deltaSizeUsd";
                type: "u64";
            }, {
                name: "finalSizeAmount";
                type: "u64";
            }, {
                name: "finalSizeUsd";
                type: "u64";
            }, {
                name: "finalCollateralUsd";
                type: "u64";
            }, {
                name: "feeUsd";
                type: "u64";
            }, {
                name: "rebateUsd";
                type: "u64";
            }, {
                name: "discountUsd";
                type: "u64";
            }, {
                name: "entryFeeUsd";
                type: "u64";
            }, {
                name: "isDegen";
                type: "bool";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 4];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "increaseSizeLogV2";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "price";
                type: "u64";
            }, {
                name: "priceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "increaseSizeLogV3";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "deltaSizeAmount";
                type: "u64";
            }, {
                name: "deltaSizeUsd";
                type: "u64";
            }, {
                name: "finalSizeAmount";
                type: "u64";
            }, {
                name: "finalSizeUsd";
                type: "u64";
            }, {
                name: "finalCollateralAmount";
                type: "u64";
            }, {
                name: "finalCollateralUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }, {
                name: "feeRebateAmount";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "increaseSizeLogV4";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "deltaSizeAmount";
                type: "u64";
            }, {
                name: "deltaSizeUsd";
                type: "u64";
            }, {
                name: "finalSizeAmount";
                type: "u64";
            }, {
                name: "finalSizeUsd";
                type: "u64";
            }, {
                name: "finalCollateralAmount";
                type: "u64";
            }, {
                name: "finalCollateralUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }, {
                name: "feeRebateAmount";
                type: "u64";
            }, {
                name: "entryFeeAmount";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "isDegen";
                type: "bool";
            }, {
                name: "padding";
                type: {
                    array: ["u8", 31];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "increaseSizeParams";
        type: {
            fields: [{
                name: "priceWithSlippage";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "sizeDelta";
                type: "u64";
            }, {
                name: "privilege";
                type: {
                    defined: {
                        name: "privilege";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "initCompoundingParams";
        type: {
            fields: [{
                name: "feeShareBps";
                type: "u64";
            }, {
                name: "metadataTitle";
                type: "string";
            }, {
                name: "metadataSymbol";
                type: "string";
            }, {
                name: "metadataUri";
                type: "string";
            }];
            kind: "struct";
        };
    }, {
        name: "initParams";
        type: {
            fields: [{
                name: "minSignatures";
                type: "u8";
            }, {
                name: "permissions";
                type: {
                    defined: {
                        name: "permissions";
                    };
                };
            }, {
                name: "voltageMultiplier";
                type: {
                    defined: {
                        name: "voltageMultiplier";
                    };
                };
            }, {
                name: "tradingDiscount";
                type: {
                    array: ["u64", 6];
                };
            }, {
                name: "referralRebate";
                type: {
                    array: ["u64", 6];
                };
            }, {
                name: "defaultRebate";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "initRebateVaultParams";
        type: {
            fields: [{
                name: "allowRebatePayout";
                type: "bool";
            }];
            kind: "struct";
        };
    }, {
        name: "initRevenueTokenAccountParams";
        type: {
            fields: [{
                name: "feeShareBps";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "initStakingParams";
        type: {
            fields: [{
                name: "stakingFeeShareBps";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "initTokenVaultParams";
        type: {
            fields: [{
                name: "tokenPermissions";
                type: {
                    defined: {
                        name: "tokenPermissions";
                    };
                };
            }, {
                name: "amount";
                type: "u64";
            }, {
                name: "withdrawTimeLimit";
                type: "i64";
            }, {
                name: "withdrawInstantFee";
                type: "u64";
            }, {
                name: "stakeLevel";
                type: {
                    array: ["u64", 6];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "internalEmaPrice";
        type: {
            fields: [{
                name: "emaPrice";
                type: "u64";
            }, {
                name: "publishTime";
                type: "i64";
            }];
            kind: "struct";
        };
    }, {
        name: "internalPrice";
        type: {
            fields: [{
                name: "price";
                type: "u64";
            }, {
                name: "conf";
                type: "u64";
            }, {
                name: "publishTime";
                type: "i64";
            }];
            kind: "struct";
        };
    }, {
        name: "limitOrder";
        type: {
            fields: [{
                name: "limitPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "reserveAmount";
                type: "u64";
            }, {
                name: "reserveCustodyUid";
                type: "u8";
            }, {
                name: "receiveCustodyUid";
                type: "u8";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "stopLossPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "takeProfitPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "liquidateLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "priceUsd";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "liquidateLogUsDv1";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "tradeId";
                type: "i64";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "duration";
                type: "i64";
            }, {
                name: "exitPrice";
                type: "u64";
            }, {
                name: "exitPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "collateralUsd";
                type: "u64";
            }, {
                name: "profitUsd";
                type: "u64";
            }, {
                name: "lossUsd";
                type: "u64";
            }, {
                name: "feeUsd";
                type: "u64";
            }, {
                name: "penaltyUsd";
                type: "u64";
            }, {
                name: "exitFeeUsd";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 4];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "liquidateLogV2";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "price";
                type: "u64";
            }, {
                name: "priceExponent";
                type: "i32";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "liquidateLogV3";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "duration";
                type: "i64";
            }, {
                name: "exitPrice";
                type: "u64";
            }, {
                name: "exitPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "profitUsd";
                type: "u64";
            }, {
                name: "lossUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }, {
                name: "feeRebateAmount";
                type: "u64";
            }, {
                name: "exitFeeAmount";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 4];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "liquidateParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "market";
        type: {
            fields: [{
                name: "pool";
                type: "pubkey";
            }, {
                name: "targetCustody";
                type: "pubkey";
            }, {
                name: "collateralCustody";
                type: "pubkey";
            }, {
                name: "side";
                type: {
                    defined: {
                        name: "side";
                    };
                };
            }, {
                name: "correlation";
                type: "bool";
            }, {
                name: "maxPayoffBps";
                type: "u64";
            }, {
                name: "permissions";
                type: {
                    defined: {
                        name: "marketPermissions";
                    };
                };
            }, {
                name: "degenExposureUsd";
                type: "u64";
            }, {
                name: "collectivePosition";
                type: {
                    defined: {
                        name: "positionStats";
                    };
                };
            }, {
                name: "targetCustodyUid";
                type: "u8";
            }, {
                name: "padding";
                type: {
                    array: ["u8", 7];
                };
            }, {
                name: "collateralCustodyUid";
                type: "u8";
            }, {
                name: "padding2";
                type: {
                    array: ["u8", 7];
                };
            }, {
                name: "bump";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        name: "marketPermissions";
        type: {
            fields: [{
                name: "allowOpenPosition";
                type: "bool";
            }, {
                name: "allowClosePosition";
                type: "bool";
            }, {
                name: "allowCollateralWithdrawal";
                type: "bool";
            }, {
                name: "allowSizeChange";
                type: "bool";
            }];
            kind: "struct";
        };
    }, {
        name: "migrateFlpLog";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "amount";
                type: "u64";
            }, {
                name: "lpAmountOut";
                type: "u64";
            }, {
                name: "rewardLpAmount";
                type: "u64";
            }, {
                name: "rewardPerLpStaked";
                type: "u64";
            }, {
                name: "lpPriceUsd";
                type: "u64";
            }, {
                name: "compoundingPriceUsd";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "migrateFlpParams";
        type: {
            fields: [{
                name: "compoundingTokenAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "migrateMarketOrderParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "migrateMarketPositionLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "position";
                type: "pubkey";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "collateralUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "migrateMarketPositionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "migratePositionLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "position";
                type: "pubkey";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "collateralUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "migrateStakeLog";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "amount";
                type: "u64";
            }, {
                name: "compoundingAmountOut";
                type: "u64";
            }, {
                name: "poolLpAmount";
                type: "u64";
            }, {
                name: "rewardPerLpStaked";
                type: "u64";
            }, {
                name: "lpPriceUsd";
                type: "u64";
            }, {
                name: "compoundingPriceUsd";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "migrateStakeParams";
        type: {
            fields: [{
                name: "amount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "moveProtocolFeesLog";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "revenueAmount";
                type: "u64";
            }, {
                name: "protocolFee";
                type: "u64";
            }, {
                name: "revenueFeeShare";
                type: "u64";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 2];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "multisig";
        repr: {
            kind: "c";
            packed: true;
        };
        serialization: "bytemuck";
        type: {
            fields: [{
                name: "numSigners";
                type: "u8";
            }, {
                name: "numSigned";
                type: "u8";
            }, {
                name: "minSignatures";
                type: "u8";
            }, {
                name: "instructionAccountsLen";
                type: "u8";
            }, {
                name: "instructionDataLen";
                type: "u16";
            }, {
                name: "instructionHash";
                type: "u64";
            }, {
                name: "signers";
                type: {
                    array: ["pubkey", 6];
                };
            }, {
                name: "signed";
                type: {
                    array: ["u8", 6];
                };
            }, {
                name: "bump";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        name: "newPositionPricesAndFee";
        type: {
            fields: [{
                name: "entryPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "feeUsd";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "openPositionLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "priceUsd";
                type: "u64";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "collateralUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "openPositionLogUsDv1";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "tradeId";
                type: "i64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "inputAmount";
                type: "u64";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralUsd";
                type: "u64";
            }, {
                name: "feeUsd";
                type: "u64";
            }, {
                name: "rebateUsd";
                type: "u64";
            }, {
                name: "discountUsd";
                type: "u64";
            }, {
                name: "entryFeeUsd";
                type: "u64";
            }, {
                name: "isDegen";
                type: "bool";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 4];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "openPositionLogV2";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "price";
                type: "u64";
            }, {
                name: "priceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "collateralUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "openPositionLogV3";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "collateralUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }, {
                name: "feeRebateAmount";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "openPositionLogV4";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "collateralUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }, {
                name: "feeRebateAmount";
                type: "u64";
            }, {
                name: "entryFeeAmount";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "isDegen";
                type: "bool";
            }, {
                name: "padding";
                type: {
                    array: ["u8", 31];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "openPositionParams";
        type: {
            fields: [{
                name: "priceWithSlippage";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "privilege";
                type: {
                    defined: {
                        name: "privilege";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "openPositionQuoteData";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "swapRequired";
                type: "bool";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "collateralUsd";
                type: "u64";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "entryPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "liquidationPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "entryFeeUsd";
                type: "u64";
            }, {
                name: "entryFeeBeforeDiscountUsd";
                type: "u64";
            }, {
                name: "volatilityFeeUsd";
                type: "u64";
            }, {
                name: "totalFeeUsd";
                type: "u64";
            }, {
                name: "feeRate";
                type: "u64";
            }, {
                name: "leverage";
                type: "u64";
            }, {
                name: "availableLiquidityUsd";
                type: "u64";
            }, {
                name: "borrowFeeRate";
                type: "u64";
            }, {
                name: "hasExistingPosition";
                type: "bool";
            }, {
                name: "oldLeverage";
                type: "u64";
            }, {
                name: "oldEntryPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "oldLiquidationPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "finalLeverage";
                type: "u64";
            }, {
                name: "finalEntryPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "finalLiquidationPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "takeProfitQuote";
                type: {
                    defined: {
                        name: "triggerQuote";
                    };
                };
            }, {
                name: "stopLossQuote";
                type: {
                    defined: {
                        name: "triggerQuote";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "oracleParams";
        type: {
            fields: [{
                name: "intOracleAccount";
                type: "pubkey";
            }, {
                name: "extOracleAccount";
                type: "pubkey";
            }, {
                name: "oracleType";
                type: {
                    defined: {
                        name: "oracleType";
                    };
                };
            }, {
                name: "maxDivergenceBps";
                type: "u64";
            }, {
                name: "maxConfBps";
                type: "u64";
            }, {
                name: "maxPriceAgeSec";
                type: "u32";
            }, {
                name: "maxBackupAgeSec";
                type: "u32";
            }];
            kind: "struct";
        };
    }, {
        name: "oraclePrice";
        type: {
            fields: [{
                name: "price";
                type: "u64";
            }, {
                name: "exponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "oracleType";
        type: {
            kind: "enum";
            variants: [{
                name: "none";
            }, {
                name: "custom";
            }, {
                name: "pyth";
            }];
        };
    }, {
        name: "order";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "limitOrders";
                type: {
                    array: [{
                        defined: {
                            name: "limitOrder";
                        };
                    }, 5];
                };
            }, {
                name: "takeProfitOrders";
                type: {
                    array: [{
                        defined: {
                            name: "triggerOrder";
                        };
                    }, 5];
                };
            }, {
                name: "stopLossOrders";
                type: {
                    array: [{
                        defined: {
                            name: "triggerOrder";
                        };
                    }, 5];
                };
            }, {
                name: "isInitialised";
                type: "bool";
            }, {
                name: "isActive";
                type: "bool";
            }, {
                name: "openSl";
                type: "u8";
            }, {
                name: "openTp";
                type: "u8";
            }, {
                name: "inactiveSl";
                type: "u8";
            }, {
                name: "inactiveTp";
                type: "u8";
            }, {
                name: "activeOrders";
                type: "u8";
            }, {
                name: "bump";
                type: "u8";
            }, {
                name: "referenceTimestamp";
                type: "i64";
            }, {
                name: "executionCount";
                type: "u64";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 6];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "permissions";
        type: {
            fields: [{
                name: "allowSwap";
                type: "bool";
            }, {
                name: "allowAddLiquidity";
                type: "bool";
            }, {
                name: "allowRemoveLiquidity";
                type: "bool";
            }, {
                name: "allowOpenPosition";
                type: "bool";
            }, {
                name: "allowClosePosition";
                type: "bool";
            }, {
                name: "allowCollateralWithdrawal";
                type: "bool";
            }, {
                name: "allowSizeChange";
                type: "bool";
            }, {
                name: "allowLiquidation";
                type: "bool";
            }, {
                name: "allowLpStaking";
                type: "bool";
            }, {
                name: "allowFeeDistribution";
                type: "bool";
            }, {
                name: "allowUngatedTrading";
                type: "bool";
            }, {
                name: "allowFeeDiscounts";
                type: "bool";
            }, {
                name: "allowReferralRebates";
                type: "bool";
            }];
            kind: "struct";
        };
    }, {
        name: "perpetuals";
        type: {
            fields: [{
                name: "permissions";
                type: {
                    defined: {
                        name: "permissions";
                    };
                };
            }, {
                name: "pools";
                type: {
                    vec: "pubkey";
                };
            }, {
                name: "collections";
                type: {
                    vec: "pubkey";
                };
            }, {
                name: "voltageMultiplier";
                type: {
                    defined: {
                        name: "voltageMultiplier";
                    };
                };
            }, {
                name: "tradingDiscount";
                type: {
                    array: ["u64", 6];
                };
            }, {
                name: "referralRebate";
                type: {
                    array: ["u64", 6];
                };
            }, {
                name: "defaultRebate";
                type: "u64";
            }, {
                name: "inceptionTime";
                type: "i64";
            }, {
                name: "transferAuthorityBump";
                type: "u8";
            }, {
                name: "perpetualsBump";
                type: "u8";
            }, {
                name: "tradeLimit";
                type: "u8";
            }, {
                name: "triggerOrderLimit";
                type: "u8";
            }, {
                name: "rebateLimitUsd";
                type: "u32";
            }];
            kind: "struct";
        };
    }, {
        name: "placeLimitOrderLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "limitPrice";
                type: "u64";
            }, {
                name: "limitPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "reservePrice";
                type: "u64";
            }, {
                name: "reservePriceExponent";
                type: "i32";
            }, {
                name: "reserveAmount";
                type: "u64";
            }, {
                name: "reserveUsd";
                type: "u64";
            }, {
                name: "stopLossPrice";
                type: "u64";
            }, {
                name: "stopLossPriceExponent";
                type: "i32";
            }, {
                name: "takeProfitPrice";
                type: "u64";
            }, {
                name: "takeProfitPriceExponent";
                type: "i32";
            }, {
                name: "receiveCustodyUid";
                type: "u8";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "placeLimitOrderParams";
        type: {
            fields: [{
                name: "limitPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "reserveAmount";
                type: "u64";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "stopLossPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "takeProfitPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "placeTriggerOrderLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "price";
                type: "u64";
            }, {
                name: "priceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "receiveCustodyUid";
                type: "u8";
            }, {
                name: "isStopLoss";
                type: "bool";
            }];
            kind: "struct";
        };
    }, {
        name: "placeTriggerOrderParams";
        type: {
            fields: [{
                name: "triggerPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "deltaSizeAmount";
                type: "u64";
            }, {
                name: "isStopLoss";
                type: "bool";
            }];
            kind: "struct";
        };
    }, {
        name: "pool";
        type: {
            fields: [{
                name: "name";
                type: "string";
            }, {
                name: "permissions";
                type: {
                    defined: {
                        name: "permissions";
                    };
                };
            }, {
                name: "inceptionTime";
                type: "i64";
            }, {
                name: "lpMint";
                type: "pubkey";
            }, {
                name: "oracleAuthority";
                type: "pubkey";
            }, {
                name: "stakedLpVault";
                type: "pubkey";
            }, {
                name: "rewardCustody";
                type: "pubkey";
            }, {
                name: "custodies";
                type: {
                    vec: "pubkey";
                };
            }, {
                name: "ratios";
                type: {
                    vec: {
                        defined: {
                            name: "tokenRatios";
                        };
                    };
                };
            }, {
                name: "markets";
                type: {
                    vec: "pubkey";
                };
            }, {
                name: "maxAumUsd";
                type: "u64";
            }, {
                name: "buffer";
                type: "u64";
            }, {
                name: "rawAumUsd";
                type: "u64";
            }, {
                name: "equityUsd";
                type: "u64";
            }, {
                name: "totalStaked";
                type: {
                    defined: {
                        name: "stakeStats";
                    };
                };
            }, {
                name: "stakingFeeShareBps";
                type: "u64";
            }, {
                name: "bump";
                type: "u8";
            }, {
                name: "lpMintBump";
                type: "u8";
            }, {
                name: "stakedLpVaultBump";
                type: "u8";
            }, {
                name: "vpVolumeFactor";
                type: "u8";
            }, {
                name: "uniqueCustodyCount";
                type: "u8";
            }, {
                name: "padding";
                type: {
                    array: ["u8", 3];
                };
            }, {
                name: "stakingFeeBoostBps";
                type: {
                    array: ["u64", 6];
                };
            }, {
                name: "compoundingMint";
                type: "pubkey";
            }, {
                name: "compoundingLpVault";
                type: "pubkey";
            }, {
                name: "compoundingStats";
                type: {
                    defined: {
                        name: "compoundingStats";
                    };
                };
            }, {
                name: "compoundingMintBump";
                type: "u8";
            }, {
                name: "compoundingLpVaultBump";
                type: "u8";
            }, {
                name: "minLpPriceUsd";
                type: "u64";
            }, {
                name: "maxLpPriceUsd";
                type: "u64";
            }, {
                name: "lpPrice";
                type: "u64";
            }, {
                name: "compoundingLpPrice";
                type: "u64";
            }, {
                name: "lastUpdatedTimestamp";
                type: "i64";
            }, {
                name: "feesObligationUsd";
                type: "u64";
            }, {
                name: "rebateObligationUsd";
                type: "u64";
            }, {
                name: "thresholdUsd";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "position";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "delegate";
                type: "pubkey";
            }, {
                name: "openTime";
                type: "i64";
            }, {
                name: "updateTime";
                type: "i64";
            }, {
                name: "entryPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "lockedAmount";
                type: "u64";
            }, {
                name: "lockedUsd";
                type: "u64";
            }, {
                name: "priceImpactUsd";
                type: "u64";
            }, {
                name: "collateralUsd";
                type: "u64";
            }, {
                name: "unsettledValueUsd";
                type: "u64";
            }, {
                name: "unsettledFeesUsd";
                type: "u64";
            }, {
                name: "cumulativeLockFeeSnapshot";
                type: "u128";
            }, {
                name: "degenSizeUsd";
                type: "u64";
            }, {
                name: "referencePrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "isActive";
                type: "bool";
            }, {
                name: "buffer";
                type: {
                    array: ["u8", 2];
                };
            }, {
                name: "priceImpactSet";
                type: "u8";
            }, {
                name: "sizeDecimals";
                type: "u8";
            }, {
                name: "lockedDecimals";
                type: "u8";
            }, {
                name: "collateralDecimals";
                type: "u8";
            }, {
                name: "bump";
                type: "u8";
            }, {
                name: "padding";
                type: {
                    array: ["u8", 8];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "positionData";
        type: {
            fields: [{
                name: "entryOraclePrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "collateralUsd";
                type: "u64";
            }, {
                name: "pnl";
                type: {
                    defined: {
                        name: "positionPnl";
                    };
                };
            }, {
                name: "pnlWithFeeUsd";
                type: "i64";
            }, {
                name: "pnlPercentageWithFee";
                type: "i64";
            }, {
                name: "pnlWithoutFeeUsd";
                type: "i64";
            }, {
                name: "pnlPercentageWithoutFee";
                type: "i64";
            }, {
                name: "leverage";
                type: "u64";
            }, {
                name: "liquidationPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "positionPnl";
        type: {
            fields: [{
                name: "profitUsd";
                type: "u64";
            }, {
                name: "lossUsd";
                type: "u64";
            }, {
                name: "exitFeeUsd";
                type: "u64";
            }, {
                name: "borrowFeeUsd";
                type: "u64";
            }, {
                name: "exitFeeAmount";
                type: "u64";
            }, {
                name: "borrowFeeAmount";
                type: "u64";
            }, {
                name: "priceImpactUsd";
                type: "u64";
            }, {
                name: "priceImpactSet";
                type: "bool";
            }];
            kind: "struct";
        };
    }, {
        name: "positionStats";
        type: {
            fields: [{
                name: "openPositions";
                type: "u64";
            }, {
                name: "updateTime";
                type: "i64";
            }, {
                name: "averageEntryPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "lockedAmount";
                type: "u64";
            }, {
                name: "lockedUsd";
                type: "u64";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "collateralLiabilityUsd";
                type: "u64";
            }, {
                name: "unsettledFeeUsd";
                type: "u64";
            }, {
                name: "cumulativeLockFeeSnapshot";
                type: "u128";
            }, {
                name: "sizeDecimals";
                type: "u8";
            }, {
                name: "lockedDecimals";
                type: "u8";
            }, {
                name: "collateralDecimals";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        name: "priceAndFee";
        type: {
            fields: [{
                name: "price";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "feeUsd";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "pricingParams";
        type: {
            fields: [{
                name: "tradeSpreadMin";
                type: "u64";
            }, {
                name: "tradeSpreadMax";
                type: "u64";
            }, {
                name: "swapSpread";
                type: "u64";
            }, {
                name: "minInitLeverage";
                type: "u32";
            }, {
                name: "minInitDegenLeverage";
                type: "u32";
            }, {
                name: "maxInitLeverage";
                type: "u32";
            }, {
                name: "maxInitDegenLeverage";
                type: "u32";
            }, {
                name: "maxLeverage";
                type: "u32";
            }, {
                name: "maxDegenLeverage";
                type: "u32";
            }, {
                name: "minCollateralUsd";
                type: "u32";
            }, {
                name: "minDegenCollateralUsd";
                type: "u32";
            }, {
                name: "delaySeconds";
                type: "i64";
            }, {
                name: "maxUtilization";
                type: "u32";
            }, {
                name: "degenPositionFactor";
                type: "u16";
            }, {
                name: "degenExposureFactor";
                type: "u16";
            }, {
                name: "maxPositionSizeUsd";
                type: "u64";
            }, {
                name: "maxExposureUsd";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "privilege";
        type: {
            kind: "enum";
            variants: [{
                name: "none";
            }, {
                name: "stake";
            }, {
                name: "referral";
            }];
        };
    }, {
        name: "profitAndLoss";
        type: {
            fields: [{
                name: "profit";
                type: "u64";
            }, {
                name: "loss";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "protocolVault";
        type: {
            fields: [{
                name: "key";
                type: "pubkey";
            }, {
                name: "tokenAccount";
                type: "pubkey";
            }, {
                name: "isInitialized";
                type: "bool";
            }, {
                name: "bump";
                type: "u8";
            }, {
                name: "tokenAccountBump";
                type: "u8";
            }, {
                name: "feeShareBps";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 4];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "ratioFees";
        type: {
            fields: [{
                name: "minFee";
                type: "u64";
            }, {
                name: "targetFee";
                type: "u64";
            }, {
                name: "maxFee";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "rebateVault";
        type: {
            fields: [{
                name: "key";
                type: "pubkey";
            }, {
                name: "tokenAccount";
                type: "pubkey";
            }, {
                name: "isInitialized";
                type: "bool";
            }, {
                name: "allowPayout";
                type: "bool";
            }, {
                name: "bump";
                type: "u8";
            }, {
                name: "tokenAccountBump";
                type: "u8";
            }, {
                name: "availableUsd";
                type: "u64";
            }, {
                name: "availableAmount";
                type: "u64";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 4];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "referral";
        type: {
            fields: [{
                name: "isInitialized";
                type: "bool";
            }, {
                name: "bump";
                type: "u8";
            }, {
                name: "refererTokenStakeAccount";
                type: "pubkey";
            }, {
                name: "refererBoosterAccount";
                type: "pubkey";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 4];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "referralRebateLog";
        type: {
            fields: [{
                name: "tokenStake";
                type: "pubkey";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "rebateUsd";
                type: "u64";
            }, {
                name: "volumeUsd";
                type: "u64";
            }, {
                name: "voltagePointsType";
                type: "u8";
            }, {
                name: "blockedRebateUsd";
                type: "u64";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 3];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "refreshOrdersStatusParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "refreshPositionsStatusParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "refreshStakeLog";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "rewardPerLpStaked";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "refreshStakeParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "refreshStakeUserLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "poolName";
                type: "string";
            }, {
                name: "rewardAmount";
                type: "u64";
            }, {
                name: "rewardMint";
                type: "pubkey";
            }, {
                name: "rewardShare";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "refreshTokenStakeLog";
        type: {
            fields: [{
                name: "revenuePerFafStaked";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "refreshTokenStakeParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "refreshTokenStakeUserLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "revenueAmount";
                type: "u64";
            }, {
                name: "newlyUnlockedAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "refreshTokenStakeUserLogV2";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "tokenStake";
                type: "pubkey";
            }, {
                name: "revenueAmount";
                type: "u64";
            }, {
                name: "newlyUnlockedAmount";
                type: "u64";
            }, {
                name: "currentTimestamp";
                type: "i64";
            }, {
                name: "lastUpdatedTimestamp";
                type: "i64";
            }, {
                name: "level";
                type: "u8";
            }, {
                name: "activeStakeAmount";
                type: "u64";
            }, {
                name: "levelEligibleAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "reimburseParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "removeCollateralAndSwapLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "deltaCollateralAmount";
                type: "u64";
            }, {
                name: "finalCollateralAmount";
                type: "u64";
            }, {
                name: "finalCollateralUsd";
                type: "u64";
            }, {
                name: "finalSizeAmount";
                type: "u64";
            }, {
                name: "finalSizeUsd";
                type: "u64";
            }, {
                name: "receiveCustodyUid";
                type: "u64";
            }, {
                name: "receiveAmount";
                type: "u64";
            }, {
                name: "swapFeeAmount";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "removeCollateralAndSwapLogUsDv1";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "tradeId";
                type: "i64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "deltaCollateralUsd";
                type: "u64";
            }, {
                name: "finalCollateralUsd";
                type: "u64";
            }, {
                name: "finalSizeAmount";
                type: "u64";
            }, {
                name: "finalSizeUsd";
                type: "u64";
            }, {
                name: "receiveCustodyUid";
                type: "u8";
            }, {
                name: "receiveAmount";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 4];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "removeCollateralAndSwapParams";
        type: {
            fields: [{
                name: "collateralDeltaUsd";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "removeCollateralLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "collateralPriceUsd";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "removeCollateralLogUsDv1";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "tradeId";
                type: "i64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "deltaCollateralUsd";
                type: "u64";
            }, {
                name: "finalCollateralUsd";
                type: "u64";
            }, {
                name: "finalSizeAmount";
                type: "u64";
            }, {
                name: "finalSizeUsd";
                type: "u64";
            }, {
                name: "receiveAmount";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 4];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "removeCollateralLogV2";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "removeCollateralLogV3";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "deltaCollateralAmount";
                type: "u64";
            }, {
                name: "finalCollateralAmount";
                type: "u64";
            }, {
                name: "finalCollateralUsd";
                type: "u64";
            }, {
                name: "finalSizeAmount";
                type: "u64";
            }, {
                name: "finalSizeUsd";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "removeCollateralParams";
        type: {
            fields: [{
                name: "collateralDeltaUsd";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "removeCollateralQuoteData";
        type: {
            fields: [{
                name: "collateralDeltaUsd";
                type: "u64";
            }, {
                name: "receiveTokenAmount";
                type: "u64";
            }, {
                name: "receiveTokenAmountUsd";
                type: "u64";
            }, {
                name: "existingCollateralUsd";
                type: "u64";
            }, {
                name: "existingLeverage";
                type: "u64";
            }, {
                name: "existingLiquidationPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "newCollateralUsd";
                type: "u64";
            }, {
                name: "newLeverage";
                type: "u64";
            }, {
                name: "newLiquidationPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "maxWithdrawableUsd";
                type: "u64";
            }, {
                name: "swapRequired";
                type: "bool";
            }, {
                name: "swapPossible";
                type: "bool";
            }, {
                name: "passesMinCollateral";
                type: "bool";
            }, {
                name: "passesLeverageCheck";
                type: "bool";
            }];
            kind: "struct";
        };
    }, {
        name: "removeCompoundingLiquidityLog";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "custodyUid";
                type: "u64";
            }, {
                name: "compoundingAmountIn";
                type: "u64";
            }, {
                name: "amountOut";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }, {
                name: "rewardPerLpStaked";
                type: "u64";
            }, {
                name: "compoundingPriceUsd";
                type: "u64";
            }, {
                name: "tokenOutPrice";
                type: "u64";
            }, {
                name: "tokenOutPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "removeCompoundingLiquidityParams";
        type: {
            fields: [{
                name: "compoundingAmountIn";
                type: "u64";
            }, {
                name: "minAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "removeCustodyParams";
        type: {
            fields: [{
                name: "ratios";
                type: {
                    vec: {
                        defined: {
                            name: "tokenRatios";
                        };
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "removeLiquidityLog";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "custodyUid";
                type: "u64";
            }, {
                name: "lpAmountIn";
                type: "u64";
            }, {
                name: "amountOut";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "removeLiquidityLogV2";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "custodyUid";
                type: "u64";
            }, {
                name: "lpAmountIn";
                type: "u64";
            }, {
                name: "amountOut";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }, {
                name: "lpPriceUsd";
                type: "u64";
            }, {
                name: "tokenOutPrice";
                type: "u64";
            }, {
                name: "tokenOutPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "removeLiquidityParams";
        type: {
            fields: [{
                name: "lpAmountIn";
                type: "u64";
            }, {
                name: "minAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "removeMarketParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "removePoolParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "renameFlpParams";
        type: {
            fields: [{
                name: "flag";
                type: "u64";
            }, {
                name: "lpTokenName";
                type: "string";
            }, {
                name: "lpTokenSymbol";
                type: "string";
            }, {
                name: "lpTokenUri";
                type: "string";
            }];
            kind: "struct";
        };
    }, {
        name: "resizeInternalOracleParams";
        type: {
            fields: [{
                name: "lazerFeedId";
                type: "u32";
            }];
            kind: "struct";
        };
    }, {
        name: "resizeTokenStakeParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "setAdminSignersParams";
        type: {
            fields: [{
                name: "minSignatures";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        name: "setCustodyConfigParams";
        type: {
            fields: [{
                name: "isVirtual";
                type: "bool";
            }, {
                name: "depegAdjustment";
                type: "bool";
            }, {
                name: "inversePrice";
                type: "bool";
            }, {
                name: "oracle";
                type: {
                    defined: {
                        name: "oracleParams";
                    };
                };
            }, {
                name: "pricing";
                type: {
                    defined: {
                        name: "pricingParams";
                    };
                };
            }, {
                name: "permissions";
                type: {
                    defined: {
                        name: "permissions";
                    };
                };
            }, {
                name: "fees";
                type: {
                    defined: {
                        name: "fees";
                    };
                };
            }, {
                name: "borrowRate";
                type: {
                    defined: {
                        name: "borrowRateParams";
                    };
                };
            }, {
                name: "ratios";
                type: {
                    vec: {
                        defined: {
                            name: "tokenRatios";
                        };
                    };
                };
            }, {
                name: "minReserveUsd";
                type: "u64";
            }, {
                name: "limitPriceBufferBps";
                type: "u64";
            }, {
                name: "token22";
                type: "bool";
            }];
            kind: "struct";
        };
    }, {
        name: "setCustodyTokenMultiplierParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "setCustomOraclePriceParams";
        type: {
            fields: [{
                name: "price";
                type: "u64";
            }, {
                name: "expo";
                type: "i32";
            }, {
                name: "conf";
                type: "u64";
            }, {
                name: "ema";
                type: "u64";
            }, {
                name: "publishTime";
                type: "i64";
            }];
            kind: "struct";
        };
    }, {
        name: "setFeeShareParams";
        type: {
            fields: [{
                name: "feeShareBps";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "setInternalCurrentPriceParams";
        type: {
            fields: [{
                name: "useCurrentTime";
                type: "u8";
            }, {
                name: "prices";
                type: {
                    vec: {
                        defined: {
                            name: "internalPrice";
                        };
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "setInternalEmaPriceParams";
        type: {
            fields: [{
                name: "prices";
                type: {
                    vec: {
                        defined: {
                            name: "internalEmaPrice";
                        };
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "setInternalLazerPriceParams";
        type: {
            fields: [{
                name: "messageData";
                type: "bytes";
            }];
            kind: "struct";
        };
    }, {
        name: "setLpTokenPriceParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "setMarketConfigParams";
        type: {
            fields: [{
                name: "maxPayoffBps";
                type: "u64";
            }, {
                name: "permissions";
                type: {
                    defined: {
                        name: "marketPermissions";
                    };
                };
            }, {
                name: "correlation";
                type: "bool";
            }];
            kind: "struct";
        };
    }, {
        name: "setPermissionsParams";
        type: {
            fields: [{
                name: "permissions";
                type: {
                    defined: {
                        name: "permissions";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "setPerpetualsConfigParams";
        type: {
            fields: [{
                name: "allowUngatedTrading";
                type: "bool";
            }, {
                name: "tradingDiscount";
                type: {
                    array: ["u64", 6];
                };
            }, {
                name: "referralRebate";
                type: {
                    array: ["u64", 6];
                };
            }, {
                name: "defaultRebate";
                type: "u64";
            }, {
                name: "voltageMultiplier";
                type: {
                    defined: {
                        name: "voltageMultiplier";
                    };
                };
            }, {
                name: "tradeLimit";
                type: "u8";
            }, {
                name: "triggerOrderLimit";
                type: "u8";
            }, {
                name: "rebateLimitUsd";
                type: "u32";
            }];
            kind: "struct";
        };
    }, {
        name: "setPoolConfigParams";
        type: {
            fields: [{
                name: "permissions";
                type: {
                    defined: {
                        name: "permissions";
                    };
                };
            }, {
                name: "oracleAuthority";
                type: "pubkey";
            }, {
                name: "maxAumUsd";
                type: "u64";
            }, {
                name: "stakingFeeShareBps";
                type: "u64";
            }, {
                name: "vpVolumeFactor";
                type: "u8";
            }, {
                name: "stakingFeeBoostBps";
                type: {
                    array: ["u64", 6];
                };
            }, {
                name: "minLpPriceUsd";
                type: "u64";
            }, {
                name: "maxLpPriceUsd";
                type: "u64";
            }, {
                name: "thresholdUsd";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "setPositionPriceImpactLog";
        type: {
            fields: [{
                name: "position";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "priceImpactUsd";
                type: "u64";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 4];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "setPositionPriceImpactParams";
        type: {
            fields: [{
                name: "priceImpactUsd";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "setProtocolFeeShareParams";
        type: {
            fields: [{
                name: "feeShareBps";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "setTestTimeParams";
        type: {
            fields: [{
                name: "time";
                type: "i64";
            }];
            kind: "struct";
        };
    }, {
        name: "setTokenRewardLog";
        type: {
            fields: [{
                name: "tokenStake";
                type: "pubkey";
            }, {
                name: "amount";
                type: "u64";
            }, {
                name: "epochCount";
                type: "u32";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 2];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "setTokenRewardParams";
        type: {
            fields: [{
                name: "amount";
                type: "u64";
            }, {
                name: "epochCount";
                type: "u32";
            }];
            kind: "struct";
        };
    }, {
        name: "setTokenStakeLevelParams";
        type: {
            fields: [{
                name: "level";
                type: "u8";
            }, {
                name: "rebateRate";
                type: "u64";
            }, {
                name: "maxRebateUsd";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "setTokenVaultConfigParams";
        type: {
            fields: [{
                name: "tokenPermissions";
                type: {
                    defined: {
                        name: "tokenPermissions";
                    };
                };
            }, {
                name: "withdrawTimeLimit";
                type: "i64";
            }, {
                name: "withdrawInstantFee";
                type: "u64";
            }, {
                name: "stakeLevel";
                type: {
                    array: ["u64", 6];
                };
            }, {
                name: "unlockPeriod";
                type: "i64";
            }];
            kind: "struct";
        };
    }, {
        name: "setWhitelistConfigParams";
        type: {
            fields: [{
                name: "isSwapFeeExempt";
                type: "bool";
            }, {
                name: "isDepositFeeExempt";
                type: "bool";
            }, {
                name: "isWithdrawalFeeExempt";
                type: "bool";
            }, {
                name: "poolAddress";
                type: "pubkey";
            }];
            kind: "struct";
        };
    }, {
        name: "settleRebatesLog";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "rebateUsd";
                type: "u64";
            }, {
                name: "rebateAmount";
                type: "u64";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 2];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "side";
        type: {
            kind: "enum";
            variants: [{
                name: "none";
            }, {
                name: "long";
            }, {
                name: "short";
            }];
        };
    }, {
        name: "stakeStats";
        type: {
            fields: [{
                name: "pendingActivation";
                type: "u64";
            }, {
                name: "activeAmount";
                type: "u64";
            }, {
                name: "pendingDeactivation";
                type: "u64";
            }, {
                name: "deactivatedAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "swapAmountAndFees";
        type: {
            fields: [{
                name: "amountOut";
                type: "u64";
            }, {
                name: "feeIn";
                type: "u64";
            }, {
                name: "feeOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "swapAndAddCollateralLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "receivingCustodyUid";
                type: "u64";
            }, {
                name: "receiveAmount";
                type: "u64";
            }, {
                name: "swapFeeAmount";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "deltaCollateralAmount";
                type: "u64";
            }, {
                name: "finalCollateralAmount";
                type: "u64";
            }, {
                name: "finalCollateralUsd";
                type: "u64";
            }, {
                name: "finalSizeAmount";
                type: "u64";
            }, {
                name: "finalSizeUsd";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "swapAndAddCollateralLogUsDv1";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "tradeId";
                type: "i64";
            }, {
                name: "inputCustodyUid";
                type: "u8";
            }, {
                name: "inputPrice";
                type: "u64";
            }, {
                name: "inputPriceExponent";
                type: "i32";
            }, {
                name: "deltaInputAmount";
                type: "u64";
            }, {
                name: "deltaCollateralUsd";
                type: "u64";
            }, {
                name: "finalCollateralUsd";
                type: "u64";
            }, {
                name: "finalSizeAmount";
                type: "u64";
            }, {
                name: "finalSizeUsd";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 4];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "swapAndAddCollateralParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "swapAndOpenLog";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "receivingCustodyUid";
                type: "u64";
            }, {
                name: "collateralCustodyUid";
                type: "u64";
            }, {
                name: "targetCustodyUid";
                type: "u64";
            }, {
                name: "amountIn";
                type: "u64";
            }, {
                name: "swapAmountOut";
                type: "u64";
            }, {
                name: "swapFeeAmount";
                type: "u64";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "collateralUsd";
                type: "u64";
            }, {
                name: "positionFeeAmount";
                type: "u64";
            }, {
                name: "feeRebateAmount";
                type: "u64";
            }, {
                name: "receivingOracleAccountTime";
                type: "i64";
            }, {
                name: "receivingOracleAccountType";
                type: "u8";
            }, {
                name: "receivingOracleAccountPrice";
                type: "u64";
            }, {
                name: "receivingOracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "collateralOracleAccountTime";
                type: "i64";
            }, {
                name: "collateralOracleAccountType";
                type: "u8";
            }, {
                name: "collateralOracleAccountPrice";
                type: "u64";
            }, {
                name: "collateralOracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "targetOracleAccountTime";
                type: "i64";
            }, {
                name: "targetOracleAccountType";
                type: "u8";
            }, {
                name: "targetOracleAccountPrice";
                type: "u64";
            }, {
                name: "targetOracleAccountPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "swapAndOpenLogUsDv1";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "tradeId";
                type: "i64";
            }, {
                name: "inputCustodyUid";
                type: "u8";
            }, {
                name: "inputPrice";
                type: "u64";
            }, {
                name: "inputPriceExponent";
                type: "i32";
            }, {
                name: "inputAmount";
                type: "u64";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralUsd";
                type: "u64";
            }, {
                name: "feeUsd";
                type: "u64";
            }, {
                name: "rebateUsd";
                type: "u64";
            }, {
                name: "discountUsd";
                type: "u64";
            }, {
                name: "entryFeeUsd";
                type: "u64";
            }, {
                name: "isDegen";
                type: "bool";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 4];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "swapAndOpenLogV2";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "receivingCustodyUid";
                type: "u64";
            }, {
                name: "collateralCustodyUid";
                type: "u64";
            }, {
                name: "targetCustodyUid";
                type: "u64";
            }, {
                name: "amountIn";
                type: "u64";
            }, {
                name: "swapAmountOut";
                type: "u64";
            }, {
                name: "swapFeeAmount";
                type: "u64";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "collateralUsd";
                type: "u64";
            }, {
                name: "positionFeeAmount";
                type: "u64";
            }, {
                name: "feeRebateAmount";
                type: "u64";
            }, {
                name: "entryFeeAmount";
                type: "u64";
            }, {
                name: "receivingOracleAccountTime";
                type: "i64";
            }, {
                name: "receivingOracleAccountType";
                type: "u8";
            }, {
                name: "receivingOracleAccountPrice";
                type: "u64";
            }, {
                name: "receivingOracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "collateralOracleAccountTime";
                type: "i64";
            }, {
                name: "collateralOracleAccountType";
                type: "u8";
            }, {
                name: "collateralOracleAccountPrice";
                type: "u64";
            }, {
                name: "collateralOracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "targetOracleAccountTime";
                type: "i64";
            }, {
                name: "targetOracleAccountType";
                type: "u8";
            }, {
                name: "targetOracleAccountPrice";
                type: "u64";
            }, {
                name: "targetOracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "isDegen";
                type: "bool";
            }, {
                name: "padding";
                type: {
                    array: ["u8", 31];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "swapAndOpenParams";
        type: {
            fields: [{
                name: "priceWithSlippage";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "amountIn";
                type: "u64";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "privilege";
                type: {
                    defined: {
                        name: "privilege";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "swapFeeInternalLog";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "custodyInUid";
                type: "u64";
            }, {
                name: "custodyOutUid";
                type: "u64";
            }, {
                name: "swapAmount";
                type: "u64";
            }, {
                name: "rewardCustodyAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "swapFeeInternalLogV2";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "custodyInUid";
                type: "u64";
            }, {
                name: "custodyOutUid";
                type: "u64";
            }, {
                name: "swapAmount";
                type: "u64";
            }, {
                name: "rewardCustodyAmount";
                type: "u64";
            }, {
                name: "inOracleAccountTime";
                type: "i64";
            }, {
                name: "inOracleAccountType";
                type: "u8";
            }, {
                name: "inOracleAccountPrice";
                type: "u64";
            }, {
                name: "inOracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "outOracleAccountTime";
                type: "i64";
            }, {
                name: "outOracleAccountType";
                type: "u8";
            }, {
                name: "outOracleAccountPrice";
                type: "u64";
            }, {
                name: "outOracleAccountPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "swapFeeInternalLogV3";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "feeAmount";
                type: "u64";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 4];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "swapFeeInternalParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "swapLog";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "custodyInUid";
                type: "u64";
            }, {
                name: "custodyOutUid";
                type: "u64";
            }, {
                name: "amountIn";
                type: "u64";
            }, {
                name: "amountOut";
                type: "u64";
            }, {
                name: "feeInAmount";
                type: "u64";
            }, {
                name: "feeOutAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "swapLogV2";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "custodyInUid";
                type: "u64";
            }, {
                name: "custodyOutUid";
                type: "u64";
            }, {
                name: "amountIn";
                type: "u64";
            }, {
                name: "amountOut";
                type: "u64";
            }, {
                name: "feeInAmount";
                type: "u64";
            }, {
                name: "feeOutAmount";
                type: "u64";
            }, {
                name: "inOracleAccountTime";
                type: "i64";
            }, {
                name: "inOracleAccountType";
                type: "u8";
            }, {
                name: "inOracleAccountPrice";
                type: "u64";
            }, {
                name: "inOracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "outOracleAccountTime";
                type: "i64";
            }, {
                name: "outOracleAccountType";
                type: "u8";
            }, {
                name: "outOracleAccountPrice";
                type: "u64";
            }, {
                name: "outOracleAccountPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "swapParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "minAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "testInitParams";
        type: {
            fields: [{
                name: "minSignatures";
                type: "u8";
            }, {
                name: "permissions";
                type: {
                    defined: {
                        name: "permissions";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "tokenPermissions";
        type: {
            fields: [{
                name: "allowDeposits";
                type: "bool";
            }, {
                name: "allowWithdrawal";
                type: "bool";
            }, {
                name: "allowRewardWithdrawal";
                type: "bool";
            }];
            kind: "struct";
        };
    }, {
        name: "tokenRatios";
        type: {
            fields: [{
                name: "target";
                type: "u64";
            }, {
                name: "min";
                type: "u64";
            }, {
                name: "max";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "tokenStake";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "isInitialized";
                type: "bool";
            }, {
                name: "bump";
                type: "u8";
            }, {
                name: "level";
                type: "u8";
            }, {
                name: "withdrawRequestCount";
                type: "u8";
            }, {
                name: "withdrawRequest";
                type: {
                    array: [{
                        defined: {
                            name: "withdrawRequest";
                        };
                    }, 3];
                };
            }, {
                name: "rebateRate";
                type: "u64";
            }, {
                name: "activeStakeAmount";
                type: "u64";
            }, {
                name: "updateTimestamp";
                type: "i64";
            }, {
                name: "tradeTimestamp";
                type: "i64";
            }, {
                name: "tradeCounter";
                type: "u32";
            }, {
                name: "lastRewardEpochCount";
                type: "u32";
            }, {
                name: "rewardTokens";
                type: "u64";
            }, {
                name: "unclaimedRevenueAmount";
                type: "u64";
            }, {
                name: "revenueSnapshot";
                type: "u128";
            }, {
                name: "claimableRebateUsd";
                type: "u64";
            }, {
                name: "rebateUsdSnapshot";
                type: "u64";
            }, {
                name: "rebateDayTimestamp";
                type: "i64";
            }, {
                name: "maxRebateUsd";
                type: "u64";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 4];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "tokenStakeStats";
        type: {
            fields: [{
                name: "lockedAmount";
                type: "u64";
            }, {
                name: "activeAmount";
                type: "u64";
            }, {
                name: "withdrawableAmount";
                type: "u64";
            }, {
                name: "buffer";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "tokenVault";
        type: {
            fields: [{
                name: "isInitialized";
                type: "bool";
            }, {
                name: "bump";
                type: "u8";
            }, {
                name: "tokenAccountBump";
                type: "u8";
            }, {
                name: "tokenMint";
                type: "pubkey";
            }, {
                name: "tokenVaultTokenAccount";
                type: "pubkey";
            }, {
                name: "tokenPermissions";
                type: {
                    defined: {
                        name: "tokenPermissions";
                    };
                };
            }, {
                name: "withdrawTimeLimit";
                type: "i64";
            }, {
                name: "withdrawInstantFee";
                type: "u64";
            }, {
                name: "withdrawInstantFeeEarned";
                type: "u64";
            }, {
                name: "stakeLevel";
                type: {
                    array: ["u64", 6];
                };
            }, {
                name: "tokensStaked";
                type: {
                    defined: {
                        name: "tokenStakeStats";
                    };
                };
            }, {
                name: "rewardTokensToDistribute";
                type: "u128";
            }, {
                name: "rewardTokensPaid";
                type: "u128";
            }, {
                name: "tokensToDistribute";
                type: "u128";
            }, {
                name: "tokensDistributed";
                type: "u128";
            }, {
                name: "lastRewardEpochCount";
                type: "u32";
            }, {
                name: "rewardTokensDistributed";
                type: "u128";
            }, {
                name: "padding";
                type: {
                    array: ["u32", 3];
                };
            }, {
                name: "revenueTokenAccountBump";
                type: "u8";
            }, {
                name: "revenuePerFafStaked";
                type: "u64";
            }, {
                name: "revenueAccrued";
                type: "u128";
            }, {
                name: "revenueDistributed";
                type: "u128";
            }, {
                name: "revenuePaid";
                type: "u128";
            }, {
                name: "unlockPeriod";
                type: "i64";
            }, {
                name: "padding2";
                type: {
                    array: ["u64", 3];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "triggerOrder";
        type: {
            fields: [{
                name: "triggerPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "triggerSize";
                type: "u64";
            }, {
                name: "receiveCustodyUid";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        name: "triggerQuote";
        type: {
            fields: [{
                name: "exitPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "profitUsd";
                type: "u64";
            }, {
                name: "lossUsd";
                type: "u64";
            }, {
                name: "exitFeeUsd";
                type: "u64";
            }, {
                name: "receiveUsd";
                type: "u64";
            }, {
                name: "isSolvent";
                type: "bool";
            }];
            kind: "struct";
        };
    }, {
        name: "unstakeInstantLog";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "unstakeAmount";
                type: "u64";
            }, {
                name: "rewardPerLpStaked";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "unstakeInstantParams";
        type: {
            fields: [{
                name: "unstakeAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "unstakeRequestLog";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "amount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "unstakeRequestParams";
        type: {
            fields: [{
                name: "unstakeAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "unstakeTokenRequestLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "tokenStake";
                type: "pubkey";
            }, {
                name: "unstakeAmount";
                type: "u64";
            }, {
                name: "currentTimestamp";
                type: "i64";
            }, {
                name: "lastUpdatedTimestamp";
                type: "i64";
            }, {
                name: "level";
                type: "u8";
            }, {
                name: "activeStakeAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "unstakeTokenRequestLogV2";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "tokenStake";
                type: "pubkey";
            }, {
                name: "unstakeAmount";
                type: "u64";
            }, {
                name: "currentTimestamp";
                type: "i64";
            }, {
                name: "lastUpdatedTimestamp";
                type: "i64";
            }, {
                name: "level";
                type: "u8";
            }, {
                name: "activeStakeAmount";
                type: "u64";
            }, {
                name: "levelEligibleAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "unstakeTokenRequestParams";
        type: {
            fields: [{
                name: "unstakeAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "voltageMultiplier";
        type: {
            fields: [{
                name: "volume";
                type: "u64";
            }, {
                name: "rewards";
                type: "u64";
            }, {
                name: "rebates";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "voltagePointsLog";
        type: {
            fields: [{
                name: "tokenStake";
                type: "pubkey";
            }, {
                name: "voltagePoints";
                type: "u64";
            }, {
                name: "rebateUsd";
                type: "u64";
            }, {
                name: "voltagePointsType";
                type: "u8";
            }, {
                name: "benefitsStatus";
                type: "u8";
            }, {
                name: "padding";
                type: {
                    array: ["u8", 31];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "whitelist";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "isInitialized";
                type: "bool";
            }, {
                name: "bump";
                type: "u8";
            }, {
                name: "isSwapFeeExempt";
                type: "bool";
            }, {
                name: "isDepositFeeExempt";
                type: "bool";
            }, {
                name: "isWithdrawalFeeExempt";
                type: "bool";
            }, {
                name: "buffer";
                type: {
                    array: ["u8", 3];
                };
            }, {
                name: "pool";
                type: "pubkey";
            }];
            kind: "struct";
        };
    }, {
        name: "withdrawFeesParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "withdrawInstantFeesParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "withdrawRequest";
        type: {
            fields: [{
                name: "withdrawableAmount";
                type: "u64";
            }, {
                name: "lockedAmount";
                type: "u64";
            }, {
                name: "timeRemaining";
                type: "i64";
            }];
            kind: "struct";
        };
    }, {
        name: "withdrawSolFeesParams";
        type: {
            fields: [{
                name: "amount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "withdrawStakeLog";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "lpTokens";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "withdrawStakeParams";
        type: {
            fields: [{
                name: "pendingActivation";
                type: "bool";
            }, {
                name: "deactivated";
                type: "bool";
            }];
            kind: "struct";
        };
    }, {
        name: "withdrawTokenLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "tokenStake";
                type: "pubkey";
            }, {
                name: "withdrawAmount";
                type: "u64";
            }, {
                name: "currentTimestamp";
                type: "i64";
            }, {
                name: "lastUpdatedTimestamp";
                type: "i64";
            }, {
                name: "level";
                type: "u8";
            }, {
                name: "activeStakeAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "withdrawTokenLogV2";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "tokenStake";
                type: "pubkey";
            }, {
                name: "withdrawAmount";
                type: "u64";
            }, {
                name: "currentTimestamp";
                type: "i64";
            }, {
                name: "lastUpdatedTimestamp";
                type: "i64";
            }, {
                name: "level";
                type: "u8";
            }, {
                name: "activeStakeAmount";
                type: "u64";
            }, {
                name: "levelEligibleAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "withdrawTokenParams";
        type: {
            fields: [{
                name: "withdrawRequestId";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        name: "withdrawUnclaimedTokensParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }];
}

Program IDL in camelCase format in order to be used in JS/TS.

Note that this is only a type helper and is not the actual IDL. The original IDL can be found at target/idl/perpetuals.json.

Type declaration

  • accounts: [{
        discriminator: [1, 184, 48, 81, 93, 131, 63, 145];
        name: "custody";
    }, {
        discriminator: [227, 170, 164, 218, 127, 16, 35, 223];
        name: "customOracle";
    }, {
        discriminator: [175, 178, 171, 30, 187, 253, 13, 118];
        name: "flpStake";
    }, {
        discriminator: [219, 190, 213, 55, 0, 227, 198, 154];
        name: "market";
    }, {
        discriminator: [224, 116, 121, 186, 68, 161, 79, 236];
        name: "multisig";
    }, {
        discriminator: [134, 173, 223, 185, 77, 86, 28, 51];
        name: "order";
    }, {
        discriminator: [28, 167, 98, 191, 104, 82, 108, 196];
        name: "perpetuals";
    }, {
        discriminator: [241, 154, 109, 4, 17, 177, 109, 188];
        name: "pool";
    }, {
        discriminator: [170, 188, 143, 228, 122, 64, 247, 208];
        name: "position";
    }, {
        discriminator: [200, 167, 197, 238, 32, 139, 26, 69];
        name: "protocolVault";
    }, {
        discriminator: [207, 58, 186, 112, 64, 20, 188, 212];
        name: "rebateVault";
    }, {
        discriminator: [30, 235, 136, 224, 106, 107, 49, 64];
        name: "referral";
    }, {
        discriminator: [229, 123, 21, 243, 246, 164, 57, 239];
        name: "tokenStake";
    }, {
        discriminator: [121, 7, 84, 254, 151, 228, 43, 144];
        name: "tokenVault";
    }, {
        discriminator: [204, 176, 52, 79, 146, 121, 54, 247];
        name: "whitelist";
    }]
  • address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn"
  • errors: [{
        code: 6000;
        msg: "Account is not authorized to sign this instruction";
        name: "multisigAccountNotAuthorized";
    }, {
        code: 6001;
        msg: "Account has already signed this instruction";
        name: "multisigAlreadySigned";
    }, {
        code: 6002;
        msg: "This instruction has already been executed";
        name: "multisigAlreadyExecuted";
    }, {
        code: 6003;
        msg: "Overflow in arithmetic operation";
        name: "mathOverflow";
    }, {
        code: 6004;
        msg: "Unsupported price oracle";
        name: "unsupportedOracle";
    }, {
        code: 6005;
        msg: "Invalid oracle account";
        name: "invalidOracleAccount";
    }, {
        code: 6006;
        msg: "Invalid oracle state";
        name: "invalidOracleState";
    }, {
        code: 6007;
        msg: "Stale oracle price";
        name: "staleOraclePrice";
    }, {
        code: 6008;
        msg: "Invalid oracle price";
        name: "invalidOraclePrice";
    }, {
        code: 6009;
        msg: "Instruction is not allowed in production";
        name: "invalidEnvironment";
    }, {
        code: 6010;
        msg: "Invalid pool state";
        name: "invalidPoolState";
    }, {
        code: 6011;
        msg: "Invalid custody state";
        name: "invalidCustodyState";
    }, {
        code: 6012;
        msg: "Invalid Market state";
        name: "invalidMarketState";
    }, {
        code: 6013;
        msg: "Invalid collateral custody";
        name: "invalidCollateralCustody";
    }, {
        code: 6014;
        msg: "Invalid position state";
        name: "invalidPositionState";
    }, {
        code: 6015;
        msg: "Invalid Dispensing Custody";
        name: "invalidDispensingCustody";
    }, {
        code: 6016;
        msg: "Invalid perpetuals config";
        name: "invalidPerpetualsConfig";
    }, {
        code: 6017;
        msg: "Invalid pool config";
        name: "invalidPoolConfig";
    }, {
        code: 6018;
        msg: "Invalid custody config";
        name: "invalidCustodyConfig";
    }, {
        code: 6019;
        msg: "Insufficient token amount returned";
        name: "insufficientAmountReturned";
    }, {
        code: 6020;
        msg: "Price slippage limit exceeded";
        name: "maxPriceSlippage";
    }, {
        code: 6021;
        msg: "Position leverage limit exceeded";
        name: "maxLeverage";
    }, {
        code: 6022;
        msg: "Position initial leverage limit exceeded";
        name: "maxInitLeverage";
    }, {
        code: 6023;
        msg: "Position leverage less than minimum";
        name: "minLeverage";
    }, {
        code: 6024;
        msg: "Custody amount limit exceeded";
        name: "custodyAmountLimit";
    }, {
        code: 6025;
        msg: "Position amount limit exceeded";
        name: "positionAmountLimit";
    }, {
        code: 6026;
        msg: "Token ratio out of range";
        name: "tokenRatioOutOfRange";
    }, {
        code: 6027;
        msg: "Token is not supported";
        name: "unsupportedToken";
    }, {
        code: 6028;
        msg: "Custody is not supported";
        name: "unsupportedCustody";
    }, {
        code: 6029;
        msg: "Pool is not supported";
        name: "unsupportedPool";
    }, {
        code: 6030;
        msg: "Market is not supported";
        name: "unsupportedMarket";
    }, {
        code: 6031;
        msg: "Instruction is not allowed at this time";
        name: "instructionNotAllowed";
    }, {
        code: 6032;
        msg: "Token utilization limit exceeded";
        name: "maxUtilization";
    }, {
        code: 6033;
        msg: "Close-only mode activated";
        name: "closeOnlyMode";
    }, {
        code: 6034;
        msg: "Minimum collateral limit breached";
        name: "minCollateral";
    }, {
        code: 6035;
        msg: "Permissionless oracle update must be preceded by Ed25519 signature verification instruction";
        name: "permissionlessOracleMissingSignature";
    }, {
        code: 6036;
        msg: "Ed25519 signature verification data does not match expected format";
        name: "permissionlessOracleMalformedEd25519Data";
    }, {
        code: 6037;
        msg: "Ed25519 signature was not signed by the oracle authority";
        name: "permissionlessOracleSignerMismatch";
    }, {
        code: 6038;
        msg: "Signed message does not match instruction params";
        name: "permissionlessOracleMessageMismatch";
    }, {
        code: 6039;
        msg: "Exponent Mismatch betweeen operands";
        name: "exponentMismatch";
    }, {
        code: 6040;
        msg: "Invalid Close Ratio";
        name: "closeRatio";
    }, {
        code: 6041;
        msg: "Insufficient LP tokens staked";
        name: "insufficientStakeAmount";
    }, {
        code: 6042;
        msg: "Invalid Fee Deltas";
        name: "invalidFeeDeltas";
    }, {
        code: 6043;
        msg: "Invalid Fee Distrivution Custody";
        name: "invalidFeeDistributionCustody";
    }, {
        code: 6044;
        msg: "Invalid Collection";
        name: "invalidCollection";
    }, {
        code: 6045;
        msg: "Owner of Token Account does not match";
        name: "invalidOwner";
    }, {
        code: 6046;
        msg: "Only nft holders or referred users can trade";
        name: "invalidAccess";
    }, {
        code: 6047;
        msg: "Token Stake account doesnot match referral account";
        name: "tokenStakeAccountMismatch";
    }, {
        code: 6048;
        msg: "Max deposits reached";
        name: "maxDepostsReached";
    }, {
        code: 6049;
        msg: "Invalid Stop Loss price";
        name: "invalidStopLossPrice";
    }, {
        code: 6050;
        msg: "Invalid Take Profit price";
        name: "invalidTakeProfitPrice";
    }, {
        code: 6051;
        msg: "Max exposure limit exceeded for the market";
        name: "exposureLimitExceeded";
    }, {
        code: 6052;
        msg: "Stop Loss limit exhausted";
        name: "maxStopLossOrders";
    }, {
        code: 6053;
        msg: "Take Profit limit exhausted";
        name: "maxTakeProfitOrders";
    }, {
        code: 6054;
        msg: "Open order limit exhausted";
        name: "maxOpenOrder";
    }, {
        code: 6055;
        msg: "Invalid Order";
        name: "invalidOrder";
    }, {
        code: 6056;
        msg: "Invalid Limit price";
        name: "invalidLimitPrice";
    }, {
        code: 6057;
        msg: "Minimum reserve limit breached";
        name: "minReserve";
    }, {
        code: 6058;
        msg: "Withdraw Token Request limit exhausted";
        name: "maxWithdrawTokenRequest";
    }, {
        code: 6059;
        msg: "Invalid Reward Distribution";
        name: "invalidRewardDistribution";
    }, {
        code: 6060;
        msg: "Liquidity Token price is out of bounds";
        name: "lpPriceOutOfBounds";
    }, {
        code: 6061;
        msg: "Insufficient rebate reserves";
        name: "insufficientRebateReserves";
    }, {
        code: 6062;
        msg: "Oracle penalty already set on this position";
        name: "oraclePenaltyAlreadySet";
    }, {
        code: 6063;
        msg: "Invalid Lazer message";
        name: "invalidLazerMessage";
    }, {
        code: 6064;
        msg: "Invalid Lazer payload";
        name: "invalidLazerPayload";
    }, {
        code: 6065;
        msg: "Invalid Lazer channel";
        name: "invalidLazerChannel";
    }, {
        code: 6066;
        msg: "Invalid Lazer timestamp";
        name: "invalidLazerTimestamp";
    }, {
        code: 6067;
        msg: "Invalid amount for withdrawal";
        name: "invalidWithdrawal";
    }, {
        code: 6068;
        msg: "Invalid withdraw request ID";
        name: "invalidWithdrawRequestId";
    }, {
        code: 6069;
        msg: "Invalid whitelist account";
        name: "invalidWhitelistAccount";
    }, {
        code: 6070;
        msg: "Backup price out of bounds";
        name: "backupPriceDeviation";
    }, {
        code: 6071;
        msg: "Oracle confidence out of bounds";
        name: "oracleConfidenceOutOfBounds";
    }]
  • events: [{
        discriminator: [250, 80, 8, 85, 212, 148, 93, 189];
        name: "addCollateralLog";
    }, {
        discriminator: [208, 254, 58, 223, 46, 169, 109, 20];
        name: "addCollateralLogUsDv1";
    }, {
        discriminator: [38, 112, 191, 36, 86, 85, 56, 130];
        name: "addCollateralLogV2";
    }, {
        discriminator: [175, 245, 91, 237, 142, 81, 179, 72];
        name: "addCollateralLogV3";
    }, {
        discriminator: [149, 197, 30, 77, 47, 199, 118, 121];
        name: "addCompoundingLiquidityLog";
    }, {
        discriminator: [174, 206, 97, 67, 145, 186, 208, 146];
        name: "addLiquidityAndStakeLog";
    }, {
        discriminator: [114, 59, 143, 173, 186, 139, 21, 124];
        name: "addLiquidityLog";
    }, {
        discriminator: [243, 86, 201, 255, 161, 254, 32, 103];
        name: "addLiquidityLogV2";
    }, {
        discriminator: [31, 202, 163, 228, 156, 84, 62, 195];
        name: "burnAndClaimLog";
    }, {
        discriminator: [56, 0, 133, 199, 93, 2, 193, 89];
        name: "burnAndStakeLog";
    }, {
        discriminator: [103, 102, 181, 28, 109, 173, 138, 187];
        name: "cancelLimitOrderLog";
    }, {
        discriminator: [210, 142, 214, 49, 213, 105, 198, 82];
        name: "cancelTriggerOrderLog";
    }, {
        discriminator: [175, 88, 47, 153, 222, 43, 242, 106];
        name: "cancelUnstakeTokenRequestLog";
    }, {
        discriminator: [167, 19, 205, 60, 241, 212, 98, 118];
        name: "cancelUnstakeTokenRequestLogV2";
    }, {
        discriminator: [45, 116, 23, 211, 45, 232, 190, 29];
        name: "closeAndSwapLog";
    }, {
        discriminator: [139, 57, 75, 40, 212, 107, 110, 19];
        name: "closeAndSwapLogUsDv1";
    }, {
        discriminator: [113, 101, 11, 97, 138, 46, 113, 211];
        name: "closePositionLog";
    }, {
        discriminator: [44, 100, 67, 33, 255, 1, 117, 100];
        name: "closePositionLogUsDv1";
    }, {
        discriminator: [90, 109, 181, 243, 141, 194, 217, 169];
        name: "closePositionLogV2";
    }, {
        discriminator: [67, 63, 63, 13, 180, 22, 82, 202];
        name: "closePositionLogV3";
    }, {
        discriminator: [15, 135, 219, 64, 131, 128, 116, 46];
        name: "collectRebateLog";
    }, {
        discriminator: [73, 175, 8, 200, 124, 185, 139, 238];
        name: "collectRevenueLog";
    }, {
        discriminator: [179, 199, 52, 29, 91, 172, 38, 122];
        name: "collectRevenueLogV2";
    }, {
        discriminator: [28, 123, 101, 0, 157, 175, 189, 235];
        name: "collectStakeRewardLog";
    }, {
        discriminator: [144, 33, 60, 77, 26, 23, 155, 202];
        name: "collectStakeRewardLogV2";
    }, {
        discriminator: [30, 194, 243, 166, 162, 139, 204, 167];
        name: "collectTokenRewardLog";
    }, {
        discriminator: [208, 193, 166, 56, 156, 9, 146, 134];
        name: "compoundingFeesLog";
    }, {
        discriminator: [178, 148, 11, 241, 33, 51, 85, 153];
        name: "decreaseSizeLog";
    }, {
        discriminator: [153, 62, 193, 112, 127, 49, 97, 186];
        name: "decreaseSizeLogUsDv1";
    }, {
        discriminator: [57, 25, 61, 35, 94, 151, 151, 19];
        name: "decreaseSizeLogV2";
    }, {
        discriminator: [217, 82, 1, 138, 33, 131, 35, 70];
        name: "decreaseSizeLogV3";
    }, {
        discriminator: [167, 37, 237, 7, 89, 30, 232, 252];
        name: "depositStakeLog";
    }, {
        discriminator: [186, 214, 215, 132, 49, 100, 21, 226];
        name: "depositTokenStakeLog";
    }, {
        discriminator: [110, 58, 233, 238, 250, 221, 121, 203];
        name: "depositTokenStakeLogV2";
    }, {
        discriminator: [245, 36, 94, 131, 251, 212, 127, 250];
        name: "distributeTokenRewardLog";
    }, {
        discriminator: [253, 67, 224, 184, 212, 129, 80, 202];
        name: "editLimitOrderLog";
    }, {
        discriminator: [85, 36, 70, 160, 127, 247, 206, 13];
        name: "editTriggerOrderLog";
    }, {
        discriminator: [56, 203, 215, 82, 174, 201, 4, 59];
        name: "executeLimitOrderLog";
    }, {
        discriminator: [157, 253, 170, 213, 56, 114, 0, 231];
        name: "executeLimitOrderLogUsDv1";
    }, {
        discriminator: [165, 90, 14, 189, 146, 204, 58, 10];
        name: "executeLimitOrderLogV2";
    }, {
        discriminator: [229, 50, 105, 173, 130, 115, 142, 77];
        name: "executeLimitWithSwapLog";
    }, {
        discriminator: [136, 112, 109, 134, 18, 20, 144, 240];
        name: "executeLimitWithSwapLogUsDv1";
    }, {
        discriminator: [164, 130, 158, 95, 142, 77, 238, 250];
        name: "executeLimitWithSwapLogV2";
    }, {
        discriminator: [145, 148, 23, 158, 211, 183, 171, 227];
        name: "executeTriggerOrderLog";
    }, {
        discriminator: [29, 242, 159, 21, 110, 131, 133, 251];
        name: "executeTriggerOrderLogUsDv1";
    }, {
        discriminator: [63, 205, 64, 135, 62, 252, 44, 38];
        name: "executeTriggerWithSwapLog";
    }, {
        discriminator: [142, 41, 162, 146, 126, 153, 143, 199];
        name: "executeTriggerWithSwapLogUsDv1";
    }, {
        discriminator: [19, 17, 159, 29, 151, 198, 220, 5];
        name: "forceSettleOrderLog";
    }, {
        discriminator: [192, 168, 53, 197, 70, 45, 146, 136];
        name: "forceSettlePositionLog";
    }, {
        discriminator: [239, 255, 3, 232, 119, 209, 127, 125];
        name: "forceSettleTriggerOrderLog";
    }, {
        discriminator: [186, 190, 64, 113, 120, 194, 84, 179];
        name: "increaseSizeLog";
    }, {
        discriminator: [146, 141, 52, 5, 176, 183, 52, 116];
        name: "increaseSizeLogUsDv1";
    }, {
        discriminator: [34, 185, 17, 69, 7, 87, 98, 214];
        name: "increaseSizeLogV2";
    }, {
        discriminator: [181, 126, 138, 28, 252, 210, 238, 65];
        name: "increaseSizeLogV3";
    }, {
        discriminator: [93, 79, 22, 133, 29, 140, 92, 157];
        name: "increaseSizeLogV4";
    }, {
        discriminator: [127, 98, 159, 131, 170, 88, 59, 80];
        name: "liquidateLog";
    }, {
        discriminator: [58, 111, 108, 15, 244, 203, 107, 70];
        name: "liquidateLogUsDv1";
    }, {
        discriminator: [133, 114, 231, 231, 2, 30, 148, 240];
        name: "liquidateLogV2";
    }, {
        discriminator: [193, 180, 21, 172, 48, 171, 179, 139];
        name: "liquidateLogV3";
    }, {
        discriminator: [107, 52, 120, 181, 112, 83, 178, 243];
        name: "migrateFlpLog";
    }, {
        discriminator: [63, 228, 42, 201, 178, 237, 203, 243];
        name: "migrateMarketPositionLog";
    }, {
        discriminator: [10, 172, 35, 245, 48, 90, 131, 206];
        name: "migratePositionLog";
    }, {
        discriminator: [54, 98, 239, 210, 54, 90, 19, 168];
        name: "migrateStakeLog";
    }, {
        discriminator: [174, 213, 219, 87, 187, 176, 5, 99];
        name: "moveProtocolFeesLog";
    }, {
        discriminator: [228, 131, 16, 201, 132, 249, 248, 151];
        name: "openPositionLog";
    }, {
        discriminator: [103, 209, 189, 124, 186, 196, 11, 195];
        name: "openPositionLogUsDv1";
    }, {
        discriminator: [87, 9, 35, 100, 127, 162, 168, 24];
        name: "openPositionLogV2";
    }, {
        discriminator: [240, 236, 169, 189, 73, 232, 131, 144];
        name: "openPositionLogV3";
    }, {
        discriminator: [233, 192, 213, 152, 42, 81, 109, 182];
        name: "openPositionLogV4";
    }, {
        discriminator: [36, 71, 20, 70, 138, 237, 173, 179];
        name: "placeLimitOrderLog";
    }, {
        discriminator: [156, 167, 167, 118, 66, 184, 115, 66];
        name: "placeTriggerOrderLog";
    }, {
        discriminator: [249, 110, 226, 78, 45, 120, 110, 15];
        name: "referralRebateLog";
    }, {
        discriminator: [120, 218, 48, 91, 206, 5, 128, 112];
        name: "refreshStakeLog";
    }, {
        discriminator: [175, 239, 119, 123, 254, 57, 129, 245];
        name: "refreshStakeUserLog";
    }, {
        discriminator: [72, 155, 111, 101, 228, 125, 255, 95];
        name: "refreshTokenStakeLog";
    }, {
        discriminator: [100, 14, 17, 101, 26, 231, 147, 98];
        name: "refreshTokenStakeUserLog";
    }, {
        discriminator: [243, 51, 219, 233, 138, 155, 101, 166];
        name: "refreshTokenStakeUserLogV2";
    }, {
        discriminator: [19, 106, 182, 174, 13, 116, 176, 71];
        name: "removeCollateralAndSwapLog";
    }, {
        discriminator: [57, 198, 154, 210, 91, 90, 58, 48];
        name: "removeCollateralAndSwapLogUsDv1";
    }, {
        discriminator: [43, 111, 136, 87, 50, 25, 78, 169];
        name: "removeCollateralLog";
    }, {
        discriminator: [186, 178, 166, 45, 204, 1, 41, 55];
        name: "removeCollateralLogUsDv1";
    }, {
        discriminator: [32, 127, 111, 212, 2, 19, 13, 212];
        name: "removeCollateralLogV2";
    }, {
        discriminator: [37, 51, 211, 151, 242, 15, 45, 196];
        name: "removeCollateralLogV3";
    }, {
        discriminator: [194, 33, 50, 13, 74, 29, 153, 170];
        name: "removeCompoundingLiquidityLog";
    }, {
        discriminator: [250, 48, 139, 147, 47, 0, 141, 238];
        name: "removeLiquidityLog";
    }, {
        discriminator: [63, 134, 50, 16, 0, 38, 55, 115];
        name: "removeLiquidityLogV2";
    }, {
        discriminator: [193, 248, 89, 21, 91, 130, 254, 170];
        name: "setPositionPriceImpactLog";
    }, {
        discriminator: [175, 108, 145, 18, 31, 51, 136, 67];
        name: "setTokenRewardLog";
    }, {
        discriminator: [106, 34, 206, 212, 60, 7, 106, 87];
        name: "settleRebatesLog";
    }, {
        discriminator: [30, 181, 15, 57, 79, 255, 171, 108];
        name: "swapAndAddCollateralLog";
    }, {
        discriminator: [60, 199, 127, 190, 2, 94, 69, 62];
        name: "swapAndAddCollateralLogUsDv1";
    }, {
        discriminator: [137, 100, 126, 197, 194, 89, 63, 192];
        name: "swapAndOpenLog";
    }, {
        discriminator: [193, 120, 82, 15, 111, 120, 72, 114];
        name: "swapAndOpenLogUsDv1";
    }, {
        discriminator: [184, 7, 31, 86, 30, 165, 246, 214];
        name: "swapAndOpenLogV2";
    }, {
        discriminator: [144, 203, 250, 47, 65, 104, 9, 27];
        name: "swapFeeInternalLog";
    }, {
        discriminator: [148, 127, 83, 99, 18, 175, 81, 36];
        name: "swapFeeInternalLogV2";
    }, {
        discriminator: [1, 214, 217, 111, 7, 3, 165, 244];
        name: "swapFeeInternalLogV3";
    }, {
        discriminator: [200, 151, 62, 49, 224, 50, 16, 222];
        name: "swapLog";
    }, {
        discriminator: [102, 202, 211, 38, 135, 65, 39, 223];
        name: "swapLogV2";
    }, {
        discriminator: [90, 247, 157, 57, 255, 73, 212, 240];
        name: "unstakeInstantLog";
    }, {
        discriminator: [160, 43, 111, 217, 41, 24, 11, 238];
        name: "unstakeRequestLog";
    }, {
        discriminator: [166, 145, 163, 61, 239, 58, 181, 242];
        name: "unstakeTokenRequestLog";
    }, {
        discriminator: [63, 191, 214, 167, 84, 39, 36, 163];
        name: "unstakeTokenRequestLogV2";
    }, {
        discriminator: [40, 154, 4, 169, 61, 213, 164, 37];
        name: "voltagePointsLog";
    }, {
        discriminator: [67, 13, 186, 221, 39, 131, 140, 69];
        name: "withdrawStakeLog";
    }, {
        discriminator: [100, 187, 28, 21, 254, 13, 160, 187];
        name: "withdrawTokenLog";
    }, {
        discriminator: [236, 140, 1, 24, 101, 104, 29, 2];
        name: "withdrawTokenLogV2";
    }]
  • instructions: [{
        accounts: [{
            name: "owner";
            relations: ["fundingAccount", "position"];
            signer: true;
        }, {
            name: "fundingAccount";
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "market";
            writable: true;
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "collateralCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "fundingTokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "fundingMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "addCollateralParams";
                };
            };
        }];
        discriminator: [127, 82, 121, 42, 161, 176, 249, 206];
        name: "addCollateral";
    }, {
        accounts: [{
            name: "owner";
            relations: ["fundingAccount", "compoundingTokenAccount"];
            signer: true;
            writable: true;
        }, {
            name: "fundingAccount";
            writable: true;
        }, {
            name: "compoundingTokenAccount";
            writable: true;
        }, {
            name: "poolCompoundingLpVault";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "inCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "in_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "inCustodyOracleAccount";
        }, {
            name: "inCustodyTokenAccount";
            writable: true;
        }, {
            name: "rewardCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reward_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "rewardCustodyOracleAccount";
        }, {
            name: "lpTokenMint";
            writable: true;
        }, {
            name: "compoundingTokenMint";
            writable: true;
        }, {
            name: "tokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "fundingMint";
        }, {
            name: "fundingTokenProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "addCompoundingLiquidityParams";
                };
            };
        }];
        discriminator: [244, 231, 42, 192, 190, 134, 3, 52];
        name: "addCompoundingLiquidity";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "custody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    kind: "account";
                    path: "custodyTokenMint";
                }];
            };
            writable: true;
        }, {
            name: "custodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    kind: "account";
                    path: "custodyTokenMint";
                }];
            };
            writable: true;
        }, {
            name: "custodyTokenMint";
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "tokenProgram";
        }, {
            address: "SysvarRent111111111111111111111111111111111";
            name: "rent";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "addCustodyParams";
                };
            };
        }];
        discriminator: [247, 254, 126, 17, 26, 6, 215, 117];
        name: "addCustody";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            docs: ["This account is initialized with the CPI to the token program"];
            name: "custodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    kind: "account";
                    path: "custodyTokenMint";
                }];
            };
            writable: true;
        }, {
            name: "custodyTokenMint";
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "tokenProgram";
        }, {
            address: "SysvarRent111111111111111111111111111111111";
            name: "rent";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "addCustodyToken22AccountParams";
                };
            };
        }];
        discriminator: [229, 93, 10, 241, 190, 214, 251, 121];
        name: "addCustodyToken22Account";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
        }, {
            name: "custodyTokenMint";
        }, {
            name: "intOracleAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [111, 114, 97, 99, 108, 101, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "custodyTokenMint";
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            address: "SysvarRent111111111111111111111111111111111";
            name: "rent";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "addInternalOracleParams";
                };
            };
        }];
        discriminator: [228, 234, 14, 190, 206, 249, 115, 167];
        name: "addInternalOracle";
        returns: "u8";
    }, {
        accounts: [{
            name: "owner";
            relations: ["fundingAccount", "lpTokenAccount"];
            signer: true;
        }, {
            name: "fundingAccount";
            writable: true;
        }, {
            name: "lpTokenAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "custody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "custodyOracleAccount";
        }, {
            name: "custodyTokenAccount";
            writable: true;
        }, {
            name: "lpTokenMint";
            writable: true;
        }, {
            name: "tokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "fundingMint";
        }, {
            name: "fundingTokenProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "addLiquidityParams";
                };
            };
        }];
        discriminator: [181, 157, 89, 67, 143, 182, 52, 72];
        name: "addLiquidity";
        returns: "u64";
    }, {
        accounts: [{
            name: "owner";
            relations: ["fundingAccount"];
            signer: true;
        }, {
            name: "feePayer";
            signer: true;
            writable: true;
        }, {
            name: "fundingAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "custody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "custodyOracleAccount";
        }, {
            name: "custodyTokenAccount";
            writable: true;
        }, {
            name: "lpTokenMint";
            writable: true;
        }, {
            name: "flpStakeAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [115, 116, 97, 107, 101];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "pool";
                }];
            };
            writable: true;
        }, {
            name: "poolStakedLpVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [115, 116, 97, 107, 101, 100, 95, 108, 112, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.lp_mint";
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "tokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "fundingMint";
        }, {
            name: "fundingTokenProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "addLiquidityAndStakeParams";
                };
            };
        }];
        discriminator: [147, 224, 159, 3, 162, 147, 199, 244];
        name: "addLiquidityAndStake";
        returns: "u64";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "market";
            writable: true;
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            address: "SysvarRent111111111111111111111111111111111";
            name: "rent";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "addMarketParams";
                };
            };
        }];
        discriminator: [41, 137, 185, 126, 69, 139, 254, 55];
        name: "addMarket";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "oracleAuthority";
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
            writable: true;
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    kind: "arg";
                    path: "params.name";
                }];
            };
            writable: true;
        }, {
            name: "lpTokenMint";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [108, 112, 95, 116, 111, 107, 101, 110, 95, 109, 105, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }];
            };
            writable: true;
        }, {
            name: "metadataAccount";
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "tokenProgram";
        }, {
            address: "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s";
            name: "metadataProgram";
        }, {
            address: "SysvarRent111111111111111111111111111111111";
            name: "rent";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "addPoolParams";
                };
            };
        }];
        discriminator: [115, 230, 212, 211, 175, 49, 39, 169];
        name: "addPool";
        returns: "u8";
    }, {
        accounts: [{
            name: "position";
        }, {
            name: "order";
            writable: true;
        }, {
            name: "eventAuthority";
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }];
        args: [];
        discriminator: [130, 108, 33, 153, 228, 31, 216, 219];
        name: "cancelAllTriggerOrders";
    }, {
        accounts: [{
            name: "owner";
            relations: ["receivingAccount", "order"];
            signer: true;
        }, {
            name: "receivingAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "order";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [111, 114, 100, 101, 114];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    account: "order";
                    kind: "account";
                    path: "order.market";
                }];
            };
            writable: true;
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
        }, {
            name: "reserveCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reserve_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "reserveCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reserve_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "reserveTokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            name: "reserveMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "cancelLimitOrderParams";
                };
            };
        }];
        discriminator: [132, 156, 132, 31, 67, 40, 232, 97];
        name: "cancelLimitOrder";
    }, {
        accounts: [{
            name: "owner";
            relations: ["order"];
            signer: true;
        }, {
            name: "order";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [111, 114, 100, 101, 114];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    account: "order";
                    kind: "account";
                    path: "order.market";
                }];
            };
            writable: true;
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "cancelTriggerOrderParams";
                };
            };
        }];
        discriminator: [144, 84, 67, 39, 27, 25, 202, 141];
        name: "cancelTriggerOrder";
    }, {
        accounts: [{
            name: "owner";
            signer: true;
        }, {
            name: "tokenVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "tokenStakeAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 115, 116, 97, 107, 101];
                }, {
                    kind: "account";
                    path: "owner";
                }];
            };
            writable: true;
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "cancelUnstakeTokenRequestParams";
                };
            };
        }];
        discriminator: [145, 133, 31, 216, 203, 198, 96, 8];
        name: "cancelUnstakeTokenRequest";
    }, {
        accounts: [{
            name: "owner";
            relations: ["position"];
            signer: true;
            writable: true;
        }, {
            name: "feePayer";
            signer: true;
            writable: true;
        }, {
            name: "receivingAccount";
            writable: true;
        }, {
            name: "collateralAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    account: "position";
                    kind: "account";
                    path: "position.owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "market";
            writable: true;
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "collateralCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "dispensingCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "dispensing_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "dispensingOracleAccount";
        }, {
            name: "dispensingCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "dispensing_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "receivingTokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "receivingMint";
        }, {
            name: "collateralMint";
        }, {
            name: "collateralTokenProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "closeAndSwapParams";
                };
            };
        }];
        discriminator: [147, 164, 185, 240, 155, 33, 165, 125];
        name: "closeAndSwap";
    }, {
        accounts: [{
            name: "owner";
            relations: ["receivingAccount", "position"];
            signer: true;
        }, {
            name: "feePayer";
            signer: true;
            writable: true;
        }, {
            name: "receivingAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "market";
            writable: true;
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "collateralCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "collateralTokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "collateralMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "closePositionParams";
                };
            };
        }];
        discriminator: [123, 134, 81, 0, 49, 68, 98, 98];
        name: "closePosition";
        returns: "u64";
    }, {
        accounts: [{
            name: "owner";
            relations: ["receivingTokenAccount"];
            signer: true;
            writable: true;
        }, {
            name: "receivingTokenAccount";
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "rebateVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [114, 101, 98, 97, 116, 101, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }, {
            name: "rebateTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [114, 101, 98, 97, 116, 101, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }];
            };
            writable: true;
        }, {
            name: "tokenStakeAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 115, 116, 97, 107, 101];
                }, {
                    kind: "account";
                    path: "owner";
                }];
            };
            writable: true;
        }, {
            name: "tokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            name: "receivingTokenMint";
        }];
        args: [];
        discriminator: [211, 159, 122, 61, 195, 246, 132, 15];
        name: "collectRebate";
    }, {
        accounts: [{
            name: "owner";
            relations: ["receivingRevenueAccount"];
            signer: true;
            writable: true;
        }, {
            name: "receivingRevenueAccount";
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "tokenVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }, {
            name: "revenueTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [114, 101, 118, 101, 110, 117, 101, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }];
            };
            writable: true;
        }, {
            name: "tokenStakeAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 115, 116, 97, 107, 101];
                }, {
                    kind: "account";
                    path: "owner";
                }];
            };
            writable: true;
        }, {
            name: "tokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            name: "receivingTokenMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "collectRevenueParams";
                };
            };
        }];
        discriminator: [87, 96, 211, 36, 240, 43, 246, 87];
        name: "collectRevenue";
    }, {
        accounts: [{
            name: "owner";
            relations: ["receivingTokenAccount"];
            signer: true;
            writable: true;
        }, {
            name: "receivingTokenAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "feeCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "fee_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "flpStakeAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [115, 116, 97, 107, 101];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "pool";
                }];
            };
            writable: true;
        }, {
            name: "feeCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "fee_custody.mint";
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "tokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "receivingMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "collectStakeRewardParams";
                };
            };
        }];
        discriminator: [61, 174, 225, 165, 103, 145, 250, 181];
        name: "collectStakeFees";
        returns: "u64";
    }, {
        accounts: [{
            name: "owner";
            relations: ["receivingTokenAccount"];
            signer: true;
            writable: true;
        }, {
            name: "receivingTokenAccount";
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "tokenVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }, {
            name: "tokenVaultTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }];
            };
            writable: true;
        }, {
            name: "tokenStakeAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 115, 116, 97, 107, 101];
                }, {
                    kind: "account";
                    path: "owner";
                }];
            };
            writable: true;
        }, {
            name: "tokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            name: "tokenMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "collectTokenRewardParams";
                };
            };
        }];
        discriminator: [115, 9, 132, 251, 3, 78, 40, 40];
        name: "collectTokenReward";
    }, {
        accounts: [{
            name: "poolCompoundingLpVault";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "rewardCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reward_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "rewardCustodyOracleAccount";
        }, {
            name: "lpTokenMint";
            writable: true;
        }, {
            name: "tokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "compoundFeesParams";
                };
            };
        }];
        discriminator: [133, 54, 141, 29, 83, 112, 130, 197];
        name: "compoundFees";
        returns: "u64";
    }, {
        accounts: [{
            name: "owner";
            signer: true;
            writable: true;
        }, {
            name: "feePayer";
            signer: true;
            writable: true;
        }, {
            name: "tokenStakeAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 115, 116, 97, 107, 101];
                }, {
                    account: "tokenStake";
                    kind: "account";
                    path: "token_stake_account.owner";
                }];
            };
        }, {
            name: "referralAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [114, 101, 102, 101, 114, 114, 97, 108];
                }, {
                    kind: "account";
                    path: "owner";
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "createReferralParams";
                };
            };
        }];
        discriminator: [61, 17, 240, 245, 172, 66, 159, 232];
        name: "createReferral";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "owner";
        }, {
            name: "whitelist";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [119, 104, 105, 116, 101, 108, 105, 115, 116];
                }, {
                    kind: "account";
                    path: "owner";
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "createWhitelistParams";
                };
            };
        }];
        discriminator: [89, 182, 231, 206, 68, 173, 60, 6];
        name: "createWhitelist";
        returns: "u8";
    }, {
        accounts: [{
            name: "owner";
            relations: ["position"];
            signer: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "market";
            writable: true;
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "collateralCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "collateralTokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "collateralMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "decreaseSizeParams";
                };
            };
        }];
        discriminator: [171, 28, 203, 29, 118, 16, 214, 169];
        name: "decreaseSize";
    }, {
        accounts: [{
            name: "owner";
            relations: ["fundingLpTokenAccount"];
            signer: true;
        }, {
            name: "feePayer";
            signer: true;
            writable: true;
        }, {
            name: "fundingLpTokenAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "flpStakeAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [115, 116, 97, 107, 101];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "pool";
                }];
            };
            writable: true;
        }, {
            name: "poolStakedLpVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [115, 116, 97, 107, 101, 100, 95, 108, 112, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.lp_mint";
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "tokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            name: "lpTokenMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "depositStakeParams";
                };
            };
        }];
        discriminator: [160, 167, 9, 220, 74, 243, 228, 43];
        name: "depositStake";
    }, {
        accounts: [{
            name: "owner";
            relations: ["fundingTokenAccount"];
            signer: true;
            writable: true;
        }, {
            name: "feePayer";
            signer: true;
            writable: true;
        }, {
            name: "fundingTokenAccount";
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "tokenVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }, {
            name: "tokenVaultTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }];
            };
            writable: true;
        }, {
            name: "tokenStakeAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 115, 116, 97, 107, 101];
                }, {
                    kind: "account";
                    path: "owner";
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "tokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            name: "tokenMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "depositTokenStakeParams";
                };
            };
        }];
        discriminator: [105, 77, 29, 66, 28, 35, 183, 10];
        name: "depositTokenStake";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "fundingTokenAccount";
            writable: true;
        }, {
            name: "tokenVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }, {
            name: "tokenVaultTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }];
            };
            writable: true;
        }, {
            name: "tokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            name: "tokenMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "distributeTokenRewardParams";
                };
            };
        }];
        discriminator: [150, 187, 53, 202, 188, 238, 252, 32];
        name: "distributeTokenReward";
        returns: "u8";
    }, {
        accounts: [{
            name: "owner";
            relations: ["receivingAccount", "order"];
            signer: true;
            writable: true;
        }, {
            name: "feePayer";
            signer: true;
            writable: true;
        }, {
            name: "receivingAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
        }, {
            name: "order";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [111, 114, 100, 101, 114];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "market";
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "reserveCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reserve_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "reserveOracleAccount";
        }, {
            name: "reserveCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reserve_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "receiveCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "receive_custody.mint";
                }];
            };
        }, {
            name: "receivingTokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "receivingMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "editLimitOrderParams";
                };
            };
        }];
        discriminator: [42, 114, 3, 11, 137, 245, 206, 50];
        name: "editLimitOrder";
    }, {
        accounts: [{
            name: "owner";
            relations: ["position", "order"];
            signer: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
        }, {
            name: "order";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [111, 114, 100, 101, 114];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "market";
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "receiveCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "receive_custody.mint";
                }];
            };
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "editTriggerOrderParams";
                };
            };
        }];
        discriminator: [180, 43, 215, 112, 254, 116, 20, 133];
        name: "editTriggerOrder";
    }, {
        accounts: [{
            name: "positionOwner";
            writable: true;
        }, {
            name: "feePayer";
            signer: true;
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    account: "order";
                    kind: "account";
                    path: "order.owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "order";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [111, 114, 100, 101, 114];
                }, {
                    account: "order";
                    kind: "account";
                    path: "order.owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "market";
            writable: true;
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "collateralCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "collateralTokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "collateralMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "executeLimitOrderParams";
                };
            };
        }];
        discriminator: [52, 33, 60, 30, 47, 100, 40, 22];
        name: "executeLimitOrder";
    }, {
        accounts: [{
            name: "positionOwner";
            writable: true;
        }, {
            name: "feePayer";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "reserveCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reserve_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "reserveCustodyOracleAccount";
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    account: "order";
                    kind: "account";
                    path: "order.owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "order";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [111, 114, 100, 101, 114];
                }, {
                    account: "order";
                    kind: "account";
                    path: "order.owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "market";
            writable: true;
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "collateralCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "collateralTokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "collateralMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "executeLimitWithSwapParams";
                };
            };
        }];
        discriminator: [253, 77, 100, 122, 194, 179, 54, 45];
        name: "executeLimitWithSwap";
    }, {
        accounts: [{
            name: "positionOwner";
            writable: true;
        }, {
            name: "feePayer";
            writable: true;
        }, {
            name: "receivingAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    account: "order";
                    kind: "account";
                    path: "order.owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "order";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [111, 114, 100, 101, 114];
                }, {
                    account: "order";
                    kind: "account";
                    path: "order.owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "market";
            writable: true;
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "collateralCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "receivingTokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "receivingMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "executeTriggerOrderParams";
                };
            };
        }];
        discriminator: [105, 10, 104, 136, 215, 134, 84, 171];
        name: "executeTriggerOrder";
    }, {
        accounts: [{
            name: "positionOwner";
            writable: true;
        }, {
            name: "feePayer";
            writable: true;
        }, {
            name: "receivingAccount";
            writable: true;
        }, {
            name: "collateralAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    account: "order";
                    kind: "account";
                    path: "order.owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "order";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [111, 114, 100, 101, 114];
                }, {
                    account: "order";
                    kind: "account";
                    path: "order.owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "market";
            writable: true;
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "collateralCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "dispensingCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "dispensing_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "dispensingOracleAccount";
        }, {
            name: "dispensingCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "dispensing_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "receivingMint";
        }, {
            name: "receivingTokenProgram";
        }, {
            name: "collateralMint";
        }, {
            name: "collateralTokenProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "executeTriggerWithSwapParams";
                };
            };
        }];
        discriminator: [198, 68, 87, 43, 203, 171, 123, 82];
        name: "executeTriggerWithSwap";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "receivingAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "order";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [111, 114, 100, 101, 114];
                }, {
                    account: "order";
                    kind: "account";
                    path: "order.owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "market";
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "reserveCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reserve_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "reserveCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reserve_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "reserveTokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "reserveMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "forceSettleOrderParams";
                };
            };
        }];
        discriminator: [101, 22, 147, 162, 252, 227, 60, 187];
        name: "forceSettleOrder";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "receivingAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    account: "position";
                    kind: "account";
                    path: "position.owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "market";
            writable: true;
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "collateralCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "collateralTokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "collateralMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "forceSettlePositionParams";
                };
            };
        }];
        discriminator: [186, 54, 180, 26, 133, 30, 216, 167];
        name: "forceSettlePosition";
        returns: "u8";
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "position";
        }, {
            name: "market";
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "receivingCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "receiving_custody.mint";
                }];
            };
        }, {
            name: "receivingOracleAccount";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "getAddCollateralQuoteParams";
                };
            };
        }];
        discriminator: [103, 106, 18, 57, 44, 127, 202, 159];
        name: "getAddCollateralQuote";
        returns: {
            defined: {
                name: "addCollateralQuoteData";
            };
        };
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "inCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "in_custody.mint";
                }];
            };
        }, {
            name: "inCustodyOracleAccount";
        }, {
            name: "rewardCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reward_custody.mint";
                }];
            };
        }, {
            name: "rewardCustodyOracleAccount";
        }, {
            name: "lpTokenMint";
        }, {
            name: "compoundingTokenMint";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "GetAddCompoundingLiquidityAmountAndFeeParams";
                };
            };
        }];
        discriminator: [29, 1, 144, 58, 190, 228, 125, 229];
        name: "getAddCompoundingLiquidityAmountAndFee";
        returns: {
            defined: {
                name: "amountAndFee";
            };
        };
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "custody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "custody.mint";
                }];
            };
        }, {
            name: "custodyOracleAccount";
        }, {
            name: "lpTokenMint";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "getAddLiquidityAmountAndFeeParams";
                };
            };
        }];
        discriminator: [172, 150, 249, 181, 233, 241, 78, 139];
        name: "getAddLiquidityAmountAndFee";
        returns: {
            defined: {
                name: "amountAndFee";
            };
        };
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "getAssetsUnderManagementParams";
                };
            };
        }];
        discriminator: [44, 3, 161, 69, 174, 75, 137, 162];
        name: "getAssetsUnderManagement";
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "market";
        }, {
            name: "position";
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "dispensingCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "dispensing_custody.mint";
                }];
            };
        }, {
            name: "dispensingOracleAccount";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "getClosePositionQuoteParams";
                };
            };
        }];
        discriminator: [94, 207, 132, 38, 227, 145, 139, 133];
        name: "getClosePositionQuote";
        returns: {
            defined: {
                name: "closePositionQuoteData";
            };
        };
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "lpTokenMint";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [108, 112, 95, 116, 111, 107, 101, 110, 95, 109, 105, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }];
            };
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "getCompoundingTokenDataParams";
                };
            };
        }];
        discriminator: [108, 158, 186, 227, 231, 199, 25, 110];
        name: "getCompoundingTokenData";
        returns: {
            defined: {
                name: "compoundingTokenData";
            };
        };
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "lpTokenMint";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [108, 112, 95, 116, 111, 107, 101, 110, 95, 109, 105, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }];
            };
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "getCompoundingTokenPriceParams";
                };
            };
        }];
        discriminator: [129, 82, 182, 136, 95, 171, 44, 63];
        name: "getCompoundingTokenPrice";
        returns: "u64";
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "market";
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
        }, {
            name: "collateralOracleAccount";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "getEntryPriceAndFeeParams";
                };
            };
        }];
        discriminator: [134, 30, 231, 199, 83, 72, 27, 99];
        name: "getEntryPriceAndFee";
        returns: {
            defined: {
                name: "newPositionPricesAndFee";
            };
        };
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    account: "position";
                    kind: "account";
                    path: "position.owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
        }, {
            name: "market";
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
        }, {
            name: "collateralOracleAccount";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "getExitPriceAndFeeParams";
                };
            };
        }];
        discriminator: [73, 77, 94, 31, 8, 9, 92, 32];
        name: "getExitPriceAndFee";
        returns: {
            defined: {
                name: "priceAndFee";
            };
        };
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    account: "position";
                    kind: "account";
                    path: "position.owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
        }, {
            name: "market";
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
        }, {
            name: "collateralOracleAccount";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "getLiquidationPriceParams";
                };
            };
        }];
        discriminator: [73, 174, 119, 65, 149, 5, 73, 239];
        name: "getLiquidationPrice";
        returns: {
            defined: {
                name: "oraclePrice";
            };
        };
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    account: "position";
                    kind: "account";
                    path: "position.owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
        }, {
            name: "market";
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
        }, {
            name: "collateralOracleAccount";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "getLiquidationStateParams";
                };
            };
        }];
        discriminator: [127, 126, 199, 117, 90, 89, 29, 50];
        name: "getLiquidationState";
        returns: "u8";
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "lpTokenMint";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [108, 112, 95, 116, 111, 107, 101, 110, 95, 109, 105, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }];
            };
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "getLpTokenPriceParams";
                };
            };
        }];
        discriminator: [71, 172, 21, 25, 176, 168, 60, 10];
        name: "getLpTokenPrice";
        returns: "u64";
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "market";
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "receivingCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "receiving_custody.mint";
                }];
            };
        }, {
            name: "receivingCustodyOracleAccount";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "getOpenPositionQuoteParams";
                };
            };
        }];
        discriminator: [41, 125, 167, 65, 176, 136, 144, 58];
        name: "getOpenPositionQuote";
        returns: {
            defined: {
                name: "openPositionQuoteData";
            };
        };
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "custody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "custody.mint";
                }];
            };
        }, {
            name: "custodyOracleAccount";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "getOraclePriceParams";
                };
            };
        }];
        discriminator: [200, 20, 0, 106, 56, 210, 230, 140];
        name: "getOraclePrice";
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    account: "position";
                    kind: "account";
                    path: "position.owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
        }, {
            name: "market";
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "custodyOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
        }, {
            name: "collateralOracleAccount";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "getPnlParams";
                };
            };
        }];
        discriminator: [106, 212, 3, 250, 195, 224, 64, 160];
        name: "getPnl";
        returns: {
            defined: {
                name: "profitAndLoss";
            };
        };
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    account: "position";
                    kind: "account";
                    path: "position.owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
        }, {
            name: "market";
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "custodyOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
        }, {
            name: "collateralOracleAccount";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "getPositionDataParams";
                };
            };
        }];
        discriminator: [58, 14, 217, 248, 114, 44, 212, 140];
        name: "getPositionData";
        returns: {
            defined: {
                name: "positionData";
            };
        };
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "position";
        }, {
            name: "market";
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "dispensingCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "dispensing_custody.mint";
                }];
            };
        }, {
            name: "dispensingOracleAccount";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "getRemoveCollateralQuoteParams";
                };
            };
        }];
        discriminator: [194, 54, 218, 133, 18, 59, 109, 253];
        name: "getRemoveCollateralQuote";
        returns: {
            defined: {
                name: "removeCollateralQuoteData";
            };
        };
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "outCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "out_custody.mint";
                }];
            };
        }, {
            name: "outCustodyOracleAccount";
        }, {
            name: "rewardCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reward_custody.mint";
                }];
            };
        }, {
            name: "rewardCustodyOracleAccount";
        }, {
            name: "lpTokenMint";
        }, {
            name: "compoundingTokenMint";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "getRemoveCompoundingLiquidityAmountAndFeeParams";
                };
            };
        }];
        discriminator: [90, 9, 144, 220, 42, 82, 41, 95];
        name: "getRemoveCompoundingLiquidityAmountAndFee";
        returns: {
            defined: {
                name: "amountAndFee";
            };
        };
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "custody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "custody.mint";
                }];
            };
        }, {
            name: "custodyOracleAccount";
        }, {
            name: "lpTokenMint";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [108, 112, 95, 116, 111, 107, 101, 110, 95, 109, 105, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }];
            };
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "getRemoveLiquidityAmountAndFeeParams";
                };
            };
        }];
        discriminator: [194, 226, 233, 102, 14, 21, 196, 7];
        name: "getRemoveLiquidityAmountAndFee";
        returns: {
            defined: {
                name: "amountAndFee";
            };
        };
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "receivingCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "receiving_custody.mint";
                }];
            };
        }, {
            name: "receivingCustodyOracleAccount";
        }, {
            name: "dispensingCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "dispensing_custody.mint";
                }];
            };
        }, {
            name: "dispensingCustodyOracleAccount";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "getSwapAmountAndFeesParams";
                };
            };
        }];
        discriminator: [247, 121, 40, 99, 35, 82, 100, 32];
        name: "getSwapAmountAndFees";
        returns: {
            defined: {
                name: "swapAmountAndFees";
            };
        };
    }, {
        accounts: [{
            name: "owner";
            relations: ["position"];
            signer: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "market";
            writable: true;
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "collateralCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "collateralTokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "collateralMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "increaseSizeParams";
                };
            };
        }];
        discriminator: [107, 13, 141, 238, 152, 165, 96, 87];
        name: "increaseSize";
    }, {
        accounts: [{
            name: "upgradeAuthority";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
            writable: true;
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "perpetualsProgram";
        }, {
            name: "perpetualsProgramData";
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "tokenProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "initParams";
                };
            };
        }];
        discriminator: [220, 59, 207, 236, 108, 250, 47, 100];
        name: "init";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "lpTokenMint";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [108, 112, 95, 116, 111, 107, 101, 110, 95, 109, 105, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }];
            };
        }, {
            name: "compoundingVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 111, 109, 112, 111, 117, 110, 100, 105, 110, 103, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    kind: "account";
                    path: "lpTokenMint";
                }];
            };
            writable: true;
        }, {
            name: "compoundingTokenMint";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 111, 109, 112, 111, 117, 110, 100, 105, 110, 103, 95, 116, 111, 107, 101, 110, 95, 109, 105, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }];
            };
            writable: true;
        }, {
            name: "metadataAccount";
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "tokenProgram";
        }, {
            address: "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s";
            name: "metadataProgram";
        }, {
            address: "SysvarRent111111111111111111111111111111111";
            name: "rent";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "initCompoundingParams";
                };
            };
        }];
        discriminator: [69, 90, 204, 111, 156, 140, 138, 184];
        name: "initCompounding";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "rebateMint";
        }, {
            name: "rebateTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [114, 101, 98, 97, 116, 101, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }];
            };
            writable: true;
        }, {
            name: "rebateVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [114, 101, 98, 97, 116, 101, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "tokenProgram";
        }, {
            address: "SysvarRent111111111111111111111111111111111";
            name: "rent";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "initRebateVaultParams";
                };
            };
        }];
        discriminator: [250, 123, 188, 186, 176, 127, 253, 61];
        name: "initRebateVault";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "tokenVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }, {
            name: "rewardMint";
        }, {
            name: "revenueTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [114, 101, 118, 101, 110, 117, 101, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }];
            };
            writable: true;
        }, {
            name: "protocolVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 114, 111, 116, 111, 99, 111, 108, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }, {
            name: "protocolTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 114, 111, 116, 111, 99, 111, 108, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "tokenProgram";
        }, {
            address: "SysvarRent111111111111111111111111111111111";
            name: "rent";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "initRevenueTokenAccountParams";
                };
            };
        }];
        discriminator: [235, 126, 219, 143, 29, 74, 149, 161];
        name: "initRevenueTokenAccount";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "custody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "lpTokenMint";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [108, 112, 95, 116, 111, 107, 101, 110, 95, 109, 105, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }];
            };
        }, {
            name: "stakedLpTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [115, 116, 97, 107, 101, 100, 95, 108, 112, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    kind: "account";
                    path: "lpTokenMint";
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "tokenProgram";
        }, {
            address: "SysvarRent111111111111111111111111111111111";
            name: "rent";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "initStakingParams";
                };
            };
        }];
        discriminator: [42, 18, 242, 224, 66, 32, 122, 8];
        name: "initStaking";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "fundingTokenAccount";
            writable: true;
        }, {
            name: "tokenMint";
        }, {
            name: "tokenVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }, {
            name: "tokenVaultTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "tokenProgram";
        }, {
            address: "SysvarRent111111111111111111111111111111111";
            name: "rent";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "initTokenVaultParams";
                };
            };
        }];
        discriminator: [203, 26, 194, 169, 252, 226, 179, 180];
        name: "initTokenVault";
        returns: "u8";
    }, {
        accounts: [{
            name: "signer";
            signer: true;
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    account: "position";
                    kind: "account";
                    path: "position.owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "market";
            writable: true;
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "liquidateParams";
                };
            };
        }];
        discriminator: [223, 179, 226, 125, 48, 46, 39, 74];
        name: "liquidate";
    }, {
        accounts: [{
            name: "owner";
            relations: ["compoundingTokenAccount"];
            signer: true;
            writable: true;
        }, {
            name: "compoundingTokenAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "flpStakeAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [115, 116, 97, 107, 101];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "pool";
                }];
            };
            writable: true;
        }, {
            name: "rewardCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reward_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "rewardCustodyOracleAccount";
        }, {
            name: "poolStakedLpVault";
            writable: true;
        }, {
            name: "poolCompoundingLpVault";
            writable: true;
        }, {
            name: "lpTokenMint";
            writable: true;
        }, {
            name: "compoundingTokenMint";
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "tokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "migrateFlpParams";
                };
            };
        }];
        discriminator: [44, 141, 31, 32, 240, 175, 17, 193];
        name: "migrateFlp";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "oldOrder";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [111, 114, 100, 101, 114];
                }, {
                    account: "order";
                    kind: "account";
                    path: "old_order.owner";
                }, {
                    kind: "account";
                    path: "oldMarket";
                }];
            };
            writable: true;
        }, {
            name: "oldMarket";
        }, {
            name: "newOrder";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [111, 114, 100, 101, 114];
                }, {
                    account: "order";
                    kind: "account";
                    path: "old_order.owner";
                }, {
                    kind: "account";
                    path: "newMarket";
                }];
            };
            writable: true;
        }, {
            name: "newPosition";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    account: "order";
                    kind: "account";
                    path: "old_order.owner";
                }, {
                    kind: "account";
                    path: "newMarket";
                }];
            };
            writable: true;
        }, {
            name: "newMarket";
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "migrateMarketOrderParams";
                };
            };
        }];
        discriminator: [201, 167, 49, 9, 184, 67, 47, 132];
        name: "migrateMarketOrder";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "oldPosition";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    account: "position";
                    kind: "account";
                    path: "old_position.owner";
                }, {
                    kind: "account";
                    path: "oldMarket";
                }];
            };
            writable: true;
        }, {
            name: "oldMarket";
            writable: true;
        }, {
            name: "oldCollateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "old_collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "oldCollateralOracleAccount";
        }, {
            name: "newPosition";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    account: "position";
                    kind: "account";
                    path: "old_position.owner";
                }, {
                    kind: "account";
                    path: "newMarket";
                }];
            };
            writable: true;
        }, {
            name: "newMarket";
            writable: true;
        }, {
            name: "newCollateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "new_collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "newCollateralOracleAccount";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "migrateMarketPositionParams";
                };
            };
        }];
        discriminator: [8, 127, 1, 112, 142, 206, 43, 189];
        name: "migrateMarketPosition";
        returns: "u8";
    }, {
        accounts: [{
            name: "owner";
            relations: ["compoundingTokenAccount"];
            signer: true;
        }, {
            name: "compoundingTokenAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "flpStakeAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [115, 116, 97, 107, 101];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "pool";
                }];
            };
            writable: true;
        }, {
            name: "rewardCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reward_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "rewardCustodyOracleAccount";
        }, {
            name: "poolStakedLpVault";
            writable: true;
        }, {
            name: "poolCompoundingLpVault";
            writable: true;
        }, {
            name: "lpTokenMint";
            writable: true;
        }, {
            name: "compoundingTokenMint";
            writable: true;
        }, {
            name: "tokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "migrateStakeParams";
                };
            };
        }];
        discriminator: [178, 5, 26, 85, 56, 20, 153, 160];
        name: "migrateStake";
    }, {
        accounts: [{
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "tokenVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "rewardCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reward_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "rewardCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reward_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "revenueTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [114, 101, 118, 101, 110, 117, 101, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }];
            };
            writable: true;
        }, {
            name: "protocolVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 114, 111, 116, 111, 99, 111, 108, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }, {
            name: "protocolTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 114, 111, 116, 111, 99, 111, 108, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }];
            };
            writable: true;
        }, {
            name: "tokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            name: "tokenMint";
        }];
        args: [];
        discriminator: [129, 151, 181, 212, 47, 232, 58, 98];
        name: "moveProtocolFees";
    }, {
        accounts: [{
            name: "owner";
            relations: ["fundingAccount"];
            signer: true;
            writable: true;
        }, {
            name: "feePayer";
            signer: true;
            writable: true;
        }, {
            name: "fundingAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "market";
            writable: true;
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "collateralCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "fundingTokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "fundingMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "openPositionParams";
                };
            };
        }];
        discriminator: [135, 128, 47, 77, 15, 152, 240, 49];
        name: "openPosition";
    }, {
        accounts: [{
            name: "owner";
            relations: ["fundingAccount"];
            signer: true;
            writable: true;
        }, {
            name: "feePayer";
            signer: true;
            writable: true;
        }, {
            name: "fundingAccount";
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "order";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [111, 114, 100, 101, 114];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "market";
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "reserveCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reserve_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "reserveOracleAccount";
        }, {
            name: "reserveCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reserve_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "receiveCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "receive_custody.mint";
                }];
            };
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "fundingTokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "fundingMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "placeLimitOrderParams";
                };
            };
        }];
        discriminator: [108, 176, 33, 186, 146, 229, 1, 197];
        name: "placeLimitOrder";
    }, {
        accounts: [{
            name: "owner";
            relations: ["position"];
            signer: true;
        }, {
            name: "feePayer";
            signer: true;
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
        }, {
            name: "order";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [111, 114, 100, 101, 114];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "market";
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "receiveCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "receive_custody.mint";
                }];
            };
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "placeTriggerOrderParams";
                };
            };
        }];
        discriminator: [32, 156, 50, 188, 232, 159, 112, 236];
        name: "placeTriggerOrder";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "refreshOrdersStatusParams";
                };
            };
        }];
        discriminator: [40, 88, 107, 182, 177, 57, 247, 55];
        name: "refreshOrdersStatus";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "refreshPositionsStatusParams";
                };
            };
        }];
        discriminator: [128, 146, 70, 109, 88, 250, 26, 53];
        name: "refreshPositionsStatus";
        returns: "u8";
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "rewardCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reward_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "feeDistributionTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reward_custody.mint";
                }];
            };
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "refreshStakeParams";
                };
            };
        }];
        discriminator: [194, 123, 40, 247, 37, 237, 119, 119];
        name: "refreshStake";
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "tokenVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "refreshTokenStakeParams";
                };
            };
        }];
        discriminator: [55, 39, 150, 54, 174, 139, 76, 69];
        name: "refreshTokenStake";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
        }, {
            name: "fundingAccount";
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "custody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "custodyOracleAccount";
        }, {
            name: "custodyTokenAccount";
            writable: true;
        }, {
            name: "tokenProgram";
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "fundingMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "reimburseParams";
                };
            };
        }];
        discriminator: [160, 92, 125, 187, 32, 179, 114, 88];
        name: "reimburse";
        returns: "u8";
    }, {
        accounts: [{
            name: "owner";
            relations: ["receivingAccount", "position"];
            signer: true;
        }, {
            name: "receivingAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "market";
            writable: true;
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "collateralCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "receivingTokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "receivingMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "removeCollateralParams";
                };
            };
        }];
        discriminator: [86, 222, 130, 86, 92, 20, 72, 65];
        name: "removeCollateral";
        returns: "u64";
    }, {
        accounts: [{
            name: "owner";
            relations: ["position"];
            signer: true;
            writable: true;
        }, {
            name: "feePayer";
            signer: true;
            writable: true;
        }, {
            name: "receivingAccount";
            writable: true;
        }, {
            name: "collateralAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    account: "position";
                    kind: "account";
                    path: "position.owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "market";
            writable: true;
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "collateralCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "dispensingCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "dispensing_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "dispensingOracleAccount";
        }, {
            name: "dispensingCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "dispensing_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "receivingTokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "receivingMint";
        }, {
            name: "collateralMint";
        }, {
            name: "collateralTokenProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "removeCollateralAndSwapParams";
                };
            };
        }];
        discriminator: [197, 216, 82, 134, 173, 128, 23, 62];
        name: "removeCollateralAndSwap";
    }, {
        accounts: [{
            name: "owner";
            relations: ["receivingAccount", "compoundingTokenAccount"];
            signer: true;
            writable: true;
        }, {
            name: "receivingAccount";
            writable: true;
        }, {
            name: "compoundingTokenAccount";
            writable: true;
        }, {
            name: "poolCompoundingLpVault";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "outCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "out_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "outCustodyOracleAccount";
        }, {
            name: "outCustodyTokenAccount";
            writable: true;
        }, {
            name: "rewardCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reward_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "rewardCustodyOracleAccount";
        }, {
            name: "lpTokenMint";
            writable: true;
        }, {
            name: "compoundingTokenMint";
            writable: true;
        }, {
            name: "tokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "receivingMint";
        }, {
            name: "receivingTokenProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "removeCompoundingLiquidityParams";
                };
            };
        }];
        discriminator: [5, 133, 39, 178, 54, 58, 37, 140];
        name: "removeCompoundingLiquidity";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "receivingAccount";
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "custody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "custodyOracleAccount";
        }, {
            name: "custodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "custody.mint";
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "tokenProgram";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "receivingTokenMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "removeCustodyParams";
                };
            };
        }];
        discriminator: [143, 229, 131, 48, 248, 212, 167, 185];
        name: "removeCustody";
        returns: "u8";
    }, {
        accounts: [{
            name: "owner";
            relations: ["receivingAccount", "lpTokenAccount"];
            signer: true;
            writable: true;
        }, {
            name: "receivingAccount";
            writable: true;
        }, {
            name: "lpTokenAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "custody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "custodyOracleAccount";
        }, {
            name: "custodyTokenAccount";
            writable: true;
        }, {
            name: "lpTokenMint";
            writable: true;
        }, {
            name: "tokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "receivingMint";
        }, {
            name: "receivingTokenProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "removeLiquidityParams";
                };
            };
        }];
        discriminator: [80, 85, 209, 72, 24, 206, 177, 108];
        name: "removeLiquidity";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "market";
            writable: true;
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "tokenProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "removeMarketParams";
                };
            };
        }];
        discriminator: [138, 35, 250, 163, 200, 202, 40, 110];
        name: "removeMarket";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
            writable: true;
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "removePoolParams";
                };
            };
        }];
        discriminator: [132, 42, 53, 138, 28, 220, 170, 55];
        name: "removePool";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "lpTokenMint";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [108, 112, 95, 116, 111, 107, 101, 110, 95, 109, 105, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }];
            };
        }, {
            name: "lpMetadataAccount";
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "tokenProgram";
        }, {
            address: "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s";
            name: "metadataProgram";
        }, {
            address: "SysvarRent111111111111111111111111111111111";
            name: "rent";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "renameFlpParams";
                };
            };
        }];
        discriminator: [175, 28, 157, 91, 44, 165, 11, 165];
        name: "renameFlp";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "custodyTokenMint";
        }, {
            name: "intOracleAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [111, 114, 97, 99, 108, 101, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "custodyTokenMint";
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "resizeInternalOracleParams";
                };
            };
        }];
        discriminator: [111, 166, 24, 12, 251, 82, 69, 230];
        name: "resizeInternalOracle";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "resizeTokenStakeParams";
                };
            };
        }];
        discriminator: [169, 172, 154, 161, 204, 201, 0, 197];
        name: "resizeTokenStake";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "setAdminSignersParams";
                };
            };
        }];
        discriminator: [240, 171, 141, 105, 124, 2, 225, 188];
        name: "setAdminSigners";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "custody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "custodyOracleAccount";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "setCustodyConfigParams";
                };
            };
        }];
        discriminator: [133, 97, 130, 143, 215, 229, 36, 176];
        name: "setCustodyConfig";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "custody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "custodyTokenMint";
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "setCustodyTokenMultiplierParams";
                };
            };
        }];
        discriminator: [104, 211, 183, 198, 207, 194, 221, 190];
        name: "setCustodyTokenMultiplier";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "custody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "custody.mint";
                }];
            };
        }, {
            name: "oracleAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [111, 114, 97, 99, 108, 101, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "custody.mint";
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "setCustomOraclePriceParams";
                };
            };
        }];
        discriminator: [180, 194, 182, 63, 48, 125, 116, 136];
        name: "setCustomOraclePrice";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "setFeeShareParams";
                };
            };
        }];
        discriminator: [244, 200, 2, 250, 254, 123, 78, 93];
        name: "setFeeShare";
        returns: "u8";
    }, {
        accounts: [{
            name: "authority";
            signer: true;
            writable: true;
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "setInternalCurrentPriceParams";
                };
            };
        }];
        discriminator: [187, 242, 45, 203, 214, 7, 211, 213];
        name: "setInternalCurrentPrice";
        returns: "u8";
    }, {
        accounts: [{
            name: "authority";
            signer: true;
            writable: true;
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "setInternalEmaPriceParams";
                };
            };
        }];
        discriminator: [46, 30, 57, 7, 225, 198, 92, 164];
        name: "setInternalEmaPrice";
        returns: "u8";
    }, {
        accounts: [{
            name: "payer";
            signer: true;
            writable: true;
        }, {
            name: "pythStorage";
        }, {
            name: "pythTreasury";
            writable: true;
        }, {
            address: "pytd2yyk641x7ak7mkaasSJVXh6YYZnC7wTmtgAyxPt";
            name: "pythLazerProgram";
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "setInternalLazerPriceParams";
                };
            };
        }];
        discriminator: [56, 112, 153, 62, 193, 123, 193, 115];
        name: "setInternalLazerPrice";
        returns: "u8";
    }, {
        accounts: [{
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "lpTokenMint";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [108, 112, 95, 116, 111, 107, 101, 110, 95, 109, 105, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }];
            };
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "setLpTokenPriceParams";
                };
            };
        }];
        discriminator: [216, 188, 199, 41, 70, 236, 202, 226];
        name: "setLpTokenPrice";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "market";
            writable: true;
        }, {
            name: "targetCustody";
        }, {
            name: "collateralCustody";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "setMarketConfigParams";
                };
            };
        }];
        discriminator: [128, 237, 216, 59, 122, 62, 156, 30];
        name: "setMarketConfig";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
            writable: true;
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "setPermissionsParams";
                };
            };
        }];
        discriminator: [214, 165, 105, 182, 213, 162, 212, 34];
        name: "setPermissions";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
            writable: true;
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "setPerpetualsConfigParams";
                };
            };
        }];
        discriminator: [80, 72, 21, 191, 29, 121, 45, 111];
        name: "setPerpetualsConfig";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "setPoolConfigParams";
                };
            };
        }];
        discriminator: [216, 87, 65, 125, 113, 110, 185, 120];
        name: "setPoolConfig";
        returns: "u8";
    }, {
        accounts: [{
            name: "authority";
            signer: true;
        }, {
            name: "position";
            writable: true;
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "setPositionPriceImpactParams";
                };
            };
        }];
        discriminator: [52, 190, 214, 219, 115, 224, 56, 228];
        name: "setPositionPriceImpact";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "protocolVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 114, 111, 116, 111, 99, 111, 108, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "setProtocolFeeShareParams";
                };
            };
        }];
        discriminator: [6, 155, 103, 17, 228, 172, 14, 160];
        name: "setProtocolFeeShare";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
            writable: true;
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "setTestTimeParams";
                };
            };
        }];
        discriminator: [242, 231, 177, 251, 126, 145, 159, 104];
        name: "setTestTime";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "tokenVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }, {
            name: "tokenStakeAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 115, 116, 97, 107, 101];
                }, {
                    account: "tokenStake";
                    kind: "account";
                    path: "token_stake_account.owner";
                }];
            };
            writable: true;
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "setTokenRewardParams";
                };
            };
        }];
        discriminator: [97, 209, 220, 95, 114, 167, 225, 103];
        name: "setTokenReward";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "tokenVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116];
                }];
            };
        }, {
            name: "owner";
        }, {
            name: "tokenStakeAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 115, 116, 97, 107, 101];
                }, {
                    kind: "account";
                    path: "owner";
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "setTokenStakeLevelParams";
                };
            };
        }];
        discriminator: [74, 184, 65, 143, 136, 165, 178, 6];
        name: "setTokenStakeLevel";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "tokenVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "setTokenVaultConfigParams";
                };
            };
        }];
        discriminator: [106, 228, 78, 88, 112, 139, 185, 119];
        name: "setTokenVaultConfig";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "owner";
        }, {
            name: "whitelist";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [119, 104, 105, 116, 101, 108, 105, 115, 116];
                }, {
                    kind: "account";
                    path: "owner";
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "setWhitelistConfigParams";
                };
            };
        }];
        discriminator: [73, 64, 17, 134, 219, 71, 103, 83];
        name: "setWhitelistConfig";
        returns: "u8";
    }, {
        accounts: [{
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "rewardCustody";
            writable: true;
        }, {
            name: "rewardCustodyOracleAccount";
        }, {
            name: "rewardCustodyTokenAccount";
            writable: true;
        }, {
            name: "rebateVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [114, 101, 98, 97, 116, 101, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }, {
            name: "rebateTokenAccount";
            writable: true;
        }, {
            name: "tokenMint";
        }, {
            name: "tokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [];
        discriminator: [12, 192, 237, 255, 81, 68, 17, 193];
        name: "settleRebates";
    }, {
        accounts: [{
            name: "owner";
            relations: ["fundingAccount", "receivingAccount"];
            signer: true;
        }, {
            name: "fundingAccount";
            writable: true;
        }, {
            name: "receivingAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
        }, {
            name: "receivingCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "receiving_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "receivingCustodyOracleAccount";
        }, {
            name: "receivingCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "receiving_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "dispensingCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "dispensing_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "dispensingCustodyOracleAccount";
        }, {
            name: "dispensingCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "dispensing_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "fundingMint";
        }, {
            name: "fundingTokenProgram";
        }, {
            name: "receivingMint";
        }, {
            name: "receivingTokenProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "swapParams";
                };
            };
        }];
        discriminator: [248, 198, 158, 145, 225, 117, 135, 200];
        name: "swap";
        returns: "u64";
    }, {
        accounts: [{
            name: "owner";
            relations: ["position"];
            signer: true;
            writable: true;
        }, {
            name: "feePayer";
            signer: true;
            writable: true;
        }, {
            name: "fundingAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "receivingCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "receiving_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "receivingCustodyOracleAccount";
        }, {
            name: "receivingCustodyTokenAccount";
            writable: true;
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "market";
            writable: true;
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "collateralCustodyTokenAccount";
            writable: true;
        }, {
            name: "fundingTokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "fundingMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "swapAndAddCollateralParams";
                };
            };
        }];
        discriminator: [135, 207, 228, 112, 247, 15, 29, 150];
        name: "swapAndAddCollateral";
    }, {
        accounts: [{
            name: "owner";
            relations: ["fundingAccount"];
            signer: true;
            writable: true;
        }, {
            name: "feePayer";
            signer: true;
            writable: true;
        }, {
            name: "fundingAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "receivingCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "receiving_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "receivingCustodyOracleAccount";
        }, {
            name: "receivingCustodyTokenAccount";
            writable: true;
        }, {
            name: "position";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 115, 105, 116, 105, 111, 110];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "market";
                }];
            };
            writable: true;
        }, {
            name: "market";
            writable: true;
        }, {
            name: "targetCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "target_custody.mint";
                }];
            };
        }, {
            name: "targetOracleAccount";
        }, {
            name: "collateralCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "collateral_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "collateralOracleAccount";
        }, {
            name: "collateralCustodyTokenAccount";
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "fundingTokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }, {
            name: "fundingMint";
        }, {
            name: "collateralMint";
        }, {
            name: "collateralTokenProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "swapAndOpenParams";
                };
            };
        }];
        discriminator: [26, 209, 42, 0, 169, 62, 30, 118];
        name: "swapAndOpen";
    }, {
        accounts: [{
            name: "owner";
            signer: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "rewardCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reward_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "rewardCustodyOracleAccount";
        }, {
            name: "rewardCustodyTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reward_custody.mint";
                }];
            };
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            address: "Sysvar1nstructions1111111111111111111111111";
            name: "ixSysvar";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "swapFeeInternalParams";
                };
            };
        }];
        discriminator: [16, 2, 202, 40, 46, 57, 4, 63];
        name: "swapFeeInternal";
    }, {
        accounts: [{
            name: "upgradeAuthority";
            signer: true;
            writable: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "tokenProgram";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "testInitParams";
                };
            };
        }];
        discriminator: [48, 51, 92, 122, 81, 19, 112, 41];
        name: "testInit";
    }, {
        accounts: [{
            name: "owner";
            signer: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "flpStakeAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [115, 116, 97, 107, 101];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "pool";
                }];
            };
            writable: true;
        }, {
            name: "rewardCustody";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [99, 117, 115, 116, 111, 100, 121];
                }, {
                    kind: "account";
                    path: "pool";
                }, {
                    account: "custody";
                    kind: "account";
                    path: "reward_custody.mint";
                }];
            };
            writable: true;
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "unstakeInstantParams";
                };
            };
        }];
        discriminator: [119, 27, 161, 139, 21, 78, 130, 66];
        name: "unstakeInstant";
    }, {
        accounts: [{
            name: "owner";
            signer: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "flpStakeAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [115, 116, 97, 107, 101];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "pool";
                }];
            };
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "tokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "unstakeRequestParams";
                };
            };
        }];
        discriminator: [50, 86, 156, 73, 149, 78, 163, 134];
        name: "unstakeRequest";
    }, {
        accounts: [{
            name: "owner";
            signer: true;
        }, {
            name: "tokenVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "tokenStakeAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 115, 116, 97, 107, 101];
                }, {
                    kind: "account";
                    path: "owner";
                }];
            };
            writable: true;
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "unstakeTokenRequestParams";
                };
            };
        }];
        discriminator: [128, 231, 170, 197, 177, 246, 134, 238];
        name: "unstakeTokenRequest";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "protocolVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 114, 111, 116, 111, 99, 111, 108, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }, {
            name: "protocolTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 114, 111, 116, 111, 99, 111, 108, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }];
            };
            writable: true;
        }, {
            name: "receivingTokenAccount";
            writable: true;
        }, {
            name: "tokenProgram";
        }, {
            name: "receivingMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "withdrawFeesParams";
                };
            };
        }];
        discriminator: [198, 212, 171, 109, 144, 215, 174, 89];
        name: "withdrawFees";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "tokenVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }, {
            name: "tokenVaultTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }];
            };
            writable: true;
        }, {
            name: "receivingTokenAccount";
            writable: true;
        }, {
            name: "tokenProgram";
        }, {
            name: "receivingTokenMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "withdrawInstantFeesParams";
                };
            };
        }];
        discriminator: [210, 236, 193, 124, 205, 149, 255, 203];
        name: "withdrawInstantFees";
        returns: "u8";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "receivingAccount";
            writable: true;
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "withdrawSolFeesParams";
                };
            };
        }];
        discriminator: [191, 53, 166, 97, 124, 212, 228, 219];
        name: "withdrawSolFees";
        returns: "u8";
    }, {
        accounts: [{
            name: "owner";
            relations: ["receivingLpTokenAccount"];
            signer: true;
            writable: true;
        }, {
            name: "receivingLpTokenAccount";
            writable: true;
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "pool";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 111, 111, 108];
                }, {
                    account: "pool";
                    kind: "account";
                    path: "pool.name";
                }];
            };
            writable: true;
        }, {
            name: "flpStakeAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [115, 116, 97, 107, 101];
                }, {
                    kind: "account";
                    path: "owner";
                }, {
                    kind: "account";
                    path: "pool";
                }];
            };
            writable: true;
        }, {
            name: "poolStakedLpVault";
            writable: true;
        }, {
            address: "11111111111111111111111111111111";
            name: "systemProgram";
        }, {
            name: "tokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            name: "lpMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "withdrawStakeParams";
                };
            };
        }];
        discriminator: [153, 8, 22, 138, 105, 176, 87, 66];
        name: "withdrawStake";
    }, {
        accounts: [{
            name: "owner";
            relations: ["receivingTokenAccount"];
            signer: true;
            writable: true;
        }, {
            name: "receivingTokenAccount";
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "tokenVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }, {
            name: "tokenVaultTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }];
            };
            writable: true;
        }, {
            name: "tokenStakeAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 115, 116, 97, 107, 101];
                }, {
                    kind: "account";
                    path: "owner";
                }];
            };
            writable: true;
        }, {
            name: "tokenProgram";
        }, {
            name: "eventAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            address: "FLASH6Lo6h3iasJKWDs2F8TkW2UKf3s15C8PMGuVfgBn";
            name: "program";
        }, {
            name: "tokenMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "withdrawTokenParams";
                };
            };
        }];
        discriminator: [136, 235, 181, 5, 101, 109, 57, 81];
        name: "withdrawToken";
    }, {
        accounts: [{
            name: "admin";
            signer: true;
        }, {
            name: "multisig";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [109, 117, 108, 116, 105, 115, 105, 103];
                }];
            };
            writable: true;
        }, {
            name: "perpetuals";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [112, 101, 114, 112, 101, 116, 117, 97, 108, 115];
                }];
            };
        }, {
            name: "transferAuthority";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 114, 97, 110, 115, 102, 101, 114, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121];
                }];
            };
        }, {
            name: "tokenVault";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116];
                }];
            };
            writable: true;
        }, {
            name: "tokenVaultTokenAccount";
            pda: {
                seeds: [{
                    kind: "const";
                    value: [116, 111, 107, 101, 110, 95, 118, 97, 117, 108, 116, 95, 116, 111, 107, 101, 110, 95, 97, 99, 99, 111, 117, 110, 116];
                }];
            };
            writable: true;
        }, {
            name: "receivingTokenAccount";
            writable: true;
        }, {
            name: "tokenProgram";
        }, {
            name: "receivingTokenMint";
        }];
        args: [{
            name: "params";
            type: {
                defined: {
                    name: "withdrawUnclaimedTokensParams";
                };
            };
        }];
        discriminator: [43, 239, 40, 75, 164, 156, 231, 139];
        name: "withdrawUnclaimedTokens";
        returns: "u8";
    }]
  • metadata: {
        description: "Flash Trade Perpetuals Exchange";
        name: "perpetuals";
        repository: "https://github.com/flash-trade/";
        spec: "0.1.0";
        version: "15.2.0";
    }
    • description: "Flash Trade Perpetuals Exchange"
    • name: "perpetuals"
    • repository: "https://github.com/flash-trade/"
    • spec: "0.1.0"
    • version: "15.2.0"
  • types: [{
        name: "addCollateralLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "collateralPriceUsd";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "addCollateralLogUsDv1";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "tradeId";
                type: "i64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "deltaCollateralAmount";
                type: "u64";
            }, {
                name: "deltaCollateralUsd";
                type: "u64";
            }, {
                name: "finalCollateralUsd";
                type: "u64";
            }, {
                name: "finalSizeAmount";
                type: "u64";
            }, {
                name: "finalSizeUsd";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 4];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "addCollateralLogV2";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "addCollateralLogV3";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "deltaCollateralAmount";
                type: "u64";
            }, {
                name: "finalCollateralAmount";
                type: "u64";
            }, {
                name: "finalCollateralUsd";
                type: "u64";
            }, {
                name: "finalSizeAmount";
                type: "u64";
            }, {
                name: "finalSizeUsd";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "addCollateralParams";
        type: {
            fields: [{
                name: "collateralDelta";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "addCollateralQuoteData";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "collateralDeltaUsd";
                type: "u64";
            }, {
                name: "existingCollateralUsd";
                type: "u64";
            }, {
                name: "existingLeverage";
                type: "u64";
            }, {
                name: "existingLiquidationPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "newCollateralUsd";
                type: "u64";
            }, {
                name: "newLeverage";
                type: "u64";
            }, {
                name: "newLiquidationPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "maxAddableUsd";
                type: "u64";
            }, {
                name: "swapRequired";
                type: "bool";
            }, {
                name: "swapPossible";
                type: "bool";
            }, {
                name: "passesMinCollateral";
                type: "bool";
            }, {
                name: "passesLeverageCheck";
                type: "bool";
            }];
            kind: "struct";
        };
    }, {
        name: "addCompoundingLiquidityLog";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "custodyUid";
                type: "u64";
            }, {
                name: "amountIn";
                type: "u64";
            }, {
                name: "compoundingAmountOut";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }, {
                name: "rewardPerLpStaked";
                type: "u64";
            }, {
                name: "compoundingPriceUsd";
                type: "u64";
            }, {
                name: "tokenInPrice";
                type: "u64";
            }, {
                name: "tokenInPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "addCompoundingLiquidityParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "minCompoundingAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "addCustodyParams";
        type: {
            fields: [{
                name: "isStable";
                type: "bool";
            }, {
                name: "depegAdjustment";
                type: "bool";
            }, {
                name: "isVirtual";
                type: "bool";
            }, {
                name: "inversePrice";
                type: "bool";
            }, {
                name: "token22";
                type: "bool";
            }, {
                name: "oracle";
                type: {
                    defined: {
                        name: "oracleParams";
                    };
                };
            }, {
                name: "pricing";
                type: {
                    defined: {
                        name: "pricingParams";
                    };
                };
            }, {
                name: "permissions";
                type: {
                    defined: {
                        name: "permissions";
                    };
                };
            }, {
                name: "fees";
                type: {
                    defined: {
                        name: "fees";
                    };
                };
            }, {
                name: "borrowRate";
                type: {
                    defined: {
                        name: "borrowRateParams";
                    };
                };
            }, {
                name: "ratios";
                type: {
                    vec: {
                        defined: {
                            name: "tokenRatios";
                        };
                    };
                };
            }, {
                name: "tokenAmountMultiplier";
                type: "u64";
            }, {
                name: "minReserveUsd";
                type: "u64";
            }, {
                name: "limitPriceBufferBps";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "addCustodyToken22AccountParams";
        type: {
            fields: [{
                name: "tokenAccountSpace";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "addInternalOracleParams";
        type: {
            fields: [{
                name: "expo";
                type: "i32";
            }, {
                name: "lazerFeedId";
                type: "u32";
            }];
            kind: "struct";
        };
    }, {
        name: "addLiquidityAndStakeLog";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "custodyUid";
                type: "u64";
            }, {
                name: "amountIn";
                type: "u64";
            }, {
                name: "lpAmountOut";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }, {
                name: "lpPriceUsd";
                type: "u64";
            }, {
                name: "tokenInPrice";
                type: "u64";
            }, {
                name: "tokenInPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "addLiquidityAndStakeParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "minLpAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "addLiquidityLog";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "custodyUid";
                type: "u64";
            }, {
                name: "amountIn";
                type: "u64";
            }, {
                name: "lpAmountOut";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "addLiquidityLogV2";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "custodyUid";
                type: "u64";
            }, {
                name: "amountIn";
                type: "u64";
            }, {
                name: "lpAmountOut";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }, {
                name: "lpPriceUsd";
                type: "u64";
            }, {
                name: "tokenInPrice";
                type: "u64";
            }, {
                name: "tokenInPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "addLiquidityParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "minLpAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "addMarketParams";
        type: {
            fields: [{
                name: "side";
                type: {
                    defined: {
                        name: "side";
                    };
                };
            }, {
                name: "correlation";
                type: "bool";
            }, {
                name: "maxPayoffBps";
                type: "u64";
            }, {
                name: "permissions";
                type: {
                    defined: {
                        name: "marketPermissions";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "addPoolParams";
        type: {
            fields: [{
                name: "name";
                type: "string";
            }, {
                name: "permissions";
                type: {
                    defined: {
                        name: "permissions";
                    };
                };
            }, {
                name: "maxAumUsd";
                type: "u64";
            }, {
                name: "metadataTitle";
                type: "string";
            }, {
                name: "metadataSymbol";
                type: "string";
            }, {
                name: "metadataUri";
                type: "string";
            }, {
                name: "stakingFeeShareBps";
                type: "u64";
            }, {
                name: "vpVolumeFactor";
                type: "u8";
            }, {
                name: "stakingFeeBoostBps";
                type: {
                    array: ["u64", 6];
                };
            }, {
                name: "minLpPriceUsd";
                type: "u64";
            }, {
                name: "maxLpPriceUsd";
                type: "u64";
            }, {
                name: "thresholdUsd";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "amountAndFee";
        type: {
            fields: [{
                name: "amount";
                type: "u64";
            }, {
                name: "fee";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "assets";
        type: {
            fields: [{
                name: "collateral";
                type: "u64";
            }, {
                name: "owned";
                type: "u64";
            }, {
                name: "locked";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "borrowRateParams";
        type: {
            fields: [{
                name: "baseRate";
                type: "u64";
            }, {
                name: "slope1";
                type: "u64";
            }, {
                name: "slope2";
                type: "u64";
            }, {
                name: "optimalUtilization";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "borrowRateState";
        type: {
            fields: [{
                name: "currentRate";
                type: "u64";
            }, {
                name: "cumulativeLockFee";
                type: "u128";
            }, {
                name: "lastUpdate";
                type: "i64";
            }];
            kind: "struct";
        };
    }, {
        name: "burnAndClaimLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "nftMint";
                type: "pubkey";
            }, {
                name: "claimAmount";
                type: "u64";
            }, {
                name: "currentTimestamp";
                type: "i64";
            }];
            kind: "struct";
        };
    }, {
        name: "burnAndStakeLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "nftMint";
                type: "pubkey";
            }, {
                name: "tokenStake";
                type: "pubkey";
            }, {
                name: "stakeAmount";
                type: "u64";
            }, {
                name: "currentTimestamp";
                type: "i64";
            }, {
                name: "lastUpdatedTimestamp";
                type: "i64";
            }, {
                name: "level";
                type: "u8";
            }, {
                name: "activeStakeAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "cancelLimitOrderLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "limitPrice";
                type: "u64";
            }, {
                name: "limitPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "reservePrice";
                type: "u64";
            }, {
                name: "reservePriceExponent";
                type: "i32";
            }, {
                name: "reserveAmount";
                type: "u64";
            }, {
                name: "reserveUsd";
                type: "u64";
            }, {
                name: "stopLossPrice";
                type: "u64";
            }, {
                name: "stopLossPriceExponent";
                type: "i32";
            }, {
                name: "takeProfitPrice";
                type: "u64";
            }, {
                name: "takeProfitPriceExponent";
                type: "i32";
            }, {
                name: "receiveCustodyUid";
                type: "u8";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "cancelLimitOrderParams";
        type: {
            fields: [{
                name: "orderId";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        name: "cancelTriggerOrderLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "price";
                type: "u64";
            }, {
                name: "priceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "receiveCustodyUid";
                type: "u8";
            }, {
                name: "isStopLoss";
                type: "bool";
            }];
            kind: "struct";
        };
    }, {
        name: "cancelTriggerOrderParams";
        type: {
            fields: [{
                name: "orderId";
                type: "u8";
            }, {
                name: "isStopLoss";
                type: "bool";
            }];
            kind: "struct";
        };
    }, {
        name: "cancelUnstakeTokenRequestLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "tokenStake";
                type: "pubkey";
            }, {
                name: "amount";
                type: "u64";
            }, {
                name: "currentTimestamp";
                type: "i64";
            }, {
                name: "lastUpdatedTimestamp";
                type: "i64";
            }, {
                name: "level";
                type: "u8";
            }, {
                name: "activeStakeAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "cancelUnstakeTokenRequestLogV2";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "tokenStake";
                type: "pubkey";
            }, {
                name: "amount";
                type: "u64";
            }, {
                name: "currentTimestamp";
                type: "i64";
            }, {
                name: "lastUpdatedTimestamp";
                type: "i64";
            }, {
                name: "level";
                type: "u8";
            }, {
                name: "activeStakeAmount";
                type: "u64";
            }, {
                name: "levelEligibleAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "cancelUnstakeTokenRequestParams";
        type: {
            fields: [{
                name: "withdrawRequestId";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        name: "closeAndSwapLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "duration";
                type: "i64";
            }, {
                name: "exitPrice";
                type: "u64";
            }, {
                name: "exitPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "profitUsd";
                type: "u64";
            }, {
                name: "lossUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }, {
                name: "feeRebateAmount";
                type: "u64";
            }, {
                name: "exitFeeAmount";
                type: "u64";
            }, {
                name: "receiveCustodyUid";
                type: "u64";
            }, {
                name: "receiveAmount";
                type: "u64";
            }, {
                name: "swapFeeAmount";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "closeAndSwapLogUsDv1";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "tradeId";
                type: "i64";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "duration";
                type: "i64";
            }, {
                name: "exitPrice";
                type: "u64";
            }, {
                name: "exitPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "collateralUsd";
                type: "u64";
            }, {
                name: "profitUsd";
                type: "u64";
            }, {
                name: "lossUsd";
                type: "u64";
            }, {
                name: "feeUsd";
                type: "u64";
            }, {
                name: "rebateUsd";
                type: "u64";
            }, {
                name: "discountUsd";
                type: "u64";
            }, {
                name: "exitFeeUsd";
                type: "u64";
            }, {
                name: "outputCustodyUid";
                type: "u8";
            }, {
                name: "outputAmount";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "priceImpactUsd";
                type: "u64";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 3];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "closeAndSwapParams";
        type: {
            fields: [{
                name: "priceWithSlippage";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "privilege";
                type: {
                    defined: {
                        name: "privilege";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "closePositionLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "priceUsd";
                type: "u64";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "profitUsd";
                type: "u64";
            }, {
                name: "lossUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "closePositionLogUsDv1";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "tradeId";
                type: "i64";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "duration";
                type: "i64";
            }, {
                name: "exitPrice";
                type: "u64";
            }, {
                name: "exitPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "collateralUsd";
                type: "u64";
            }, {
                name: "profitUsd";
                type: "u64";
            }, {
                name: "lossUsd";
                type: "u64";
            }, {
                name: "feeUsd";
                type: "u64";
            }, {
                name: "rebateUsd";
                type: "u64";
            }, {
                name: "discountUsd";
                type: "u64";
            }, {
                name: "exitFeeUsd";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "priceImpactUsd";
                type: "u64";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 3];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "closePositionLogV2";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "price";
                type: "u64";
            }, {
                name: "priceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "profitUsd";
                type: "u64";
            }, {
                name: "lossUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "closePositionLogV3";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "duration";
                type: "i64";
            }, {
                name: "exitPrice";
                type: "u64";
            }, {
                name: "exitPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "profitUsd";
                type: "u64";
            }, {
                name: "lossUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }, {
                name: "feeRebateAmount";
                type: "u64";
            }, {
                name: "exitFeeAmount";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "closePositionParams";
        type: {
            fields: [{
                name: "priceWithSlippage";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "privilege";
                type: {
                    defined: {
                        name: "privilege";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "closePositionQuoteData";
        type: {
            fields: [{
                name: "receiveTokenAmount";
                type: "u64";
            }, {
                name: "receiveTokenAmountUsd";
                type: "u64";
            }, {
                name: "markPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "entryPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "existingLiquidationPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "newLiquidationPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "existingSize";
                type: "u64";
            }, {
                name: "newSize";
                type: "u64";
            }, {
                name: "existingCollateral";
                type: "u64";
            }, {
                name: "newCollateral";
                type: "u64";
            }, {
                name: "existingLeverage";
                type: "u64";
            }, {
                name: "newLeverage";
                type: "u64";
            }, {
                name: "settledPnlUsd";
                type: "u64";
            }, {
                name: "isProfitable";
                type: "bool";
            }, {
                name: "profitUsd";
                type: "u64";
            }, {
                name: "lossUsd";
                type: "u64";
            }, {
                name: "fees";
                type: "u64";
            }, {
                name: "feesBeforeDiscount";
                type: "u64";
            }, {
                name: "exitFeeUsd";
                type: "u64";
            }, {
                name: "exitFeeBeforeDiscountUsd";
                type: "u64";
            }, {
                name: "lockAndUnsettledFeeUsd";
                type: "u64";
            }, {
                name: "priceImpactUsd";
                type: "u64";
            }, {
                name: "isSolvent";
                type: "bool";
            }, {
                name: "swapRequired";
                type: "bool";
            }, {
                name: "swapPossible";
                type: "bool";
            }, {
                name: "isPartialClose";
                type: "bool";
            }];
            kind: "struct";
        };
    }, {
        name: "collectRebateLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "tokenStake";
                type: "pubkey";
            }, {
                name: "rebateAmount";
                type: "u64";
            }, {
                name: "rebateUsd";
                type: "u64";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 2];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "collectRevenueLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "tokenStake";
                type: "pubkey";
            }, {
                name: "revenueAmount";
                type: "u64";
            }, {
                name: "lastEpochCount";
                type: "u32";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 2];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "collectRevenueLogV2";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "tokenStake";
                type: "pubkey";
            }, {
                name: "revenueAmount";
                type: "u64";
            }, {
                name: "currentTimestamp";
                type: "i64";
            }, {
                name: "lastUpdatedTimestamp";
                type: "i64";
            }, {
                name: "activeStakeAmount";
                type: "u64";
            }, {
                name: "levelEligibleAmount";
                type: "u64";
            }, {
                name: "lastEpochCount";
                type: "u32";
            }];
            kind: "struct";
        };
    }, {
        name: "collectRevenueParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "collectStakeRewardLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "poolName";
                type: "string";
            }, {
                name: "rewardAmount";
                type: "u64";
            }, {
                name: "rewardMint";
                type: "pubkey";
            }];
            kind: "struct";
        };
    }, {
        name: "collectStakeRewardLogV2";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "poolName";
                type: "string";
            }, {
                name: "rewardAmount";
                type: "u64";
            }, {
                name: "rewardMint";
                type: "pubkey";
            }, {
                name: "rewardShare";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "collectStakeRewardParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "collectTokenRewardLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "tokenStake";
                type: "pubkey";
            }, {
                name: "amount";
                type: "u64";
            }, {
                name: "lastEpochCount";
                type: "u32";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 2];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "collectTokenRewardParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "compoundFeesParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "compoundingFeesLog";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "rewardAmount";
                type: "u64";
            }, {
                name: "rewardLpAmount";
                type: "u64";
            }, {
                name: "rewardPerLpStaked";
                type: "u64";
            }, {
                name: "lpPriceUsd";
                type: "u64";
            }, {
                name: "compoundingPriceUsd";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "compoundingStats";
        type: {
            fields: [{
                name: "activeAmount";
                type: "u64";
            }, {
                name: "totalSupply";
                type: "u64";
            }, {
                name: "rewardSnapshot";
                type: "u128";
            }, {
                name: "feeShareBps";
                type: "u64";
            }, {
                name: "lastCompoundTime";
                type: "i64";
            }];
            kind: "struct";
        };
    }, {
        name: "compoundingTokenData";
        type: {
            fields: [{
                name: "lpPrice";
                type: "u64";
            }, {
                name: "compoundingPrice";
                type: "u64";
            }, {
                name: "ratios";
                type: {
                    vec: "u64";
                };
            }];
            kind: "struct";
        };
    }, {
        name: "createReferralParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "createWhitelistParams";
        type: {
            fields: [{
                name: "isSwapFeeExempt";
                type: "bool";
            }, {
                name: "isDepositFeeExempt";
                type: "bool";
            }, {
                name: "isWithdrawalFeeExempt";
                type: "bool";
            }, {
                name: "poolAddress";
                type: "pubkey";
            }];
            kind: "struct";
        };
    }, {
        name: "custody";
        type: {
            fields: [{
                name: "pool";
                type: "pubkey";
            }, {
                name: "mint";
                type: "pubkey";
            }, {
                name: "tokenAccount";
                type: "pubkey";
            }, {
                name: "decimals";
                type: "u8";
            }, {
                name: "isStable";
                type: "bool";
            }, {
                name: "depegAdjustment";
                type: "bool";
            }, {
                name: "isVirtual";
                type: "bool";
            }, {
                name: "inversePrice";
                type: "bool";
            }, {
                name: "oracle";
                type: {
                    defined: {
                        name: "oracleParams";
                    };
                };
            }, {
                name: "pricing";
                type: {
                    defined: {
                        name: "pricingParams";
                    };
                };
            }, {
                name: "permissions";
                type: {
                    defined: {
                        name: "permissions";
                    };
                };
            }, {
                name: "fees";
                type: {
                    defined: {
                        name: "fees";
                    };
                };
            }, {
                name: "borrowRate";
                type: {
                    defined: {
                        name: "borrowRateParams";
                    };
                };
            }, {
                name: "tokenAmountMultiplier";
                type: "u64";
            }, {
                name: "assets";
                type: {
                    defined: {
                        name: "assets";
                    };
                };
            }, {
                name: "feesStats";
                type: {
                    defined: {
                        name: "feesStats";
                    };
                };
            }, {
                name: "borrowRateState";
                type: {
                    defined: {
                        name: "borrowRateState";
                    };
                };
            }, {
                name: "bump";
                type: "u8";
            }, {
                name: "tokenAccountBump";
                type: "u8";
            }, {
                name: "token22";
                type: "bool";
            }, {
                name: "uid";
                type: "u8";
            }, {
                name: "reservedAmount";
                type: "u64";
            }, {
                name: "minReserveUsd";
                type: "u64";
            }, {
                name: "limitPriceBufferBps";
                type: "u64";
            }, {
                name: "padding";
                type: {
                    array: ["u8", 32];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "customOracle";
        type: {
            fields: [{
                name: "price";
                type: "u64";
            }, {
                name: "expo";
                type: "i32";
            }, {
                name: "conf";
                type: "u64";
            }, {
                name: "ema";
                type: "u64";
            }, {
                name: "publishTime";
                type: "i64";
            }, {
                name: "lazerFeedId";
                type: "u32";
            }, {
                name: "lazerPrice";
                type: "u64";
            }, {
                name: "reserved";
                type: {
                    array: ["u8", 20];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "decreaseSizeLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "priceUsd";
                type: "u64";
            }, {
                name: "sizeDelta";
                type: "u64";
            }, {
                name: "sizeDeltaUsd";
                type: "u64";
            }, {
                name: "settledReturns";
                type: "u64";
            }, {
                name: "deltaProfitUsd";
                type: "u64";
            }, {
                name: "deltaLossUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "decreaseSizeLogUsDv1";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "tradeId";
                type: "i64";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "duration";
                type: "i64";
            }, {
                name: "exitPrice";
                type: "u64";
            }, {
                name: "exitPriceExponent";
                type: "i32";
            }, {
                name: "deltaSizeAmount";
                type: "u64";
            }, {
                name: "deltaSizeUsd";
                type: "u64";
            }, {
                name: "finalSizeAmount";
                type: "u64";
            }, {
                name: "finalSizeUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "deltaCollateralUsd";
                type: "u64";
            }, {
                name: "profitUsd";
                type: "u64";
            }, {
                name: "lossUsd";
                type: "u64";
            }, {
                name: "feeUsd";
                type: "u64";
            }, {
                name: "rebateUsd";
                type: "u64";
            }, {
                name: "discountUsd";
                type: "u64";
            }, {
                name: "exitFeeUsd";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "priceImpactUsd";
                type: "u64";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 3];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "decreaseSizeLogV2";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "price";
                type: "u64";
            }, {
                name: "priceExponent";
                type: "i32";
            }, {
                name: "sizeDelta";
                type: "u64";
            }, {
                name: "sizeDeltaUsd";
                type: "u64";
            }, {
                name: "settledReturns";
                type: "u64";
            }, {
                name: "deltaProfitUsd";
                type: "u64";
            }, {
                name: "deltaLossUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "decreaseSizeLogV3";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "duration";
                type: "i64";
            }, {
                name: "exitPrice";
                type: "u64";
            }, {
                name: "exitPriceExponent";
                type: "i32";
            }, {
                name: "deltaSizeAmount";
                type: "u64";
            }, {
                name: "deltaSizeUsd";
                type: "u64";
            }, {
                name: "finalSizeAmount";
                type: "u64";
            }, {
                name: "finalSizeUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "deltaCollateralAmount";
                type: "u64";
            }, {
                name: "profitUsd";
                type: "u64";
            }, {
                name: "lossUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }, {
                name: "feeRebateAmount";
                type: "u64";
            }, {
                name: "exitFeeAmount";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "decreaseSizeParams";
        type: {
            fields: [{
                name: "priceWithSlippage";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "sizeDelta";
                type: "u64";
            }, {
                name: "privilege";
                type: {
                    defined: {
                        name: "privilege";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "depositStakeLog";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "lpTokens";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "depositStakeParams";
        type: {
            fields: [{
                name: "depositAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "depositTokenStakeLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "tokenStake";
                type: "pubkey";
            }, {
                name: "depositAmount";
                type: "u64";
            }, {
                name: "currentTimestamp";
                type: "i64";
            }, {
                name: "lastUpdatedTimestamp";
                type: "i64";
            }, {
                name: "level";
                type: "u8";
            }, {
                name: "activeStakeAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "depositTokenStakeLogV2";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "tokenStake";
                type: "pubkey";
            }, {
                name: "depositAmount";
                type: "u64";
            }, {
                name: "currentTimestamp";
                type: "i64";
            }, {
                name: "lastUpdatedTimestamp";
                type: "i64";
            }, {
                name: "level";
                type: "u8";
            }, {
                name: "activeStakeAmount";
                type: "u64";
            }, {
                name: "levelEligibleAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "depositTokenStakeParams";
        type: {
            fields: [{
                name: "depositAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "distributeTokenRewardLog";
        type: {
            fields: [{
                name: "amount";
                type: "u64";
            }, {
                name: "epochCount";
                type: "u32";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 2];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "distributeTokenRewardParams";
        type: {
            fields: [{
                name: "amount";
                type: "u64";
            }, {
                name: "epochCount";
                type: "u32";
            }];
            kind: "struct";
        };
    }, {
        name: "editLimitOrderLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "limitPrice";
                type: "u64";
            }, {
                name: "limitPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "reservePrice";
                type: "u64";
            }, {
                name: "reservePriceExponent";
                type: "i32";
            }, {
                name: "reserveAmount";
                type: "u64";
            }, {
                name: "reserveUsd";
                type: "u64";
            }, {
                name: "stopLossPrice";
                type: "u64";
            }, {
                name: "stopLossPriceExponent";
                type: "i32";
            }, {
                name: "takeProfitPrice";
                type: "u64";
            }, {
                name: "takeProfitPriceExponent";
                type: "i32";
            }, {
                name: "receiveCustodyUid";
                type: "u8";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "editLimitOrderParams";
        type: {
            fields: [{
                name: "orderId";
                type: "u8";
            }, {
                name: "limitPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "stopLossPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "takeProfitPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "editTriggerOrderLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "price";
                type: "u64";
            }, {
                name: "priceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "receiveCustodyUid";
                type: "u8";
            }, {
                name: "isStopLoss";
                type: "bool";
            }];
            kind: "struct";
        };
    }, {
        name: "editTriggerOrderParams";
        type: {
            fields: [{
                name: "orderId";
                type: "u8";
            }, {
                name: "triggerPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "deltaSizeAmount";
                type: "u64";
            }, {
                name: "isStopLoss";
                type: "bool";
            }];
            kind: "struct";
        };
    }, {
        name: "executeLimitOrderLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "collateralUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "limitPrice";
                type: "u64";
            }, {
                name: "limitPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "executeLimitOrderLogUsDv1";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "tradeId";
                type: "i64";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "deltaSizeAmount";
                type: "u64";
            }, {
                name: "deltaSizeUsd";
                type: "u64";
            }, {
                name: "finalSizeAmount";
                type: "u64";
            }, {
                name: "finalSizeUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "deltaCollateralAmount";
                type: "u64";
            }, {
                name: "deltaCollateralUsd";
                type: "u64";
            }, {
                name: "finalCollateralUsd";
                type: "u64";
            }, {
                name: "feeUsd";
                type: "u64";
            }, {
                name: "rebateUsd";
                type: "u64";
            }, {
                name: "discountUsd";
                type: "u64";
            }, {
                name: "entryFeeUsd";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "limitPrice";
                type: "u64";
            }, {
                name: "limitPriceExponent";
                type: "i32";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 4];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "executeLimitOrderLogV2";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "collateralUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }, {
                name: "entryFeeAmount";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "limitPrice";
                type: "u64";
            }, {
                name: "limitPriceExponent";
                type: "i32";
            }, {
                name: "feeRebateUsdAmount";
                type: "u64";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 3];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "executeLimitOrderParams";
        type: {
            fields: [{
                name: "orderId";
                type: "u8";
            }, {
                name: "privilege";
                type: {
                    defined: {
                        name: "privilege";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "executeLimitWithSwapLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "collateralUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }, {
                name: "reserveCustodyUid";
                type: "u64";
            }, {
                name: "reserveAmount";
                type: "u64";
            }, {
                name: "swapFeeAmount";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "limitPrice";
                type: "u64";
            }, {
                name: "limitPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "executeLimitWithSwapLogUsDv1";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "tradeId";
                type: "i64";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "deltaSizeAmount";
                type: "u64";
            }, {
                name: "deltaSizeUsd";
                type: "u64";
            }, {
                name: "reserveCustodyUid";
                type: "u8";
            }, {
                name: "reservePrice";
                type: "u64";
            }, {
                name: "reservePriceExponent";
                type: "i32";
            }, {
                name: "reserveAmount";
                type: "u64";
            }, {
                name: "deltaCollateralUsd";
                type: "u64";
            }, {
                name: "feeUsd";
                type: "u64";
            }, {
                name: "rebateUsd";
                type: "u64";
            }, {
                name: "discountUsd";
                type: "u64";
            }, {
                name: "entryFeeUsd";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "limitPrice";
                type: "u64";
            }, {
                name: "limitPriceExponent";
                type: "i32";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 4];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "executeLimitWithSwapLogV2";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "collateralUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }, {
                name: "entryFeeAmount";
                type: "u64";
            }, {
                name: "reserveCustodyUid";
                type: "u64";
            }, {
                name: "reserveAmount";
                type: "u64";
            }, {
                name: "swapFeeAmount";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "limitPrice";
                type: "u64";
            }, {
                name: "limitPriceExponent";
                type: "i32";
            }, {
                name: "feeRebateAmount";
                type: "u64";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 3];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "executeLimitWithSwapParams";
        type: {
            fields: [{
                name: "orderId";
                type: "u8";
            }, {
                name: "privilege";
                type: {
                    defined: {
                        name: "privilege";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "executeTriggerOrderLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "duration";
                type: "i64";
            }, {
                name: "exitPrice";
                type: "u64";
            }, {
                name: "exitPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "profitUsd";
                type: "u64";
            }, {
                name: "lossUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }, {
                name: "feeRebateAmount";
                type: "u64";
            }, {
                name: "exitFeeAmount";
                type: "u64";
            }, {
                name: "isStopLoss";
                type: "bool";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "triggerPrice";
                type: "u64";
            }, {
                name: "triggerPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "executeTriggerOrderLogUsDv1";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "tradeId";
                type: "i64";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "duration";
                type: "i64";
            }, {
                name: "exitPrice";
                type: "u64";
            }, {
                name: "exitPriceExponent";
                type: "i32";
            }, {
                name: "deltaSizeAmount";
                type: "u64";
            }, {
                name: "deltaSizeUsd";
                type: "u64";
            }, {
                name: "finalSizeAmount";
                type: "u64";
            }, {
                name: "finalSizeUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "deltaCollateralUsd";
                type: "u64";
            }, {
                name: "profitUsd";
                type: "u64";
            }, {
                name: "lossUsd";
                type: "u64";
            }, {
                name: "feeUsd";
                type: "u64";
            }, {
                name: "rebateUsd";
                type: "u64";
            }, {
                name: "discountUsd";
                type: "u64";
            }, {
                name: "exitFeeUsd";
                type: "u64";
            }, {
                name: "outAmount";
                type: "u64";
            }, {
                name: "isStopLoss";
                type: "bool";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "triggerPrice";
                type: "u64";
            }, {
                name: "triggerPriceExponent";
                type: "i32";
            }, {
                name: "priceImpactUsd";
                type: "u64";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 3];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "executeTriggerOrderParams";
        type: {
            fields: [{
                name: "isStopLoss";
                type: "bool";
            }, {
                name: "orderId";
                type: "u8";
            }, {
                name: "privilege";
                type: {
                    defined: {
                        name: "privilege";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "executeTriggerWithSwapLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "duration";
                type: "i64";
            }, {
                name: "exitPrice";
                type: "u64";
            }, {
                name: "exitPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "profitUsd";
                type: "u64";
            }, {
                name: "lossUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }, {
                name: "feeRebateAmount";
                type: "u64";
            }, {
                name: "exitFeeAmount";
                type: "u64";
            }, {
                name: "isStopLoss";
                type: "bool";
            }, {
                name: "receiveCustodyUid";
                type: "u64";
            }, {
                name: "receiveAmount";
                type: "u64";
            }, {
                name: "swapFeeAmount";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "triggerPrice";
                type: "u64";
            }, {
                name: "triggerPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "executeTriggerWithSwapLogUsDv1";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "tradeId";
                type: "i64";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "duration";
                type: "i64";
            }, {
                name: "exitPrice";
                type: "u64";
            }, {
                name: "exitPriceExponent";
                type: "i32";
            }, {
                name: "deltaSizeAmount";
                type: "u64";
            }, {
                name: "deltaSizeUsd";
                type: "u64";
            }, {
                name: "finalSizeAmount";
                type: "u64";
            }, {
                name: "finalSizeUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "deltaCollateralUsd";
                type: "u64";
            }, {
                name: "profitUsd";
                type: "u64";
            }, {
                name: "lossUsd";
                type: "u64";
            }, {
                name: "feeUsd";
                type: "u64";
            }, {
                name: "rebateUsd";
                type: "u64";
            }, {
                name: "discountUsd";
                type: "u64";
            }, {
                name: "exitFeeUsd";
                type: "u64";
            }, {
                name: "outCustodyUid";
                type: "u8";
            }, {
                name: "outAmount";
                type: "u64";
            }, {
                name: "isStopLoss";
                type: "bool";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "triggerPrice";
                type: "u64";
            }, {
                name: "triggerPriceExponent";
                type: "i32";
            }, {
                name: "priceImpactUsd";
                type: "u64";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 3];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "executeTriggerWithSwapParams";
        type: {
            fields: [{
                name: "isStopLoss";
                type: "bool";
            }, {
                name: "orderId";
                type: "u8";
            }, {
                name: "privilege";
                type: {
                    defined: {
                        name: "privilege";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "fees";
        type: {
            fields: [{
                name: "mode";
                type: {
                    defined: {
                        name: "feesMode";
                    };
                };
            }, {
                name: "swapIn";
                type: {
                    defined: {
                        name: "ratioFees";
                    };
                };
            }, {
                name: "swapOut";
                type: {
                    defined: {
                        name: "ratioFees";
                    };
                };
            }, {
                name: "stableSwapIn";
                type: {
                    defined: {
                        name: "ratioFees";
                    };
                };
            }, {
                name: "stableSwapOut";
                type: {
                    defined: {
                        name: "ratioFees";
                    };
                };
            }, {
                name: "addLiquidity";
                type: {
                    defined: {
                        name: "ratioFees";
                    };
                };
            }, {
                name: "removeLiquidity";
                type: {
                    defined: {
                        name: "ratioFees";
                    };
                };
            }, {
                name: "openPosition";
                type: "u64";
            }, {
                name: "closePosition";
                type: "u64";
            }, {
                name: "volatility";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "feesMode";
        type: {
            kind: "enum";
            variants: [{
                name: "fixed";
            }, {
                name: "linear";
            }];
        };
    }, {
        name: "feesStats";
        type: {
            fields: [{
                name: "accrued";
                type: "u128";
            }, {
                name: "distributed";
                type: "u128";
            }, {
                name: "paid";
                type: "u128";
            }, {
                name: "rewardPerLpStaked";
                type: "u64";
            }, {
                name: "protocolFee";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "flpStake";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "pool";
                type: "pubkey";
            }, {
                name: "stakeStats";
                type: {
                    defined: {
                        name: "stakeStats";
                    };
                };
            }, {
                name: "rewardSnapshot";
                type: "u128";
            }, {
                name: "unclaimedRewards";
                type: "u64";
            }, {
                name: "feeShareBps";
                type: "u64";
            }, {
                name: "isInitialized";
                type: "u8";
            }, {
                name: "bump";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        name: "forceSettleOrderLog";
        type: {
            fields: [{
                name: "admin";
                type: "pubkey";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "orderId";
                type: "u8";
            }, {
                name: "limitPrice";
                type: "u64";
            }, {
                name: "limitPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "reserveAmount";
                type: "u64";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 3];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "forceSettleOrderParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "forceSettlePositionLog";
        type: {
            fields: [{
                name: "admin";
                type: "pubkey";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "tradeId";
                type: "i64";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "duration";
                type: "i64";
            }, {
                name: "exitPrice";
                type: "u64";
            }, {
                name: "exitPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "collateralUsd";
                type: "u64";
            }, {
                name: "profitUsd";
                type: "u64";
            }, {
                name: "lossUsd";
                type: "u64";
            }, {
                name: "feeUsd";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "priceImpactUsd";
                type: "u64";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 3];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "forceSettlePositionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "forceSettleTriggerOrderLog";
        type: {
            fields: [{
                name: "admin";
                type: "pubkey";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "triggerOrdersCancelled";
                type: "u8";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 4];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "getAddCollateralQuoteParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "GetAddCompoundingLiquidityAmountAndFeeParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "getAddLiquidityAmountAndFeeParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "getAssetsUnderManagementParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "getClosePositionQuoteParams";
        type: {
            fields: [{
                name: "sizeDeltaUsd";
                type: "u64";
            }, {
                name: "privilege";
                type: {
                    defined: {
                        name: "privilege";
                    };
                };
            }, {
                name: "discountIndex";
                type: {
                    option: "u8";
                };
            }, {
                name: "triggerPrice";
                type: {
                    option: {
                        defined: {
                            name: "oraclePrice";
                        };
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "getCompoundingTokenDataParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "getCompoundingTokenPriceParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "getEntryPriceAndFeeParams";
        type: {
            fields: [{
                name: "collateral";
                type: "u64";
            }, {
                name: "size";
                type: "u64";
            }, {
                name: "side";
                type: {
                    defined: {
                        name: "side";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "getExitPriceAndFeeParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "getLiquidationPriceParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "getLiquidationStateParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "getLpTokenPriceParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "getOpenPositionQuoteParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "leverage";
                type: "u64";
            }, {
                name: "privilege";
                type: {
                    defined: {
                        name: "privilege";
                    };
                };
            }, {
                name: "discountIndex";
                type: {
                    option: "u8";
                };
            }, {
                name: "limitPrice";
                type: {
                    option: {
                        defined: {
                            name: "oraclePrice";
                        };
                    };
                };
            }, {
                name: "takeProfitPrice";
                type: {
                    option: {
                        defined: {
                            name: "oraclePrice";
                        };
                    };
                };
            }, {
                name: "stopLossPrice";
                type: {
                    option: {
                        defined: {
                            name: "oraclePrice";
                        };
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "getOraclePriceParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "getPnlParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "getPositionDataParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "getRemoveCollateralQuoteParams";
        type: {
            fields: [{
                name: "collateralDeltaUsd";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "getRemoveCompoundingLiquidityAmountAndFeeParams";
        type: {
            fields: [{
                name: "compoundingAmountIn";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "getRemoveLiquidityAmountAndFeeParams";
        type: {
            fields: [{
                name: "lpAmountIn";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "getSwapAmountAndFeesParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "increaseSizeLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "priceUsd";
                type: "u64";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "increaseSizeLogUsDv1";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "tradeId";
                type: "i64";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "deltaSizeAmount";
                type: "u64";
            }, {
                name: "deltaSizeUsd";
                type: "u64";
            }, {
                name: "finalSizeAmount";
                type: "u64";
            }, {
                name: "finalSizeUsd";
                type: "u64";
            }, {
                name: "finalCollateralUsd";
                type: "u64";
            }, {
                name: "feeUsd";
                type: "u64";
            }, {
                name: "rebateUsd";
                type: "u64";
            }, {
                name: "discountUsd";
                type: "u64";
            }, {
                name: "entryFeeUsd";
                type: "u64";
            }, {
                name: "isDegen";
                type: "bool";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 4];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "increaseSizeLogV2";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "price";
                type: "u64";
            }, {
                name: "priceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "increaseSizeLogV3";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "deltaSizeAmount";
                type: "u64";
            }, {
                name: "deltaSizeUsd";
                type: "u64";
            }, {
                name: "finalSizeAmount";
                type: "u64";
            }, {
                name: "finalSizeUsd";
                type: "u64";
            }, {
                name: "finalCollateralAmount";
                type: "u64";
            }, {
                name: "finalCollateralUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }, {
                name: "feeRebateAmount";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "increaseSizeLogV4";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "deltaSizeAmount";
                type: "u64";
            }, {
                name: "deltaSizeUsd";
                type: "u64";
            }, {
                name: "finalSizeAmount";
                type: "u64";
            }, {
                name: "finalSizeUsd";
                type: "u64";
            }, {
                name: "finalCollateralAmount";
                type: "u64";
            }, {
                name: "finalCollateralUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }, {
                name: "feeRebateAmount";
                type: "u64";
            }, {
                name: "entryFeeAmount";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "isDegen";
                type: "bool";
            }, {
                name: "padding";
                type: {
                    array: ["u8", 31];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "increaseSizeParams";
        type: {
            fields: [{
                name: "priceWithSlippage";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "sizeDelta";
                type: "u64";
            }, {
                name: "privilege";
                type: {
                    defined: {
                        name: "privilege";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "initCompoundingParams";
        type: {
            fields: [{
                name: "feeShareBps";
                type: "u64";
            }, {
                name: "metadataTitle";
                type: "string";
            }, {
                name: "metadataSymbol";
                type: "string";
            }, {
                name: "metadataUri";
                type: "string";
            }];
            kind: "struct";
        };
    }, {
        name: "initParams";
        type: {
            fields: [{
                name: "minSignatures";
                type: "u8";
            }, {
                name: "permissions";
                type: {
                    defined: {
                        name: "permissions";
                    };
                };
            }, {
                name: "voltageMultiplier";
                type: {
                    defined: {
                        name: "voltageMultiplier";
                    };
                };
            }, {
                name: "tradingDiscount";
                type: {
                    array: ["u64", 6];
                };
            }, {
                name: "referralRebate";
                type: {
                    array: ["u64", 6];
                };
            }, {
                name: "defaultRebate";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "initRebateVaultParams";
        type: {
            fields: [{
                name: "allowRebatePayout";
                type: "bool";
            }];
            kind: "struct";
        };
    }, {
        name: "initRevenueTokenAccountParams";
        type: {
            fields: [{
                name: "feeShareBps";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "initStakingParams";
        type: {
            fields: [{
                name: "stakingFeeShareBps";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "initTokenVaultParams";
        type: {
            fields: [{
                name: "tokenPermissions";
                type: {
                    defined: {
                        name: "tokenPermissions";
                    };
                };
            }, {
                name: "amount";
                type: "u64";
            }, {
                name: "withdrawTimeLimit";
                type: "i64";
            }, {
                name: "withdrawInstantFee";
                type: "u64";
            }, {
                name: "stakeLevel";
                type: {
                    array: ["u64", 6];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "internalEmaPrice";
        type: {
            fields: [{
                name: "emaPrice";
                type: "u64";
            }, {
                name: "publishTime";
                type: "i64";
            }];
            kind: "struct";
        };
    }, {
        name: "internalPrice";
        type: {
            fields: [{
                name: "price";
                type: "u64";
            }, {
                name: "conf";
                type: "u64";
            }, {
                name: "publishTime";
                type: "i64";
            }];
            kind: "struct";
        };
    }, {
        name: "limitOrder";
        type: {
            fields: [{
                name: "limitPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "reserveAmount";
                type: "u64";
            }, {
                name: "reserveCustodyUid";
                type: "u8";
            }, {
                name: "receiveCustodyUid";
                type: "u8";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "stopLossPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "takeProfitPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "liquidateLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "priceUsd";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "liquidateLogUsDv1";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "tradeId";
                type: "i64";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "duration";
                type: "i64";
            }, {
                name: "exitPrice";
                type: "u64";
            }, {
                name: "exitPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "collateralUsd";
                type: "u64";
            }, {
                name: "profitUsd";
                type: "u64";
            }, {
                name: "lossUsd";
                type: "u64";
            }, {
                name: "feeUsd";
                type: "u64";
            }, {
                name: "penaltyUsd";
                type: "u64";
            }, {
                name: "exitFeeUsd";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 4];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "liquidateLogV2";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "price";
                type: "u64";
            }, {
                name: "priceExponent";
                type: "i32";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "liquidateLogV3";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "duration";
                type: "i64";
            }, {
                name: "exitPrice";
                type: "u64";
            }, {
                name: "exitPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "profitUsd";
                type: "u64";
            }, {
                name: "lossUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }, {
                name: "feeRebateAmount";
                type: "u64";
            }, {
                name: "exitFeeAmount";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 4];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "liquidateParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "market";
        type: {
            fields: [{
                name: "pool";
                type: "pubkey";
            }, {
                name: "targetCustody";
                type: "pubkey";
            }, {
                name: "collateralCustody";
                type: "pubkey";
            }, {
                name: "side";
                type: {
                    defined: {
                        name: "side";
                    };
                };
            }, {
                name: "correlation";
                type: "bool";
            }, {
                name: "maxPayoffBps";
                type: "u64";
            }, {
                name: "permissions";
                type: {
                    defined: {
                        name: "marketPermissions";
                    };
                };
            }, {
                name: "degenExposureUsd";
                type: "u64";
            }, {
                name: "collectivePosition";
                type: {
                    defined: {
                        name: "positionStats";
                    };
                };
            }, {
                name: "targetCustodyUid";
                type: "u8";
            }, {
                name: "padding";
                type: {
                    array: ["u8", 7];
                };
            }, {
                name: "collateralCustodyUid";
                type: "u8";
            }, {
                name: "padding2";
                type: {
                    array: ["u8", 7];
                };
            }, {
                name: "bump";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        name: "marketPermissions";
        type: {
            fields: [{
                name: "allowOpenPosition";
                type: "bool";
            }, {
                name: "allowClosePosition";
                type: "bool";
            }, {
                name: "allowCollateralWithdrawal";
                type: "bool";
            }, {
                name: "allowSizeChange";
                type: "bool";
            }];
            kind: "struct";
        };
    }, {
        name: "migrateFlpLog";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "amount";
                type: "u64";
            }, {
                name: "lpAmountOut";
                type: "u64";
            }, {
                name: "rewardLpAmount";
                type: "u64";
            }, {
                name: "rewardPerLpStaked";
                type: "u64";
            }, {
                name: "lpPriceUsd";
                type: "u64";
            }, {
                name: "compoundingPriceUsd";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "migrateFlpParams";
        type: {
            fields: [{
                name: "compoundingTokenAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "migrateMarketOrderParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "migrateMarketPositionLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "position";
                type: "pubkey";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "collateralUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "migrateMarketPositionParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "migratePositionLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "position";
                type: "pubkey";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "collateralUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "migrateStakeLog";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "amount";
                type: "u64";
            }, {
                name: "compoundingAmountOut";
                type: "u64";
            }, {
                name: "poolLpAmount";
                type: "u64";
            }, {
                name: "rewardPerLpStaked";
                type: "u64";
            }, {
                name: "lpPriceUsd";
                type: "u64";
            }, {
                name: "compoundingPriceUsd";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "migrateStakeParams";
        type: {
            fields: [{
                name: "amount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "moveProtocolFeesLog";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "revenueAmount";
                type: "u64";
            }, {
                name: "protocolFee";
                type: "u64";
            }, {
                name: "revenueFeeShare";
                type: "u64";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 2];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "multisig";
        repr: {
            kind: "c";
            packed: true;
        };
        serialization: "bytemuck";
        type: {
            fields: [{
                name: "numSigners";
                type: "u8";
            }, {
                name: "numSigned";
                type: "u8";
            }, {
                name: "minSignatures";
                type: "u8";
            }, {
                name: "instructionAccountsLen";
                type: "u8";
            }, {
                name: "instructionDataLen";
                type: "u16";
            }, {
                name: "instructionHash";
                type: "u64";
            }, {
                name: "signers";
                type: {
                    array: ["pubkey", 6];
                };
            }, {
                name: "signed";
                type: {
                    array: ["u8", 6];
                };
            }, {
                name: "bump";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        name: "newPositionPricesAndFee";
        type: {
            fields: [{
                name: "entryPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "feeUsd";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "openPositionLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "priceUsd";
                type: "u64";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "collateralUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "openPositionLogUsDv1";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "tradeId";
                type: "i64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "inputAmount";
                type: "u64";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralUsd";
                type: "u64";
            }, {
                name: "feeUsd";
                type: "u64";
            }, {
                name: "rebateUsd";
                type: "u64";
            }, {
                name: "discountUsd";
                type: "u64";
            }, {
                name: "entryFeeUsd";
                type: "u64";
            }, {
                name: "isDegen";
                type: "bool";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 4];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "openPositionLogV2";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "price";
                type: "u64";
            }, {
                name: "priceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "collateralUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "openPositionLogV3";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "collateralUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }, {
                name: "feeRebateAmount";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "openPositionLogV4";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "collateralUsd";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }, {
                name: "feeRebateAmount";
                type: "u64";
            }, {
                name: "entryFeeAmount";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "isDegen";
                type: "bool";
            }, {
                name: "padding";
                type: {
                    array: ["u8", 31];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "openPositionParams";
        type: {
            fields: [{
                name: "priceWithSlippage";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "privilege";
                type: {
                    defined: {
                        name: "privilege";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "openPositionQuoteData";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "swapRequired";
                type: "bool";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "collateralUsd";
                type: "u64";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "entryPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "liquidationPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "entryFeeUsd";
                type: "u64";
            }, {
                name: "entryFeeBeforeDiscountUsd";
                type: "u64";
            }, {
                name: "volatilityFeeUsd";
                type: "u64";
            }, {
                name: "totalFeeUsd";
                type: "u64";
            }, {
                name: "feeRate";
                type: "u64";
            }, {
                name: "leverage";
                type: "u64";
            }, {
                name: "availableLiquidityUsd";
                type: "u64";
            }, {
                name: "borrowFeeRate";
                type: "u64";
            }, {
                name: "hasExistingPosition";
                type: "bool";
            }, {
                name: "oldLeverage";
                type: "u64";
            }, {
                name: "oldEntryPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "oldLiquidationPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "finalLeverage";
                type: "u64";
            }, {
                name: "finalEntryPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "finalLiquidationPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "takeProfitQuote";
                type: {
                    defined: {
                        name: "triggerQuote";
                    };
                };
            }, {
                name: "stopLossQuote";
                type: {
                    defined: {
                        name: "triggerQuote";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "oracleParams";
        type: {
            fields: [{
                name: "intOracleAccount";
                type: "pubkey";
            }, {
                name: "extOracleAccount";
                type: "pubkey";
            }, {
                name: "oracleType";
                type: {
                    defined: {
                        name: "oracleType";
                    };
                };
            }, {
                name: "maxDivergenceBps";
                type: "u64";
            }, {
                name: "maxConfBps";
                type: "u64";
            }, {
                name: "maxPriceAgeSec";
                type: "u32";
            }, {
                name: "maxBackupAgeSec";
                type: "u32";
            }];
            kind: "struct";
        };
    }, {
        name: "oraclePrice";
        type: {
            fields: [{
                name: "price";
                type: "u64";
            }, {
                name: "exponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "oracleType";
        type: {
            kind: "enum";
            variants: [{
                name: "none";
            }, {
                name: "custom";
            }, {
                name: "pyth";
            }];
        };
    }, {
        name: "order";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "limitOrders";
                type: {
                    array: [{
                        defined: {
                            name: "limitOrder";
                        };
                    }, 5];
                };
            }, {
                name: "takeProfitOrders";
                type: {
                    array: [{
                        defined: {
                            name: "triggerOrder";
                        };
                    }, 5];
                };
            }, {
                name: "stopLossOrders";
                type: {
                    array: [{
                        defined: {
                            name: "triggerOrder";
                        };
                    }, 5];
                };
            }, {
                name: "isInitialised";
                type: "bool";
            }, {
                name: "isActive";
                type: "bool";
            }, {
                name: "openSl";
                type: "u8";
            }, {
                name: "openTp";
                type: "u8";
            }, {
                name: "inactiveSl";
                type: "u8";
            }, {
                name: "inactiveTp";
                type: "u8";
            }, {
                name: "activeOrders";
                type: "u8";
            }, {
                name: "bump";
                type: "u8";
            }, {
                name: "referenceTimestamp";
                type: "i64";
            }, {
                name: "executionCount";
                type: "u64";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 6];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "permissions";
        type: {
            fields: [{
                name: "allowSwap";
                type: "bool";
            }, {
                name: "allowAddLiquidity";
                type: "bool";
            }, {
                name: "allowRemoveLiquidity";
                type: "bool";
            }, {
                name: "allowOpenPosition";
                type: "bool";
            }, {
                name: "allowClosePosition";
                type: "bool";
            }, {
                name: "allowCollateralWithdrawal";
                type: "bool";
            }, {
                name: "allowSizeChange";
                type: "bool";
            }, {
                name: "allowLiquidation";
                type: "bool";
            }, {
                name: "allowLpStaking";
                type: "bool";
            }, {
                name: "allowFeeDistribution";
                type: "bool";
            }, {
                name: "allowUngatedTrading";
                type: "bool";
            }, {
                name: "allowFeeDiscounts";
                type: "bool";
            }, {
                name: "allowReferralRebates";
                type: "bool";
            }];
            kind: "struct";
        };
    }, {
        name: "perpetuals";
        type: {
            fields: [{
                name: "permissions";
                type: {
                    defined: {
                        name: "permissions";
                    };
                };
            }, {
                name: "pools";
                type: {
                    vec: "pubkey";
                };
            }, {
                name: "collections";
                type: {
                    vec: "pubkey";
                };
            }, {
                name: "voltageMultiplier";
                type: {
                    defined: {
                        name: "voltageMultiplier";
                    };
                };
            }, {
                name: "tradingDiscount";
                type: {
                    array: ["u64", 6];
                };
            }, {
                name: "referralRebate";
                type: {
                    array: ["u64", 6];
                };
            }, {
                name: "defaultRebate";
                type: "u64";
            }, {
                name: "inceptionTime";
                type: "i64";
            }, {
                name: "transferAuthorityBump";
                type: "u8";
            }, {
                name: "perpetualsBump";
                type: "u8";
            }, {
                name: "tradeLimit";
                type: "u8";
            }, {
                name: "triggerOrderLimit";
                type: "u8";
            }, {
                name: "rebateLimitUsd";
                type: "u32";
            }];
            kind: "struct";
        };
    }, {
        name: "placeLimitOrderLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "limitPrice";
                type: "u64";
            }, {
                name: "limitPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "reservePrice";
                type: "u64";
            }, {
                name: "reservePriceExponent";
                type: "i32";
            }, {
                name: "reserveAmount";
                type: "u64";
            }, {
                name: "reserveUsd";
                type: "u64";
            }, {
                name: "stopLossPrice";
                type: "u64";
            }, {
                name: "stopLossPriceExponent";
                type: "i32";
            }, {
                name: "takeProfitPrice";
                type: "u64";
            }, {
                name: "takeProfitPriceExponent";
                type: "i32";
            }, {
                name: "receiveCustodyUid";
                type: "u8";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "placeLimitOrderParams";
        type: {
            fields: [{
                name: "limitPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "reserveAmount";
                type: "u64";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "stopLossPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "takeProfitPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "placeTriggerOrderLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "price";
                type: "u64";
            }, {
                name: "priceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "receiveCustodyUid";
                type: "u8";
            }, {
                name: "isStopLoss";
                type: "bool";
            }];
            kind: "struct";
        };
    }, {
        name: "placeTriggerOrderParams";
        type: {
            fields: [{
                name: "triggerPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "deltaSizeAmount";
                type: "u64";
            }, {
                name: "isStopLoss";
                type: "bool";
            }];
            kind: "struct";
        };
    }, {
        name: "pool";
        type: {
            fields: [{
                name: "name";
                type: "string";
            }, {
                name: "permissions";
                type: {
                    defined: {
                        name: "permissions";
                    };
                };
            }, {
                name: "inceptionTime";
                type: "i64";
            }, {
                name: "lpMint";
                type: "pubkey";
            }, {
                name: "oracleAuthority";
                type: "pubkey";
            }, {
                name: "stakedLpVault";
                type: "pubkey";
            }, {
                name: "rewardCustody";
                type: "pubkey";
            }, {
                name: "custodies";
                type: {
                    vec: "pubkey";
                };
            }, {
                name: "ratios";
                type: {
                    vec: {
                        defined: {
                            name: "tokenRatios";
                        };
                    };
                };
            }, {
                name: "markets";
                type: {
                    vec: "pubkey";
                };
            }, {
                name: "maxAumUsd";
                type: "u64";
            }, {
                name: "buffer";
                type: "u64";
            }, {
                name: "rawAumUsd";
                type: "u64";
            }, {
                name: "equityUsd";
                type: "u64";
            }, {
                name: "totalStaked";
                type: {
                    defined: {
                        name: "stakeStats";
                    };
                };
            }, {
                name: "stakingFeeShareBps";
                type: "u64";
            }, {
                name: "bump";
                type: "u8";
            }, {
                name: "lpMintBump";
                type: "u8";
            }, {
                name: "stakedLpVaultBump";
                type: "u8";
            }, {
                name: "vpVolumeFactor";
                type: "u8";
            }, {
                name: "uniqueCustodyCount";
                type: "u8";
            }, {
                name: "padding";
                type: {
                    array: ["u8", 3];
                };
            }, {
                name: "stakingFeeBoostBps";
                type: {
                    array: ["u64", 6];
                };
            }, {
                name: "compoundingMint";
                type: "pubkey";
            }, {
                name: "compoundingLpVault";
                type: "pubkey";
            }, {
                name: "compoundingStats";
                type: {
                    defined: {
                        name: "compoundingStats";
                    };
                };
            }, {
                name: "compoundingMintBump";
                type: "u8";
            }, {
                name: "compoundingLpVaultBump";
                type: "u8";
            }, {
                name: "minLpPriceUsd";
                type: "u64";
            }, {
                name: "maxLpPriceUsd";
                type: "u64";
            }, {
                name: "lpPrice";
                type: "u64";
            }, {
                name: "compoundingLpPrice";
                type: "u64";
            }, {
                name: "lastUpdatedTimestamp";
                type: "i64";
            }, {
                name: "feesObligationUsd";
                type: "u64";
            }, {
                name: "rebateObligationUsd";
                type: "u64";
            }, {
                name: "thresholdUsd";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "position";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "delegate";
                type: "pubkey";
            }, {
                name: "openTime";
                type: "i64";
            }, {
                name: "updateTime";
                type: "i64";
            }, {
                name: "entryPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "lockedAmount";
                type: "u64";
            }, {
                name: "lockedUsd";
                type: "u64";
            }, {
                name: "priceImpactUsd";
                type: "u64";
            }, {
                name: "collateralUsd";
                type: "u64";
            }, {
                name: "unsettledValueUsd";
                type: "u64";
            }, {
                name: "unsettledFeesUsd";
                type: "u64";
            }, {
                name: "cumulativeLockFeeSnapshot";
                type: "u128";
            }, {
                name: "degenSizeUsd";
                type: "u64";
            }, {
                name: "referencePrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "isActive";
                type: "bool";
            }, {
                name: "buffer";
                type: {
                    array: ["u8", 2];
                };
            }, {
                name: "priceImpactSet";
                type: "u8";
            }, {
                name: "sizeDecimals";
                type: "u8";
            }, {
                name: "lockedDecimals";
                type: "u8";
            }, {
                name: "collateralDecimals";
                type: "u8";
            }, {
                name: "bump";
                type: "u8";
            }, {
                name: "padding";
                type: {
                    array: ["u8", 8];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "positionData";
        type: {
            fields: [{
                name: "entryOraclePrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "collateralUsd";
                type: "u64";
            }, {
                name: "pnl";
                type: {
                    defined: {
                        name: "positionPnl";
                    };
                };
            }, {
                name: "pnlWithFeeUsd";
                type: "i64";
            }, {
                name: "pnlPercentageWithFee";
                type: "i64";
            }, {
                name: "pnlWithoutFeeUsd";
                type: "i64";
            }, {
                name: "pnlPercentageWithoutFee";
                type: "i64";
            }, {
                name: "leverage";
                type: "u64";
            }, {
                name: "liquidationPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "positionPnl";
        type: {
            fields: [{
                name: "profitUsd";
                type: "u64";
            }, {
                name: "lossUsd";
                type: "u64";
            }, {
                name: "exitFeeUsd";
                type: "u64";
            }, {
                name: "borrowFeeUsd";
                type: "u64";
            }, {
                name: "exitFeeAmount";
                type: "u64";
            }, {
                name: "borrowFeeAmount";
                type: "u64";
            }, {
                name: "priceImpactUsd";
                type: "u64";
            }, {
                name: "priceImpactSet";
                type: "bool";
            }];
            kind: "struct";
        };
    }, {
        name: "positionStats";
        type: {
            fields: [{
                name: "openPositions";
                type: "u64";
            }, {
                name: "updateTime";
                type: "i64";
            }, {
                name: "averageEntryPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "lockedAmount";
                type: "u64";
            }, {
                name: "lockedUsd";
                type: "u64";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "collateralLiabilityUsd";
                type: "u64";
            }, {
                name: "unsettledFeeUsd";
                type: "u64";
            }, {
                name: "cumulativeLockFeeSnapshot";
                type: "u128";
            }, {
                name: "sizeDecimals";
                type: "u8";
            }, {
                name: "lockedDecimals";
                type: "u8";
            }, {
                name: "collateralDecimals";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        name: "priceAndFee";
        type: {
            fields: [{
                name: "price";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "feeUsd";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "pricingParams";
        type: {
            fields: [{
                name: "tradeSpreadMin";
                type: "u64";
            }, {
                name: "tradeSpreadMax";
                type: "u64";
            }, {
                name: "swapSpread";
                type: "u64";
            }, {
                name: "minInitLeverage";
                type: "u32";
            }, {
                name: "minInitDegenLeverage";
                type: "u32";
            }, {
                name: "maxInitLeverage";
                type: "u32";
            }, {
                name: "maxInitDegenLeverage";
                type: "u32";
            }, {
                name: "maxLeverage";
                type: "u32";
            }, {
                name: "maxDegenLeverage";
                type: "u32";
            }, {
                name: "minCollateralUsd";
                type: "u32";
            }, {
                name: "minDegenCollateralUsd";
                type: "u32";
            }, {
                name: "delaySeconds";
                type: "i64";
            }, {
                name: "maxUtilization";
                type: "u32";
            }, {
                name: "degenPositionFactor";
                type: "u16";
            }, {
                name: "degenExposureFactor";
                type: "u16";
            }, {
                name: "maxPositionSizeUsd";
                type: "u64";
            }, {
                name: "maxExposureUsd";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "privilege";
        type: {
            kind: "enum";
            variants: [{
                name: "none";
            }, {
                name: "stake";
            }, {
                name: "referral";
            }];
        };
    }, {
        name: "profitAndLoss";
        type: {
            fields: [{
                name: "profit";
                type: "u64";
            }, {
                name: "loss";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "protocolVault";
        type: {
            fields: [{
                name: "key";
                type: "pubkey";
            }, {
                name: "tokenAccount";
                type: "pubkey";
            }, {
                name: "isInitialized";
                type: "bool";
            }, {
                name: "bump";
                type: "u8";
            }, {
                name: "tokenAccountBump";
                type: "u8";
            }, {
                name: "feeShareBps";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 4];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "ratioFees";
        type: {
            fields: [{
                name: "minFee";
                type: "u64";
            }, {
                name: "targetFee";
                type: "u64";
            }, {
                name: "maxFee";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "rebateVault";
        type: {
            fields: [{
                name: "key";
                type: "pubkey";
            }, {
                name: "tokenAccount";
                type: "pubkey";
            }, {
                name: "isInitialized";
                type: "bool";
            }, {
                name: "allowPayout";
                type: "bool";
            }, {
                name: "bump";
                type: "u8";
            }, {
                name: "tokenAccountBump";
                type: "u8";
            }, {
                name: "availableUsd";
                type: "u64";
            }, {
                name: "availableAmount";
                type: "u64";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 4];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "referral";
        type: {
            fields: [{
                name: "isInitialized";
                type: "bool";
            }, {
                name: "bump";
                type: "u8";
            }, {
                name: "refererTokenStakeAccount";
                type: "pubkey";
            }, {
                name: "refererBoosterAccount";
                type: "pubkey";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 4];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "referralRebateLog";
        type: {
            fields: [{
                name: "tokenStake";
                type: "pubkey";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "rebateUsd";
                type: "u64";
            }, {
                name: "volumeUsd";
                type: "u64";
            }, {
                name: "voltagePointsType";
                type: "u8";
            }, {
                name: "blockedRebateUsd";
                type: "u64";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 3];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "refreshOrdersStatusParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "refreshPositionsStatusParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "refreshStakeLog";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "rewardPerLpStaked";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "refreshStakeParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "refreshStakeUserLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "poolName";
                type: "string";
            }, {
                name: "rewardAmount";
                type: "u64";
            }, {
                name: "rewardMint";
                type: "pubkey";
            }, {
                name: "rewardShare";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "refreshTokenStakeLog";
        type: {
            fields: [{
                name: "revenuePerFafStaked";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "refreshTokenStakeParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "refreshTokenStakeUserLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "revenueAmount";
                type: "u64";
            }, {
                name: "newlyUnlockedAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "refreshTokenStakeUserLogV2";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "tokenStake";
                type: "pubkey";
            }, {
                name: "revenueAmount";
                type: "u64";
            }, {
                name: "newlyUnlockedAmount";
                type: "u64";
            }, {
                name: "currentTimestamp";
                type: "i64";
            }, {
                name: "lastUpdatedTimestamp";
                type: "i64";
            }, {
                name: "level";
                type: "u8";
            }, {
                name: "activeStakeAmount";
                type: "u64";
            }, {
                name: "levelEligibleAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "reimburseParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "removeCollateralAndSwapLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "deltaCollateralAmount";
                type: "u64";
            }, {
                name: "finalCollateralAmount";
                type: "u64";
            }, {
                name: "finalCollateralUsd";
                type: "u64";
            }, {
                name: "finalSizeAmount";
                type: "u64";
            }, {
                name: "finalSizeUsd";
                type: "u64";
            }, {
                name: "receiveCustodyUid";
                type: "u64";
            }, {
                name: "receiveAmount";
                type: "u64";
            }, {
                name: "swapFeeAmount";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "removeCollateralAndSwapLogUsDv1";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "tradeId";
                type: "i64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "deltaCollateralUsd";
                type: "u64";
            }, {
                name: "finalCollateralUsd";
                type: "u64";
            }, {
                name: "finalSizeAmount";
                type: "u64";
            }, {
                name: "finalSizeUsd";
                type: "u64";
            }, {
                name: "receiveCustodyUid";
                type: "u8";
            }, {
                name: "receiveAmount";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 4];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "removeCollateralAndSwapParams";
        type: {
            fields: [{
                name: "collateralDeltaUsd";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "removeCollateralLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "collateralPriceUsd";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "removeCollateralLogUsDv1";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "tradeId";
                type: "i64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "deltaCollateralUsd";
                type: "u64";
            }, {
                name: "finalCollateralUsd";
                type: "u64";
            }, {
                name: "finalSizeAmount";
                type: "u64";
            }, {
                name: "finalSizeUsd";
                type: "u64";
            }, {
                name: "receiveAmount";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 4];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "removeCollateralLogV2";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "removeCollateralLogV3";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "deltaCollateralAmount";
                type: "u64";
            }, {
                name: "finalCollateralAmount";
                type: "u64";
            }, {
                name: "finalCollateralUsd";
                type: "u64";
            }, {
                name: "finalSizeAmount";
                type: "u64";
            }, {
                name: "finalSizeUsd";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "removeCollateralParams";
        type: {
            fields: [{
                name: "collateralDeltaUsd";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "removeCollateralQuoteData";
        type: {
            fields: [{
                name: "collateralDeltaUsd";
                type: "u64";
            }, {
                name: "receiveTokenAmount";
                type: "u64";
            }, {
                name: "receiveTokenAmountUsd";
                type: "u64";
            }, {
                name: "existingCollateralUsd";
                type: "u64";
            }, {
                name: "existingLeverage";
                type: "u64";
            }, {
                name: "existingLiquidationPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "newCollateralUsd";
                type: "u64";
            }, {
                name: "newLeverage";
                type: "u64";
            }, {
                name: "newLiquidationPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "maxWithdrawableUsd";
                type: "u64";
            }, {
                name: "swapRequired";
                type: "bool";
            }, {
                name: "swapPossible";
                type: "bool";
            }, {
                name: "passesMinCollateral";
                type: "bool";
            }, {
                name: "passesLeverageCheck";
                type: "bool";
            }];
            kind: "struct";
        };
    }, {
        name: "removeCompoundingLiquidityLog";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "custodyUid";
                type: "u64";
            }, {
                name: "compoundingAmountIn";
                type: "u64";
            }, {
                name: "amountOut";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }, {
                name: "rewardPerLpStaked";
                type: "u64";
            }, {
                name: "compoundingPriceUsd";
                type: "u64";
            }, {
                name: "tokenOutPrice";
                type: "u64";
            }, {
                name: "tokenOutPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "removeCompoundingLiquidityParams";
        type: {
            fields: [{
                name: "compoundingAmountIn";
                type: "u64";
            }, {
                name: "minAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "removeCustodyParams";
        type: {
            fields: [{
                name: "ratios";
                type: {
                    vec: {
                        defined: {
                            name: "tokenRatios";
                        };
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "removeLiquidityLog";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "custodyUid";
                type: "u64";
            }, {
                name: "lpAmountIn";
                type: "u64";
            }, {
                name: "amountOut";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "removeLiquidityLogV2";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "custodyUid";
                type: "u64";
            }, {
                name: "lpAmountIn";
                type: "u64";
            }, {
                name: "amountOut";
                type: "u64";
            }, {
                name: "feeAmount";
                type: "u64";
            }, {
                name: "lpPriceUsd";
                type: "u64";
            }, {
                name: "tokenOutPrice";
                type: "u64";
            }, {
                name: "tokenOutPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "removeLiquidityParams";
        type: {
            fields: [{
                name: "lpAmountIn";
                type: "u64";
            }, {
                name: "minAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "removeMarketParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "removePoolParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "renameFlpParams";
        type: {
            fields: [{
                name: "flag";
                type: "u64";
            }, {
                name: "lpTokenName";
                type: "string";
            }, {
                name: "lpTokenSymbol";
                type: "string";
            }, {
                name: "lpTokenUri";
                type: "string";
            }];
            kind: "struct";
        };
    }, {
        name: "resizeInternalOracleParams";
        type: {
            fields: [{
                name: "lazerFeedId";
                type: "u32";
            }];
            kind: "struct";
        };
    }, {
        name: "resizeTokenStakeParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "setAdminSignersParams";
        type: {
            fields: [{
                name: "minSignatures";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        name: "setCustodyConfigParams";
        type: {
            fields: [{
                name: "isVirtual";
                type: "bool";
            }, {
                name: "depegAdjustment";
                type: "bool";
            }, {
                name: "inversePrice";
                type: "bool";
            }, {
                name: "oracle";
                type: {
                    defined: {
                        name: "oracleParams";
                    };
                };
            }, {
                name: "pricing";
                type: {
                    defined: {
                        name: "pricingParams";
                    };
                };
            }, {
                name: "permissions";
                type: {
                    defined: {
                        name: "permissions";
                    };
                };
            }, {
                name: "fees";
                type: {
                    defined: {
                        name: "fees";
                    };
                };
            }, {
                name: "borrowRate";
                type: {
                    defined: {
                        name: "borrowRateParams";
                    };
                };
            }, {
                name: "ratios";
                type: {
                    vec: {
                        defined: {
                            name: "tokenRatios";
                        };
                    };
                };
            }, {
                name: "minReserveUsd";
                type: "u64";
            }, {
                name: "limitPriceBufferBps";
                type: "u64";
            }, {
                name: "token22";
                type: "bool";
            }];
            kind: "struct";
        };
    }, {
        name: "setCustodyTokenMultiplierParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "setCustomOraclePriceParams";
        type: {
            fields: [{
                name: "price";
                type: "u64";
            }, {
                name: "expo";
                type: "i32";
            }, {
                name: "conf";
                type: "u64";
            }, {
                name: "ema";
                type: "u64";
            }, {
                name: "publishTime";
                type: "i64";
            }];
            kind: "struct";
        };
    }, {
        name: "setFeeShareParams";
        type: {
            fields: [{
                name: "feeShareBps";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "setInternalCurrentPriceParams";
        type: {
            fields: [{
                name: "useCurrentTime";
                type: "u8";
            }, {
                name: "prices";
                type: {
                    vec: {
                        defined: {
                            name: "internalPrice";
                        };
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "setInternalEmaPriceParams";
        type: {
            fields: [{
                name: "prices";
                type: {
                    vec: {
                        defined: {
                            name: "internalEmaPrice";
                        };
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "setInternalLazerPriceParams";
        type: {
            fields: [{
                name: "messageData";
                type: "bytes";
            }];
            kind: "struct";
        };
    }, {
        name: "setLpTokenPriceParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "setMarketConfigParams";
        type: {
            fields: [{
                name: "maxPayoffBps";
                type: "u64";
            }, {
                name: "permissions";
                type: {
                    defined: {
                        name: "marketPermissions";
                    };
                };
            }, {
                name: "correlation";
                type: "bool";
            }];
            kind: "struct";
        };
    }, {
        name: "setPermissionsParams";
        type: {
            fields: [{
                name: "permissions";
                type: {
                    defined: {
                        name: "permissions";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "setPerpetualsConfigParams";
        type: {
            fields: [{
                name: "allowUngatedTrading";
                type: "bool";
            }, {
                name: "tradingDiscount";
                type: {
                    array: ["u64", 6];
                };
            }, {
                name: "referralRebate";
                type: {
                    array: ["u64", 6];
                };
            }, {
                name: "defaultRebate";
                type: "u64";
            }, {
                name: "voltageMultiplier";
                type: {
                    defined: {
                        name: "voltageMultiplier";
                    };
                };
            }, {
                name: "tradeLimit";
                type: "u8";
            }, {
                name: "triggerOrderLimit";
                type: "u8";
            }, {
                name: "rebateLimitUsd";
                type: "u32";
            }];
            kind: "struct";
        };
    }, {
        name: "setPoolConfigParams";
        type: {
            fields: [{
                name: "permissions";
                type: {
                    defined: {
                        name: "permissions";
                    };
                };
            }, {
                name: "oracleAuthority";
                type: "pubkey";
            }, {
                name: "maxAumUsd";
                type: "u64";
            }, {
                name: "stakingFeeShareBps";
                type: "u64";
            }, {
                name: "vpVolumeFactor";
                type: "u8";
            }, {
                name: "stakingFeeBoostBps";
                type: {
                    array: ["u64", 6];
                };
            }, {
                name: "minLpPriceUsd";
                type: "u64";
            }, {
                name: "maxLpPriceUsd";
                type: "u64";
            }, {
                name: "thresholdUsd";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "setPositionPriceImpactLog";
        type: {
            fields: [{
                name: "position";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "priceImpactUsd";
                type: "u64";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 4];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "setPositionPriceImpactParams";
        type: {
            fields: [{
                name: "priceImpactUsd";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "setProtocolFeeShareParams";
        type: {
            fields: [{
                name: "feeShareBps";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "setTestTimeParams";
        type: {
            fields: [{
                name: "time";
                type: "i64";
            }];
            kind: "struct";
        };
    }, {
        name: "setTokenRewardLog";
        type: {
            fields: [{
                name: "tokenStake";
                type: "pubkey";
            }, {
                name: "amount";
                type: "u64";
            }, {
                name: "epochCount";
                type: "u32";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 2];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "setTokenRewardParams";
        type: {
            fields: [{
                name: "amount";
                type: "u64";
            }, {
                name: "epochCount";
                type: "u32";
            }];
            kind: "struct";
        };
    }, {
        name: "setTokenStakeLevelParams";
        type: {
            fields: [{
                name: "level";
                type: "u8";
            }, {
                name: "rebateRate";
                type: "u64";
            }, {
                name: "maxRebateUsd";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "setTokenVaultConfigParams";
        type: {
            fields: [{
                name: "tokenPermissions";
                type: {
                    defined: {
                        name: "tokenPermissions";
                    };
                };
            }, {
                name: "withdrawTimeLimit";
                type: "i64";
            }, {
                name: "withdrawInstantFee";
                type: "u64";
            }, {
                name: "stakeLevel";
                type: {
                    array: ["u64", 6];
                };
            }, {
                name: "unlockPeriod";
                type: "i64";
            }];
            kind: "struct";
        };
    }, {
        name: "setWhitelistConfigParams";
        type: {
            fields: [{
                name: "isSwapFeeExempt";
                type: "bool";
            }, {
                name: "isDepositFeeExempt";
                type: "bool";
            }, {
                name: "isWithdrawalFeeExempt";
                type: "bool";
            }, {
                name: "poolAddress";
                type: "pubkey";
            }];
            kind: "struct";
        };
    }, {
        name: "settleRebatesLog";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "rebateUsd";
                type: "u64";
            }, {
                name: "rebateAmount";
                type: "u64";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 2];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "side";
        type: {
            kind: "enum";
            variants: [{
                name: "none";
            }, {
                name: "long";
            }, {
                name: "short";
            }];
        };
    }, {
        name: "stakeStats";
        type: {
            fields: [{
                name: "pendingActivation";
                type: "u64";
            }, {
                name: "activeAmount";
                type: "u64";
            }, {
                name: "pendingDeactivation";
                type: "u64";
            }, {
                name: "deactivatedAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "swapAmountAndFees";
        type: {
            fields: [{
                name: "amountOut";
                type: "u64";
            }, {
                name: "feeIn";
                type: "u64";
            }, {
                name: "feeOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "swapAndAddCollateralLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "receivingCustodyUid";
                type: "u64";
            }, {
                name: "receiveAmount";
                type: "u64";
            }, {
                name: "swapFeeAmount";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "deltaCollateralAmount";
                type: "u64";
            }, {
                name: "finalCollateralAmount";
                type: "u64";
            }, {
                name: "finalCollateralUsd";
                type: "u64";
            }, {
                name: "finalSizeAmount";
                type: "u64";
            }, {
                name: "finalSizeUsd";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "swapAndAddCollateralLogUsDv1";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "tradeId";
                type: "i64";
            }, {
                name: "inputCustodyUid";
                type: "u8";
            }, {
                name: "inputPrice";
                type: "u64";
            }, {
                name: "inputPriceExponent";
                type: "i32";
            }, {
                name: "deltaInputAmount";
                type: "u64";
            }, {
                name: "deltaCollateralUsd";
                type: "u64";
            }, {
                name: "finalCollateralUsd";
                type: "u64";
            }, {
                name: "finalSizeAmount";
                type: "u64";
            }, {
                name: "finalSizeUsd";
                type: "u64";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 4];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "swapAndAddCollateralParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "swapAndOpenLog";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "receivingCustodyUid";
                type: "u64";
            }, {
                name: "collateralCustodyUid";
                type: "u64";
            }, {
                name: "targetCustodyUid";
                type: "u64";
            }, {
                name: "amountIn";
                type: "u64";
            }, {
                name: "swapAmountOut";
                type: "u64";
            }, {
                name: "swapFeeAmount";
                type: "u64";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "collateralUsd";
                type: "u64";
            }, {
                name: "positionFeeAmount";
                type: "u64";
            }, {
                name: "feeRebateAmount";
                type: "u64";
            }, {
                name: "receivingOracleAccountTime";
                type: "i64";
            }, {
                name: "receivingOracleAccountType";
                type: "u8";
            }, {
                name: "receivingOracleAccountPrice";
                type: "u64";
            }, {
                name: "receivingOracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "collateralOracleAccountTime";
                type: "i64";
            }, {
                name: "collateralOracleAccountType";
                type: "u8";
            }, {
                name: "collateralOracleAccountPrice";
                type: "u64";
            }, {
                name: "collateralOracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "targetOracleAccountTime";
                type: "i64";
            }, {
                name: "targetOracleAccountType";
                type: "u8";
            }, {
                name: "targetOracleAccountPrice";
                type: "u64";
            }, {
                name: "targetOracleAccountPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "swapAndOpenLogUsDv1";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "tradeId";
                type: "i64";
            }, {
                name: "inputCustodyUid";
                type: "u8";
            }, {
                name: "inputPrice";
                type: "u64";
            }, {
                name: "inputPriceExponent";
                type: "i32";
            }, {
                name: "inputAmount";
                type: "u64";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralUsd";
                type: "u64";
            }, {
                name: "feeUsd";
                type: "u64";
            }, {
                name: "rebateUsd";
                type: "u64";
            }, {
                name: "discountUsd";
                type: "u64";
            }, {
                name: "entryFeeUsd";
                type: "u64";
            }, {
                name: "isDegen";
                type: "bool";
            }, {
                name: "oracleAccountTime";
                type: "i64";
            }, {
                name: "oracleAccountType";
                type: "u8";
            }, {
                name: "oracleAccountPrice";
                type: "u64";
            }, {
                name: "oracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 4];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "swapAndOpenLogV2";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "receivingCustodyUid";
                type: "u64";
            }, {
                name: "collateralCustodyUid";
                type: "u64";
            }, {
                name: "targetCustodyUid";
                type: "u64";
            }, {
                name: "amountIn";
                type: "u64";
            }, {
                name: "swapAmountOut";
                type: "u64";
            }, {
                name: "swapFeeAmount";
                type: "u64";
            }, {
                name: "market";
                type: "pubkey";
            }, {
                name: "entryPrice";
                type: "u64";
            }, {
                name: "entryPriceExponent";
                type: "i32";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "sizeUsd";
                type: "u64";
            }, {
                name: "collateralPrice";
                type: "u64";
            }, {
                name: "collateralPriceExponent";
                type: "i32";
            }, {
                name: "collateralAmount";
                type: "u64";
            }, {
                name: "collateralUsd";
                type: "u64";
            }, {
                name: "positionFeeAmount";
                type: "u64";
            }, {
                name: "feeRebateAmount";
                type: "u64";
            }, {
                name: "entryFeeAmount";
                type: "u64";
            }, {
                name: "receivingOracleAccountTime";
                type: "i64";
            }, {
                name: "receivingOracleAccountType";
                type: "u8";
            }, {
                name: "receivingOracleAccountPrice";
                type: "u64";
            }, {
                name: "receivingOracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "collateralOracleAccountTime";
                type: "i64";
            }, {
                name: "collateralOracleAccountType";
                type: "u8";
            }, {
                name: "collateralOracleAccountPrice";
                type: "u64";
            }, {
                name: "collateralOracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "targetOracleAccountTime";
                type: "i64";
            }, {
                name: "targetOracleAccountType";
                type: "u8";
            }, {
                name: "targetOracleAccountPrice";
                type: "u64";
            }, {
                name: "targetOracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "isDegen";
                type: "bool";
            }, {
                name: "padding";
                type: {
                    array: ["u8", 31];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "swapAndOpenParams";
        type: {
            fields: [{
                name: "priceWithSlippage";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "amountIn";
                type: "u64";
            }, {
                name: "sizeAmount";
                type: "u64";
            }, {
                name: "privilege";
                type: {
                    defined: {
                        name: "privilege";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "swapFeeInternalLog";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "custodyInUid";
                type: "u64";
            }, {
                name: "custodyOutUid";
                type: "u64";
            }, {
                name: "swapAmount";
                type: "u64";
            }, {
                name: "rewardCustodyAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "swapFeeInternalLogV2";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "custodyInUid";
                type: "u64";
            }, {
                name: "custodyOutUid";
                type: "u64";
            }, {
                name: "swapAmount";
                type: "u64";
            }, {
                name: "rewardCustodyAmount";
                type: "u64";
            }, {
                name: "inOracleAccountTime";
                type: "i64";
            }, {
                name: "inOracleAccountType";
                type: "u8";
            }, {
                name: "inOracleAccountPrice";
                type: "u64";
            }, {
                name: "inOracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "outOracleAccountTime";
                type: "i64";
            }, {
                name: "outOracleAccountType";
                type: "u8";
            }, {
                name: "outOracleAccountPrice";
                type: "u64";
            }, {
                name: "outOracleAccountPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "swapFeeInternalLogV3";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "feeAmount";
                type: "u64";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 4];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "swapFeeInternalParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "swapLog";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "custodyInUid";
                type: "u64";
            }, {
                name: "custodyOutUid";
                type: "u64";
            }, {
                name: "amountIn";
                type: "u64";
            }, {
                name: "amountOut";
                type: "u64";
            }, {
                name: "feeInAmount";
                type: "u64";
            }, {
                name: "feeOutAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "swapLogV2";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "custodyInUid";
                type: "u64";
            }, {
                name: "custodyOutUid";
                type: "u64";
            }, {
                name: "amountIn";
                type: "u64";
            }, {
                name: "amountOut";
                type: "u64";
            }, {
                name: "feeInAmount";
                type: "u64";
            }, {
                name: "feeOutAmount";
                type: "u64";
            }, {
                name: "inOracleAccountTime";
                type: "i64";
            }, {
                name: "inOracleAccountType";
                type: "u8";
            }, {
                name: "inOracleAccountPrice";
                type: "u64";
            }, {
                name: "inOracleAccountPriceExponent";
                type: "i32";
            }, {
                name: "outOracleAccountTime";
                type: "i64";
            }, {
                name: "outOracleAccountType";
                type: "u8";
            }, {
                name: "outOracleAccountPrice";
                type: "u64";
            }, {
                name: "outOracleAccountPriceExponent";
                type: "i32";
            }];
            kind: "struct";
        };
    }, {
        name: "swapParams";
        type: {
            fields: [{
                name: "amountIn";
                type: "u64";
            }, {
                name: "minAmountOut";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "testInitParams";
        type: {
            fields: [{
                name: "minSignatures";
                type: "u8";
            }, {
                name: "permissions";
                type: {
                    defined: {
                        name: "permissions";
                    };
                };
            }];
            kind: "struct";
        };
    }, {
        name: "tokenPermissions";
        type: {
            fields: [{
                name: "allowDeposits";
                type: "bool";
            }, {
                name: "allowWithdrawal";
                type: "bool";
            }, {
                name: "allowRewardWithdrawal";
                type: "bool";
            }];
            kind: "struct";
        };
    }, {
        name: "tokenRatios";
        type: {
            fields: [{
                name: "target";
                type: "u64";
            }, {
                name: "min";
                type: "u64";
            }, {
                name: "max";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "tokenStake";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "isInitialized";
                type: "bool";
            }, {
                name: "bump";
                type: "u8";
            }, {
                name: "level";
                type: "u8";
            }, {
                name: "withdrawRequestCount";
                type: "u8";
            }, {
                name: "withdrawRequest";
                type: {
                    array: [{
                        defined: {
                            name: "withdrawRequest";
                        };
                    }, 3];
                };
            }, {
                name: "rebateRate";
                type: "u64";
            }, {
                name: "activeStakeAmount";
                type: "u64";
            }, {
                name: "updateTimestamp";
                type: "i64";
            }, {
                name: "tradeTimestamp";
                type: "i64";
            }, {
                name: "tradeCounter";
                type: "u32";
            }, {
                name: "lastRewardEpochCount";
                type: "u32";
            }, {
                name: "rewardTokens";
                type: "u64";
            }, {
                name: "unclaimedRevenueAmount";
                type: "u64";
            }, {
                name: "revenueSnapshot";
                type: "u128";
            }, {
                name: "claimableRebateUsd";
                type: "u64";
            }, {
                name: "rebateUsdSnapshot";
                type: "u64";
            }, {
                name: "rebateDayTimestamp";
                type: "i64";
            }, {
                name: "maxRebateUsd";
                type: "u64";
            }, {
                name: "padding";
                type: {
                    array: ["u64", 4];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "tokenStakeStats";
        type: {
            fields: [{
                name: "lockedAmount";
                type: "u64";
            }, {
                name: "activeAmount";
                type: "u64";
            }, {
                name: "withdrawableAmount";
                type: "u64";
            }, {
                name: "buffer";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "tokenVault";
        type: {
            fields: [{
                name: "isInitialized";
                type: "bool";
            }, {
                name: "bump";
                type: "u8";
            }, {
                name: "tokenAccountBump";
                type: "u8";
            }, {
                name: "tokenMint";
                type: "pubkey";
            }, {
                name: "tokenVaultTokenAccount";
                type: "pubkey";
            }, {
                name: "tokenPermissions";
                type: {
                    defined: {
                        name: "tokenPermissions";
                    };
                };
            }, {
                name: "withdrawTimeLimit";
                type: "i64";
            }, {
                name: "withdrawInstantFee";
                type: "u64";
            }, {
                name: "withdrawInstantFeeEarned";
                type: "u64";
            }, {
                name: "stakeLevel";
                type: {
                    array: ["u64", 6];
                };
            }, {
                name: "tokensStaked";
                type: {
                    defined: {
                        name: "tokenStakeStats";
                    };
                };
            }, {
                name: "rewardTokensToDistribute";
                type: "u128";
            }, {
                name: "rewardTokensPaid";
                type: "u128";
            }, {
                name: "tokensToDistribute";
                type: "u128";
            }, {
                name: "tokensDistributed";
                type: "u128";
            }, {
                name: "lastRewardEpochCount";
                type: "u32";
            }, {
                name: "rewardTokensDistributed";
                type: "u128";
            }, {
                name: "padding";
                type: {
                    array: ["u32", 3];
                };
            }, {
                name: "revenueTokenAccountBump";
                type: "u8";
            }, {
                name: "revenuePerFafStaked";
                type: "u64";
            }, {
                name: "revenueAccrued";
                type: "u128";
            }, {
                name: "revenueDistributed";
                type: "u128";
            }, {
                name: "revenuePaid";
                type: "u128";
            }, {
                name: "unlockPeriod";
                type: "i64";
            }, {
                name: "padding2";
                type: {
                    array: ["u64", 3];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "triggerOrder";
        type: {
            fields: [{
                name: "triggerPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "triggerSize";
                type: "u64";
            }, {
                name: "receiveCustodyUid";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        name: "triggerQuote";
        type: {
            fields: [{
                name: "exitPrice";
                type: {
                    defined: {
                        name: "oraclePrice";
                    };
                };
            }, {
                name: "profitUsd";
                type: "u64";
            }, {
                name: "lossUsd";
                type: "u64";
            }, {
                name: "exitFeeUsd";
                type: "u64";
            }, {
                name: "receiveUsd";
                type: "u64";
            }, {
                name: "isSolvent";
                type: "bool";
            }];
            kind: "struct";
        };
    }, {
        name: "unstakeInstantLog";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "unstakeAmount";
                type: "u64";
            }, {
                name: "rewardPerLpStaked";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "unstakeInstantParams";
        type: {
            fields: [{
                name: "unstakeAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "unstakeRequestLog";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "amount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "unstakeRequestParams";
        type: {
            fields: [{
                name: "unstakeAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "unstakeTokenRequestLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "tokenStake";
                type: "pubkey";
            }, {
                name: "unstakeAmount";
                type: "u64";
            }, {
                name: "currentTimestamp";
                type: "i64";
            }, {
                name: "lastUpdatedTimestamp";
                type: "i64";
            }, {
                name: "level";
                type: "u8";
            }, {
                name: "activeStakeAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "unstakeTokenRequestLogV2";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "tokenStake";
                type: "pubkey";
            }, {
                name: "unstakeAmount";
                type: "u64";
            }, {
                name: "currentTimestamp";
                type: "i64";
            }, {
                name: "lastUpdatedTimestamp";
                type: "i64";
            }, {
                name: "level";
                type: "u8";
            }, {
                name: "activeStakeAmount";
                type: "u64";
            }, {
                name: "levelEligibleAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "unstakeTokenRequestParams";
        type: {
            fields: [{
                name: "unstakeAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "voltageMultiplier";
        type: {
            fields: [{
                name: "volume";
                type: "u64";
            }, {
                name: "rewards";
                type: "u64";
            }, {
                name: "rebates";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "voltagePointsLog";
        type: {
            fields: [{
                name: "tokenStake";
                type: "pubkey";
            }, {
                name: "voltagePoints";
                type: "u64";
            }, {
                name: "rebateUsd";
                type: "u64";
            }, {
                name: "voltagePointsType";
                type: "u8";
            }, {
                name: "benefitsStatus";
                type: "u8";
            }, {
                name: "padding";
                type: {
                    array: ["u8", 31];
                };
            }];
            kind: "struct";
        };
    }, {
        name: "whitelist";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "isInitialized";
                type: "bool";
            }, {
                name: "bump";
                type: "u8";
            }, {
                name: "isSwapFeeExempt";
                type: "bool";
            }, {
                name: "isDepositFeeExempt";
                type: "bool";
            }, {
                name: "isWithdrawalFeeExempt";
                type: "bool";
            }, {
                name: "buffer";
                type: {
                    array: ["u8", 3];
                };
            }, {
                name: "pool";
                type: "pubkey";
            }];
            kind: "struct";
        };
    }, {
        name: "withdrawFeesParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "withdrawInstantFeesParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }, {
        name: "withdrawRequest";
        type: {
            fields: [{
                name: "withdrawableAmount";
                type: "u64";
            }, {
                name: "lockedAmount";
                type: "u64";
            }, {
                name: "timeRemaining";
                type: "i64";
            }];
            kind: "struct";
        };
    }, {
        name: "withdrawSolFeesParams";
        type: {
            fields: [{
                name: "amount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "withdrawStakeLog";
        type: {
            fields: [{
                name: "poolName";
                type: "string";
            }, {
                name: "owner";
                type: "pubkey";
            }, {
                name: "lpTokens";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "withdrawStakeParams";
        type: {
            fields: [{
                name: "pendingActivation";
                type: "bool";
            }, {
                name: "deactivated";
                type: "bool";
            }];
            kind: "struct";
        };
    }, {
        name: "withdrawTokenLog";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "tokenStake";
                type: "pubkey";
            }, {
                name: "withdrawAmount";
                type: "u64";
            }, {
                name: "currentTimestamp";
                type: "i64";
            }, {
                name: "lastUpdatedTimestamp";
                type: "i64";
            }, {
                name: "level";
                type: "u8";
            }, {
                name: "activeStakeAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "withdrawTokenLogV2";
        type: {
            fields: [{
                name: "owner";
                type: "pubkey";
            }, {
                name: "tokenStake";
                type: "pubkey";
            }, {
                name: "withdrawAmount";
                type: "u64";
            }, {
                name: "currentTimestamp";
                type: "i64";
            }, {
                name: "lastUpdatedTimestamp";
                type: "i64";
            }, {
                name: "level";
                type: "u8";
            }, {
                name: "activeStakeAmount";
                type: "u64";
            }, {
                name: "levelEligibleAmount";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        name: "withdrawTokenParams";
        type: {
            fields: [{
                name: "withdrawRequestId";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        name: "withdrawUnclaimedTokensParams";
        type: {
            fields: [];
            kind: "struct";
        };
    }]