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";
};
}];
}
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";
};
}]
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.