{
"kind": "rootNode",
"standard": "codama",
"version": "1.7.0",
"program": {
"kind": "programNode",
"name": "dex",
"publicKey": "jupZ4m2GqUCJ5iueMfzQf8khFfH31d4XAQt3RzCT9Vd",
"version": "0.1.5",
"origin": "anchor",
"accounts": [
{
"kind": "accountNode",
"name": "dex",
"size": 329,
"data": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"defaultValue": {
"kind": "bytesValueNode",
"data": "ec1eb550d1d919a3",
"encoding": "base16"
}
},
{
"kind": "structFieldTypeNode",
"name": "dexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "reEntrancy",
"type": { "kind": "numberTypeNode", "format": "u8", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "token0",
"type": { "kind": "publicKeyTypeNode" }
},
{
"kind": "structFieldTypeNode",
"name": "token1",
"type": { "kind": "publicKeyTypeNode" }
},
{
"kind": "structFieldTypeNode",
"name": "token0Decimals",
"type": { "kind": "numberTypeNode", "format": "u8", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "token1Decimals",
"type": { "kind": "numberTypeNode", "format": "u8", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "lastToLastStoredPrice",
"type": { "kind": "numberTypeNode", "format": "u128", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "lastStoredPrice",
"type": { "kind": "numberTypeNode", "format": "u128", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "centerPrice",
"type": { "kind": "numberTypeNode", "format": "u128", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "lastUpdateTimestamp",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "lastUpdateSlot",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "isSmartCollateralEnabled",
"type": { "kind": "numberTypeNode", "format": "u8", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "isSmartDebtEnabled",
"type": { "kind": "numberTypeNode", "format": "u8", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "fee",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "revenueCut",
"type": { "kind": "numberTypeNode", "format": "u8", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "percentChangeActive",
"type": { "kind": "numberTypeNode", "format": "u8", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "upperPercent",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "lowerPercent",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "thresholdChangeActive",
"type": { "kind": "numberTypeNode", "format": "u8", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "upperShiftThresholdPercent",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "lowerShiftThresholdPercent",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "shiftingTime",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "centerPriceAddress",
"type": { "kind": "publicKeyTypeNode" }
},
{
"kind": "structFieldTypeNode",
"name": "maxCenterPrice",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "minCenterPrice",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "token0MaxUtilization",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "token1MaxUtilization",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "isCenterPriceShiftActive",
"type": { "kind": "numberTypeNode", "format": "u8", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "swapAndArbitragePaused",
"type": { "kind": "numberTypeNode", "format": "u8", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "totalSupplyShares",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "maxSupplyShares",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "totalBorrowShares",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "maxBorrowShares",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "rangeOldUpperShift",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "rangeOldLowerShift",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "rangeShiftDuration",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "rangeShiftStartTimestamp",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "thresholdOldUpperShift",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "thresholdOldLowerShift",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "thresholdShiftDuration",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "thresholdShiftStartTimestamp",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "thresholdShiftOldTimestamp",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "centerPriceShiftStartTimestamp",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "centerPriceShiftPercent",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "centerPriceShiftTime",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "reserved",
"type": {
"kind": "fixedSizeTypeNode",
"size": 32,
"type": { "kind": "bytesTypeNode" }
}
},
{
"kind": "structFieldTypeNode",
"name": "bump",
"type": { "kind": "numberTypeNode", "format": "u8", "endian": "le" }
}
]
},
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "accountNode",
"name": "dexAdmin",
"data": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"defaultValue": {
"kind": "bytesValueNode",
"data": "529b7adde660769b",
"encoding": "base16"
}
},
{
"kind": "structFieldTypeNode",
"name": "authority",
"type": { "kind": "publicKeyTypeNode" }
},
{
"kind": "structFieldTypeNode",
"name": "liquidityProgram",
"type": { "kind": "publicKeyTypeNode" }
},
{
"kind": "structFieldTypeNode",
"name": "nextDexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "auths",
"type": {
"kind": "arrayTypeNode",
"item": { "kind": "publicKeyTypeNode" },
"count": {
"kind": "prefixedCountNode",
"prefix": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
}
}
},
{
"kind": "structFieldTypeNode",
"name": "guardians",
"docs": ["Guardians can pause a dex; unpause remains auth-only."],
"type": {
"kind": "arrayTypeNode",
"item": { "kind": "publicKeyTypeNode" },
"count": {
"kind": "prefixedCountNode",
"prefix": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
}
}
},
{
"kind": "structFieldTypeNode",
"name": "reserved",
"type": {
"kind": "fixedSizeTypeNode",
"size": 28,
"type": { "kind": "bytesTypeNode" }
}
},
{
"kind": "structFieldTypeNode",
"name": "bump",
"type": { "kind": "numberTypeNode", "format": "u8", "endian": "le" }
}
]
},
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "accountNode",
"name": "dexMetadata",
"size": 74,
"data": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"defaultValue": {
"kind": "bytesValueNode",
"data": "b1e739fd400ccd25",
"encoding": "base16"
}
},
{
"kind": "structFieldTypeNode",
"name": "dexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "lookupTable",
"type": { "kind": "publicKeyTypeNode" }
},
{
"kind": "structFieldTypeNode",
"name": "reserved",
"type": {
"kind": "fixedSizeTypeNode",
"size": 32,
"type": { "kind": "bytesTypeNode" }
}
}
]
},
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "accountNode",
"name": "dexPosition",
"size": 164,
"data": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"defaultValue": {
"kind": "bytesValueNode",
"data": "1e24db4ebdadaa2f",
"encoding": "base16"
}
},
{
"kind": "structFieldTypeNode",
"name": "dexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "protocol",
"type": { "kind": "publicKeyTypeNode" }
},
{
"kind": "structFieldTypeNode",
"name": "supplyStatus",
"type": { "kind": "numberTypeNode", "format": "u8", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "supplyShares",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "withdrawalLimit",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "supplyLastUpdate",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "supplyExpandPct",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "supplyExpandDuration",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "baseWithdrawalLimit",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "borrowStatus",
"type": { "kind": "numberTypeNode", "format": "u8", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "borrowShares",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "debtCeiling",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "borrowLastUpdate",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "borrowExpandPct",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "borrowExpandDuration",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "baseDebtCeiling",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "maxDebtCeiling",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "reserved",
"type": {
"kind": "fixedSizeTypeNode",
"size": 32,
"type": { "kind": "bytesTypeNode" }
}
}
]
},
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "accountNode",
"name": "tokenReserve",
"size": 192,
"data": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"defaultValue": {
"kind": "bytesValueNode",
"data": "15123b8778141f0c",
"encoding": "base16"
}
},
{
"kind": "structFieldTypeNode",
"name": "mint",
"type": { "kind": "publicKeyTypeNode" }
},
{
"kind": "structFieldTypeNode",
"name": "vault",
"type": { "kind": "publicKeyTypeNode" }
},
{
"kind": "structFieldTypeNode",
"name": "borrowRate",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "feeOnInterest",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "lastUtilization",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "lastUpdateTimestamp",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "supplyExchangePrice",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "borrowExchangePrice",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "maxUtilization",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "totalSupplyWithInterest",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "totalSupplyInterestFree",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "totalBorrowWithInterest",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "totalBorrowInterestFree",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "totalClaimAmount",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "interactingProtocol",
"type": { "kind": "publicKeyTypeNode" }
},
{
"kind": "structFieldTypeNode",
"name": "interactingTimestamp",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "interactingBalance",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
}
]
},
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "accountNode",
"name": "userBorrowPosition",
"size": 120,
"data": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"defaultValue": {
"kind": "bytesValueNode",
"data": "497e417bdc7ec518",
"encoding": "base16"
}
},
{
"kind": "structFieldTypeNode",
"name": "protocol",
"type": { "kind": "publicKeyTypeNode" }
},
{
"kind": "structFieldTypeNode",
"name": "mint",
"type": { "kind": "publicKeyTypeNode" }
},
{
"kind": "structFieldTypeNode",
"name": "withInterest",
"type": { "kind": "numberTypeNode", "format": "u8", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "amount",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "debtCeiling",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "lastUpdate",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "expandPct",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "expandDuration",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "baseDebtCeiling",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "maxDebtCeiling",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "status",
"type": { "kind": "numberTypeNode", "format": "u8", "endian": "le" }
}
]
},
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "accountNode",
"name": "userSupplyPosition",
"size": 124,
"data": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"defaultValue": {
"kind": "bytesValueNode",
"data": "cadb88763db11592",
"encoding": "base16"
}
},
{
"kind": "structFieldTypeNode",
"name": "protocol",
"type": { "kind": "publicKeyTypeNode" }
},
{
"kind": "structFieldTypeNode",
"name": "mint",
"type": { "kind": "publicKeyTypeNode" }
},
{
"kind": "structFieldTypeNode",
"name": "withInterest",
"type": { "kind": "numberTypeNode", "format": "u8", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "amount",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "withdrawalLimit",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "decayAmount",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "lastUpdate",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "expandPct",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "expandDuration",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "decayDuration",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "baseWithdrawalLimit",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "status",
"type": { "kind": "numberTypeNode", "format": "u8", "endian": "le" }
}
]
},
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
}
],
"instructions": [
{
"kind": "instructionNode",
"name": "borrow",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "signer",
"isWritable": true,
"isSigner": true,
"isOptional": false,
"docs": ["The protocol calling the operation (must match position.protocol)"]
},
{
"kind": "instructionAccountNode",
"name": "dex",
"isWritable": true,
"isSigner": false,
"isOptional": false,
"docs": ["DEX pool state"]
},
{
"kind": "instructionAccountNode",
"name": "user",
"isWritable": false,
"isSigner": true,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "position",
"isWritable": true,
"isSigner": false,
"isOptional": false,
"docs": ["The user's DexPosition (tracks shares and limits)"]
},
{
"kind": "instructionAccountNode",
"name": "userToken0Account",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "userToken1Account",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0Reserve",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1Reserve",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0RateModel",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1RateModel",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0Vault",
"isWritable": true,
"isSigner": false,
"isOptional": false,
"docs": ["Liquidity vault token account for tokens"]
},
{
"kind": "instructionAccountNode",
"name": "token1Vault",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "dexSupplyPositionToken0",
"isWritable": true,
"isSigner": false,
"isOptional": true,
"docs": ["DEX's supply position for tokens on liquidity"]
},
{
"kind": "instructionAccountNode",
"name": "dexSupplyPositionToken1",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "dexBorrowPositionToken0",
"isWritable": true,
"isSigner": false,
"isOptional": true,
"docs": ["DEX's borrow position for tokens on liquidity"]
},
{
"kind": "instructionAccountNode",
"name": "dexBorrowPositionToken1",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "liquidity",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "liquidityProgram",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "oracleProgram",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0Program",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1Program",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "recipient",
"isWritable": false,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "recipientToken0Account",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "recipientToken1Account",
"isWritable": true,
"isSigner": false,
"isOptional": true
}
],
"arguments": [
{
"kind": "instructionArgumentNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": { "kind": "fixedSizeTypeNode", "size": 8, "type": { "kind": "bytesTypeNode" } },
"defaultValue": {
"kind": "bytesValueNode",
"data": "e4fd83cacf745912",
"encoding": "base16"
}
},
{
"kind": "instructionArgumentNode",
"name": "token0Amt",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "token1Amt",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "maxShares",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "borrowPerfect",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "signer",
"isWritable": true,
"isSigner": true,
"isOptional": false,
"docs": ["The protocol calling the operation (must match position.protocol)"]
},
{
"kind": "instructionAccountNode",
"name": "dex",
"isWritable": true,
"isSigner": false,
"isOptional": false,
"docs": ["DEX pool state"]
},
{
"kind": "instructionAccountNode",
"name": "user",
"isWritable": false,
"isSigner": true,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "position",
"isWritable": true,
"isSigner": false,
"isOptional": false,
"docs": ["The user's DexPosition (tracks shares and limits)"]
},
{
"kind": "instructionAccountNode",
"name": "userToken0Account",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "userToken1Account",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0Reserve",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1Reserve",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0RateModel",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1RateModel",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0Vault",
"isWritable": true,
"isSigner": false,
"isOptional": false,
"docs": ["Liquidity vault token account for tokens"]
},
{
"kind": "instructionAccountNode",
"name": "token1Vault",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "dexSupplyPositionToken0",
"isWritable": true,
"isSigner": false,
"isOptional": true,
"docs": ["DEX's supply position for tokens on liquidity"]
},
{
"kind": "instructionAccountNode",
"name": "dexSupplyPositionToken1",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "dexBorrowPositionToken0",
"isWritable": true,
"isSigner": false,
"isOptional": true,
"docs": ["DEX's borrow position for tokens on liquidity"]
},
{
"kind": "instructionAccountNode",
"name": "dexBorrowPositionToken1",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "liquidity",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "liquidityProgram",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "oracleProgram",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0Program",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1Program",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "recipient",
"isWritable": false,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "recipientToken0Account",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "recipientToken1Account",
"isWritable": true,
"isSigner": false,
"isOptional": true
}
],
"arguments": [
{
"kind": "instructionArgumentNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": { "kind": "fixedSizeTypeNode", "size": 8, "type": { "kind": "bytesTypeNode" } },
"defaultValue": {
"kind": "bytesValueNode",
"data": "d243f5ff86c8993a",
"encoding": "base16"
}
},
{
"kind": "instructionArgumentNode",
"name": "shares",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "minToken0",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "minToken1",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "deposit",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "signer",
"isWritable": true,
"isSigner": true,
"isOptional": false,
"docs": ["The protocol calling the operation (must match position.protocol)"]
},
{
"kind": "instructionAccountNode",
"name": "dex",
"isWritable": true,
"isSigner": false,
"isOptional": false,
"docs": ["DEX pool state"]
},
{
"kind": "instructionAccountNode",
"name": "user",
"isWritable": false,
"isSigner": true,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "position",
"isWritable": true,
"isSigner": false,
"isOptional": false,
"docs": ["The user's DexPosition (tracks shares and limits)"]
},
{
"kind": "instructionAccountNode",
"name": "userToken0Account",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "userToken1Account",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0Reserve",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1Reserve",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0RateModel",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1RateModel",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0Vault",
"isWritable": true,
"isSigner": false,
"isOptional": false,
"docs": ["Liquidity vault token account for tokens"]
},
{
"kind": "instructionAccountNode",
"name": "token1Vault",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "dexSupplyPositionToken0",
"isWritable": true,
"isSigner": false,
"isOptional": true,
"docs": ["DEX's supply position for tokens on liquidity"]
},
{
"kind": "instructionAccountNode",
"name": "dexSupplyPositionToken1",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "dexBorrowPositionToken0",
"isWritable": true,
"isSigner": false,
"isOptional": true,
"docs": ["DEX's borrow position for tokens on liquidity"]
},
{
"kind": "instructionAccountNode",
"name": "dexBorrowPositionToken1",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "liquidity",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "liquidityProgram",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "oracleProgram",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0Program",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1Program",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "recipient",
"isWritable": false,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "recipientToken0Account",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "recipientToken1Account",
"isWritable": true,
"isSigner": false,
"isOptional": true
}
],
"arguments": [
{
"kind": "instructionArgumentNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": { "kind": "fixedSizeTypeNode", "size": 8, "type": { "kind": "bytesTypeNode" } },
"defaultValue": {
"kind": "bytesValueNode",
"data": "f223c68952e1f2b6",
"encoding": "base16"
}
},
{
"kind": "instructionArgumentNode",
"name": "token0Amt",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "token1Amt",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "minShares",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "depositPerfect",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "signer",
"isWritable": true,
"isSigner": true,
"isOptional": false,
"docs": ["The protocol calling the operation (must match position.protocol)"]
},
{
"kind": "instructionAccountNode",
"name": "dex",
"isWritable": true,
"isSigner": false,
"isOptional": false,
"docs": ["DEX pool state"]
},
{
"kind": "instructionAccountNode",
"name": "user",
"isWritable": false,
"isSigner": true,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "position",
"isWritable": true,
"isSigner": false,
"isOptional": false,
"docs": ["The user's DexPosition (tracks shares and limits)"]
},
{
"kind": "instructionAccountNode",
"name": "userToken0Account",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "userToken1Account",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0Reserve",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1Reserve",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0RateModel",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1RateModel",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0Vault",
"isWritable": true,
"isSigner": false,
"isOptional": false,
"docs": ["Liquidity vault token account for tokens"]
},
{
"kind": "instructionAccountNode",
"name": "token1Vault",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "dexSupplyPositionToken0",
"isWritable": true,
"isSigner": false,
"isOptional": true,
"docs": ["DEX's supply position for tokens on liquidity"]
},
{
"kind": "instructionAccountNode",
"name": "dexSupplyPositionToken1",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "dexBorrowPositionToken0",
"isWritable": true,
"isSigner": false,
"isOptional": true,
"docs": ["DEX's borrow position for tokens on liquidity"]
},
{
"kind": "instructionAccountNode",
"name": "dexBorrowPositionToken1",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "liquidity",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "liquidityProgram",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "oracleProgram",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0Program",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1Program",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "recipient",
"isWritable": false,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "recipientToken0Account",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "recipientToken1Account",
"isWritable": true,
"isSigner": false,
"isOptional": true
}
],
"arguments": [
{
"kind": "instructionArgumentNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": { "kind": "fixedSizeTypeNode", "size": 8, "type": { "kind": "bytesTypeNode" } },
"defaultValue": {
"kind": "bytesValueNode",
"data": "046242d86e7e9a08",
"encoding": "base16"
}
},
{
"kind": "instructionArgumentNode",
"name": "shares",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "maxToken0",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "maxToken1",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "initDex",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "authority",
"isWritable": true,
"isSigner": true,
"isOptional": false,
"defaultValue": { "kind": "identityValueNode" }
},
{
"kind": "instructionAccountNode",
"name": "dexAdmin",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "dex",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "dexMetadata",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "systemProgram",
"isWritable": false,
"isSigner": false,
"isOptional": false,
"defaultValue": {
"kind": "publicKeyValueNode",
"publicKey": "11111111111111111111111111111111",
"identifier": "systemProgram"
}
}
],
"arguments": [
{
"kind": "instructionArgumentNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": { "kind": "fixedSizeTypeNode", "size": 8, "type": { "kind": "bytesTypeNode" } },
"defaultValue": {
"kind": "bytesValueNode",
"data": "debb51305975e6a4",
"encoding": "base16"
}
},
{
"kind": "instructionArgumentNode",
"name": "centerPrice",
"docs": ["Initial center price: a normalized ratio scaled by PRICE_PRECISION (10^15)"],
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "fee",
"docs": ["Fee in 4 decimals: 1% = 10000, max 10% = 100000"],
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "revenueCut",
"docs": [
"Revenue cut in 4 decimals (e.g., 100000 = 10%). Divided by 10000 for storage."
],
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "upperPercent",
"docs": ["Upper range percent in 4 decimals: 1% = 10000"],
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "lowerPercent",
"docs": ["Lower range percent in 4 decimals: 1% = 10000"],
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "upperShiftThreshold",
"docs": ["Upper shift threshold percent in 4 decimals. Divided by 1000 for storage."],
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "lowerShiftThreshold",
"docs": ["Lower shift threshold percent in 4 decimals. Divided by 1000 for storage."],
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "thresholdShiftTime",
"docs": ["Time (seconds) for threshold-based center price shift"],
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "maxCenterPrice",
"docs": ["Maximum center price"],
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "minCenterPrice",
"docs": ["Minimum center price"],
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "initDexAdmin",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "signer",
"isWritable": true,
"isSigner": true,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "dexAdmin",
"isWritable": true,
"isSigner": false,
"isOptional": false,
"defaultValue": {
"kind": "pdaValueNode",
"pda": { "kind": "pdaLinkNode", "name": "dexAdmin" },
"seeds": []
}
},
{
"kind": "instructionAccountNode",
"name": "systemProgram",
"isWritable": false,
"isSigner": false,
"isOptional": false,
"defaultValue": {
"kind": "publicKeyValueNode",
"publicKey": "11111111111111111111111111111111",
"identifier": "systemProgram"
}
}
],
"arguments": [
{
"kind": "instructionArgumentNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": { "kind": "fixedSizeTypeNode", "size": 8, "type": { "kind": "bytesTypeNode" } },
"defaultValue": {
"kind": "bytesValueNode",
"data": "103d623dbdf334fc",
"encoding": "base16"
}
},
{
"kind": "instructionArgumentNode",
"name": "liquidity",
"type": { "kind": "publicKeyTypeNode" }
},
{
"kind": "instructionArgumentNode",
"name": "authority",
"type": { "kind": "publicKeyTypeNode" }
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "initDexMetadata",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "authority",
"isWritable": true,
"isSigner": true,
"isOptional": false,
"defaultValue": { "kind": "identityValueNode" }
},
{
"kind": "instructionAccountNode",
"name": "dexAdmin",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "dex",
"isWritable": false,
"isSigner": false,
"isOptional": false,
"defaultValue": {
"kind": "pdaValueNode",
"pda": { "kind": "pdaLinkNode", "name": "dex" },
"seeds": [
{
"kind": "pdaSeedValueNode",
"name": "dexId",
"value": { "kind": "argumentValueNode", "name": "dexId" }
}
]
}
},
{
"kind": "instructionAccountNode",
"name": "dexMetadata",
"isWritable": true,
"isSigner": false,
"isOptional": false,
"defaultValue": {
"kind": "pdaValueNode",
"pda": { "kind": "pdaLinkNode", "name": "dexMetadata" },
"seeds": [
{
"kind": "pdaSeedValueNode",
"name": "dexId",
"value": { "kind": "argumentValueNode", "name": "dexId" }
}
]
}
},
{
"kind": "instructionAccountNode",
"name": "systemProgram",
"isWritable": false,
"isSigner": false,
"isOptional": false,
"defaultValue": {
"kind": "publicKeyValueNode",
"publicKey": "11111111111111111111111111111111",
"identifier": "systemProgram"
}
}
],
"arguments": [
{
"kind": "instructionArgumentNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": { "kind": "fixedSizeTypeNode", "size": 8, "type": { "kind": "bytesTypeNode" } },
"defaultValue": {
"kind": "bytesValueNode",
"data": "72a790dc8f49e008",
"encoding": "base16"
}
},
{
"kind": "instructionArgumentNode",
"name": "dexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "lookupTable",
"type": { "kind": "publicKeyTypeNode" }
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "initPosition",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "authority",
"isWritable": true,
"isSigner": true,
"isOptional": false,
"defaultValue": { "kind": "identityValueNode" }
},
{
"kind": "instructionAccountNode",
"name": "dexAdmin",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "dex",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "position",
"isWritable": true,
"isSigner": false,
"isOptional": false,
"defaultValue": {
"kind": "pdaValueNode",
"pda": { "kind": "pdaLinkNode", "name": "position" },
"seeds": [
{
"kind": "pdaSeedValueNode",
"name": "dex",
"value": { "kind": "accountValueNode", "name": "dex" }
},
{
"kind": "pdaSeedValueNode",
"name": "protocol",
"value": { "kind": "argumentValueNode", "name": "protocol" }
}
]
}
},
{
"kind": "instructionAccountNode",
"name": "systemProgram",
"isWritable": false,
"isSigner": false,
"isOptional": false,
"defaultValue": {
"kind": "publicKeyValueNode",
"publicKey": "11111111111111111111111111111111",
"identifier": "systemProgram"
}
}
],
"arguments": [
{
"kind": "instructionArgumentNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": { "kind": "fixedSizeTypeNode", "size": 8, "type": { "kind": "bytesTypeNode" } },
"defaultValue": {
"kind": "bytesValueNode",
"data": "c5140a0161a0b15b",
"encoding": "base16"
}
},
{
"kind": "instructionArgumentNode",
"name": "protocol",
"type": { "kind": "publicKeyTypeNode" }
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "pauseDex",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "authority",
"isWritable": false,
"isSigner": true,
"isOptional": false,
"defaultValue": { "kind": "identityValueNode" }
},
{
"kind": "instructionAccountNode",
"name": "dexAdmin",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "dex",
"isWritable": true,
"isSigner": false,
"isOptional": false
}
],
"arguments": [
{
"kind": "instructionArgumentNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": { "kind": "fixedSizeTypeNode", "size": 8, "type": { "kind": "bytesTypeNode" } },
"defaultValue": {
"kind": "bytesValueNode",
"data": "8aff650074ca8064",
"encoding": "base16"
}
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "pauseSwapAndArbitrage",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "authority",
"isWritable": false,
"isSigner": true,
"isOptional": false,
"defaultValue": { "kind": "identityValueNode" }
},
{
"kind": "instructionAccountNode",
"name": "dexAdmin",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "dex",
"isWritable": true,
"isSigner": false,
"isOptional": false
}
],
"arguments": [
{
"kind": "instructionArgumentNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": { "kind": "fixedSizeTypeNode", "size": 8, "type": { "kind": "bytesTypeNode" } },
"defaultValue": {
"kind": "bytesValueNode",
"data": "fc43a63e2d88584c",
"encoding": "base16"
}
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "pauseUser",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "authority",
"isWritable": false,
"isSigner": true,
"isOptional": false,
"defaultValue": { "kind": "identityValueNode" }
},
{
"kind": "instructionAccountNode",
"name": "dexAdmin",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "dex",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "position",
"isWritable": true,
"isSigner": false,
"isOptional": false
}
],
"arguments": [
{
"kind": "instructionArgumentNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": { "kind": "fixedSizeTypeNode", "size": 8, "type": { "kind": "bytesTypeNode" } },
"defaultValue": {
"kind": "bytesValueNode",
"data": "123f2b5eef35650e",
"encoding": "base16"
}
},
{
"kind": "instructionArgumentNode",
"name": "pauseSupply",
"type": {
"kind": "booleanTypeNode",
"size": { "kind": "numberTypeNode", "format": "u8", "endian": "le" }
}
},
{
"kind": "instructionArgumentNode",
"name": "pauseBorrow",
"type": {
"kind": "booleanTypeNode",
"size": { "kind": "numberTypeNode", "format": "u8", "endian": "le" }
}
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "payback",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "signer",
"isWritable": true,
"isSigner": true,
"isOptional": false,
"docs": ["The protocol calling the operation (must match position.protocol)"]
},
{
"kind": "instructionAccountNode",
"name": "dex",
"isWritable": true,
"isSigner": false,
"isOptional": false,
"docs": ["DEX pool state"]
},
{
"kind": "instructionAccountNode",
"name": "user",
"isWritable": false,
"isSigner": true,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "position",
"isWritable": true,
"isSigner": false,
"isOptional": false,
"docs": ["The user's DexPosition (tracks shares and limits)"]
},
{
"kind": "instructionAccountNode",
"name": "userToken0Account",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "userToken1Account",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0Reserve",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1Reserve",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0RateModel",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1RateModel",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0Vault",
"isWritable": true,
"isSigner": false,
"isOptional": false,
"docs": ["Liquidity vault token account for tokens"]
},
{
"kind": "instructionAccountNode",
"name": "token1Vault",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "dexSupplyPositionToken0",
"isWritable": true,
"isSigner": false,
"isOptional": true,
"docs": ["DEX's supply position for tokens on liquidity"]
},
{
"kind": "instructionAccountNode",
"name": "dexSupplyPositionToken1",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "dexBorrowPositionToken0",
"isWritable": true,
"isSigner": false,
"isOptional": true,
"docs": ["DEX's borrow position for tokens on liquidity"]
},
{
"kind": "instructionAccountNode",
"name": "dexBorrowPositionToken1",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "liquidity",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "liquidityProgram",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "oracleProgram",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0Program",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1Program",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "recipient",
"isWritable": false,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "recipientToken0Account",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "recipientToken1Account",
"isWritable": true,
"isSigner": false,
"isOptional": true
}
],
"arguments": [
{
"kind": "instructionArgumentNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": { "kind": "fixedSizeTypeNode", "size": 8, "type": { "kind": "bytesTypeNode" } },
"defaultValue": {
"kind": "bytesValueNode",
"data": "949032900870cb03",
"encoding": "base16"
}
},
{
"kind": "instructionArgumentNode",
"name": "token0Amt",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "token1Amt",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "minShares",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "paybackPerfect",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "signer",
"isWritable": true,
"isSigner": true,
"isOptional": false,
"docs": ["The protocol calling the operation (must match position.protocol)"]
},
{
"kind": "instructionAccountNode",
"name": "dex",
"isWritable": true,
"isSigner": false,
"isOptional": false,
"docs": ["DEX pool state"]
},
{
"kind": "instructionAccountNode",
"name": "user",
"isWritable": false,
"isSigner": true,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "position",
"isWritable": true,
"isSigner": false,
"isOptional": false,
"docs": ["The user's DexPosition (tracks shares and limits)"]
},
{
"kind": "instructionAccountNode",
"name": "userToken0Account",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "userToken1Account",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0Reserve",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1Reserve",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0RateModel",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1RateModel",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0Vault",
"isWritable": true,
"isSigner": false,
"isOptional": false,
"docs": ["Liquidity vault token account for tokens"]
},
{
"kind": "instructionAccountNode",
"name": "token1Vault",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "dexSupplyPositionToken0",
"isWritable": true,
"isSigner": false,
"isOptional": true,
"docs": ["DEX's supply position for tokens on liquidity"]
},
{
"kind": "instructionAccountNode",
"name": "dexSupplyPositionToken1",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "dexBorrowPositionToken0",
"isWritable": true,
"isSigner": false,
"isOptional": true,
"docs": ["DEX's borrow position for tokens on liquidity"]
},
{
"kind": "instructionAccountNode",
"name": "dexBorrowPositionToken1",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "liquidity",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "liquidityProgram",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "oracleProgram",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0Program",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1Program",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "recipient",
"isWritable": false,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "recipientToken0Account",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "recipientToken1Account",
"isWritable": true,
"isSigner": false,
"isOptional": true
}
],
"arguments": [
{
"kind": "instructionArgumentNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": { "kind": "fixedSizeTypeNode", "size": 8, "type": { "kind": "bytesTypeNode" } },
"defaultValue": {
"kind": "bytesValueNode",
"data": "2702c5660bba6101",
"encoding": "base16"
}
},
{
"kind": "instructionArgumentNode",
"name": "shares",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "maxToken0",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "maxToken1",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "paybackPerfectInOneToken",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "signer",
"isWritable": true,
"isSigner": true,
"isOptional": false,
"docs": ["The protocol calling the operation (must match position.protocol)"]
},
{
"kind": "instructionAccountNode",
"name": "dex",
"isWritable": true,
"isSigner": false,
"isOptional": false,
"docs": ["DEX pool state"]
},
{
"kind": "instructionAccountNode",
"name": "user",
"isWritable": false,
"isSigner": true,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "position",
"isWritable": true,
"isSigner": false,
"isOptional": false,
"docs": ["The user's DexPosition (tracks shares and limits)"]
},
{
"kind": "instructionAccountNode",
"name": "userToken0Account",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "userToken1Account",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0Reserve",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1Reserve",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0RateModel",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1RateModel",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0Vault",
"isWritable": true,
"isSigner": false,
"isOptional": false,
"docs": ["Liquidity vault token account for tokens"]
},
{
"kind": "instructionAccountNode",
"name": "token1Vault",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "dexSupplyPositionToken0",
"isWritable": true,
"isSigner": false,
"isOptional": true,
"docs": ["DEX's supply position for tokens on liquidity"]
},
{
"kind": "instructionAccountNode",
"name": "dexSupplyPositionToken1",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "dexBorrowPositionToken0",
"isWritable": true,
"isSigner": false,
"isOptional": true,
"docs": ["DEX's borrow position for tokens on liquidity"]
},
{
"kind": "instructionAccountNode",
"name": "dexBorrowPositionToken1",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "liquidity",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "liquidityProgram",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "oracleProgram",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0Program",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1Program",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "recipient",
"isWritable": false,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "recipientToken0Account",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "recipientToken1Account",
"isWritable": true,
"isSigner": false,
"isOptional": true
}
],
"arguments": [
{
"kind": "instructionArgumentNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": { "kind": "fixedSizeTypeNode", "size": 8, "type": { "kind": "bytesTypeNode" } },
"defaultValue": {
"kind": "bytesValueNode",
"data": "86d260067fb7b692",
"encoding": "base16"
}
},
{
"kind": "instructionArgumentNode",
"name": "shares",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "maxToken0",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "maxToken1",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "previewDexShares",
"docs": [
"Read-only: returns the exact collateral/debt share deltas a real operate",
"would produce for the given (signed) token amounts, via `return_data`.",
"Mutates nothing; meant to be run through `simulateTransaction` so an SDK",
"can attach the correct vault tick / branch accounts. See `preview.rs`."
],
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "dex",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "position",
"isWritable": false,
"isSigner": false,
"isOptional": false,
"docs": [
"The protocol's DEX position (holds the share balances / withdrawal limits",
"that gate the operation). Only read here; mutated on a local copy."
]
},
{
"kind": "instructionAccountNode",
"name": "token0Reserve",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1Reserve",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "dexSupplyPositionToken0",
"isWritable": false,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "dexSupplyPositionToken1",
"isWritable": false,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "dexBorrowPositionToken0",
"isWritable": false,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "dexBorrowPositionToken1",
"isWritable": false,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "oracleProgram",
"isWritable": false,
"isSigner": false,
"isOptional": false
}
],
"arguments": [
{
"kind": "instructionArgumentNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": { "kind": "fixedSizeTypeNode", "size": 8, "type": { "kind": "bytesTypeNode" } },
"defaultValue": {
"kind": "bytesValueNode",
"data": "f66132ab3f8e3ee5",
"encoding": "base16"
}
},
{
"kind": "instructionArgumentNode",
"name": "colToken0",
"type": { "kind": "numberTypeNode", "format": "i64", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "colToken1",
"type": { "kind": "numberTypeNode", "format": "i64", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "debtToken0",
"type": { "kind": "numberTypeNode", "format": "i64", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "debtToken1",
"type": { "kind": "numberTypeNode", "format": "i64", "endian": "le" }
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "swapIn",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "signer",
"isWritable": true,
"isSigner": true,
"isOptional": false,
"docs": [
"The caller initiating the operation",
"Funds will be transferred from signer to LL"
]
},
{
"kind": "instructionAccountNode",
"name": "dex",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "userToken0Account",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "userToken1Account",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "recipient",
"isWritable": false,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "recipientToken0Account",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "recipientToken1Account",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "token0",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0Reserve",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1Reserve",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0RateModel",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1RateModel",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0Vault",
"isWritable": true,
"isSigner": false,
"isOptional": false,
"docs": ["Liquidity vault token account for tokens"]
},
{
"kind": "instructionAccountNode",
"name": "token1Vault",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "dexSupplyPositionToken0",
"isWritable": true,
"isSigner": false,
"isOptional": true,
"docs": ["DEX's supply position for tokens on liquidity"]
},
{
"kind": "instructionAccountNode",
"name": "dexSupplyPositionToken1",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "dexBorrowPositionToken0",
"isWritable": true,
"isSigner": false,
"isOptional": true,
"docs": ["DEX's borrow position for tokens on liquidity"]
},
{
"kind": "instructionAccountNode",
"name": "dexBorrowPositionToken1",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "liquidity",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "liquidityProgram",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0Program",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1Program",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "oracleProgram",
"isWritable": false,
"isSigner": false,
"isOptional": false
}
],
"arguments": [
{
"kind": "instructionArgumentNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": { "kind": "fixedSizeTypeNode", "size": 8, "type": { "kind": "bytesTypeNode" } },
"defaultValue": {
"kind": "bytesValueNode",
"data": "8dac0ad04509389a",
"encoding": "base16"
}
},
{
"kind": "instructionArgumentNode",
"name": "swap0to1",
"type": {
"kind": "booleanTypeNode",
"size": { "kind": "numberTypeNode", "format": "u8", "endian": "le" }
}
},
{
"kind": "instructionArgumentNode",
"name": "amountIn",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "amountOutMin",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "swapOut",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "signer",
"isWritable": true,
"isSigner": true,
"isOptional": false,
"docs": [
"The caller initiating the operation",
"Funds will be transferred from signer to LL"
]
},
{
"kind": "instructionAccountNode",
"name": "dex",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "userToken0Account",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "userToken1Account",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "recipient",
"isWritable": false,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "recipientToken0Account",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "recipientToken1Account",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "token0",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0Reserve",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1Reserve",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0RateModel",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1RateModel",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0Vault",
"isWritable": true,
"isSigner": false,
"isOptional": false,
"docs": ["Liquidity vault token account for tokens"]
},
{
"kind": "instructionAccountNode",
"name": "token1Vault",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "dexSupplyPositionToken0",
"isWritable": true,
"isSigner": false,
"isOptional": true,
"docs": ["DEX's supply position for tokens on liquidity"]
},
{
"kind": "instructionAccountNode",
"name": "dexSupplyPositionToken1",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "dexBorrowPositionToken0",
"isWritable": true,
"isSigner": false,
"isOptional": true,
"docs": ["DEX's borrow position for tokens on liquidity"]
},
{
"kind": "instructionAccountNode",
"name": "dexBorrowPositionToken1",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "liquidity",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "liquidityProgram",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0Program",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1Program",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "oracleProgram",
"isWritable": false,
"isSigner": false,
"isOptional": false
}
],
"arguments": [
{
"kind": "instructionArgumentNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": { "kind": "fixedSizeTypeNode", "size": 8, "type": { "kind": "bytesTypeNode" } },
"defaultValue": {
"kind": "bytesValueNode",
"data": "ce24950ea3849401",
"encoding": "base16"
}
},
{
"kind": "instructionArgumentNode",
"name": "swap0to1",
"type": {
"kind": "booleanTypeNode",
"size": { "kind": "numberTypeNode", "format": "u8", "endian": "le" }
}
},
{
"kind": "instructionArgumentNode",
"name": "amountOut",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "amountInMax",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "turnOnSmartCol",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "authority",
"isWritable": true,
"isSigner": true,
"isOptional": false,
"defaultValue": { "kind": "identityValueNode" }
},
{
"kind": "instructionAccountNode",
"name": "dexAdmin",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "dex",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "adminToken0Account",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "adminToken1Account",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0Reserve",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1Reserve",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0RateModel",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1RateModel",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0Vault",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1Vault",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "dexSupplyPositionToken0",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "dexSupplyPositionToken1",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "dexBorrowPositionToken0",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "dexBorrowPositionToken1",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "liquidity",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "liquidityProgram",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0Program",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1Program",
"isWritable": false,
"isSigner": false,
"isOptional": false
}
],
"arguments": [
{
"kind": "instructionArgumentNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": { "kind": "fixedSizeTypeNode", "size": 8, "type": { "kind": "bytesTypeNode" } },
"defaultValue": {
"kind": "bytesValueNode",
"data": "8fec83ad165ad6ca",
"encoding": "base16"
}
},
{
"kind": "instructionArgumentNode",
"name": "token0Amt",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "turnOnSmartDebt",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "authority",
"isWritable": true,
"isSigner": true,
"isOptional": false,
"defaultValue": { "kind": "identityValueNode" }
},
{
"kind": "instructionAccountNode",
"name": "dexAdmin",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "dex",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "adminToken0Account",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "adminToken1Account",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0Reserve",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1Reserve",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0RateModel",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1RateModel",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0Vault",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1Vault",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "dexSupplyPositionToken0",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "dexSupplyPositionToken1",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "dexBorrowPositionToken0",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "dexBorrowPositionToken1",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "liquidity",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "liquidityProgram",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0Program",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1Program",
"isWritable": false,
"isSigner": false,
"isOptional": false
}
],
"arguments": [
{
"kind": "instructionArgumentNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": { "kind": "fixedSizeTypeNode", "size": 8, "type": { "kind": "bytesTypeNode" } },
"defaultValue": {
"kind": "bytesValueNode",
"data": "b1b8d7dd5ce79953",
"encoding": "base16"
}
},
{
"kind": "instructionArgumentNode",
"name": "token0Amt",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "unpauseDex",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "authority",
"isWritable": false,
"isSigner": true,
"isOptional": false,
"defaultValue": { "kind": "identityValueNode" }
},
{
"kind": "instructionAccountNode",
"name": "dexAdmin",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "dex",
"isWritable": true,
"isSigner": false,
"isOptional": false
}
],
"arguments": [
{
"kind": "instructionArgumentNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": { "kind": "fixedSizeTypeNode", "size": 8, "type": { "kind": "bytesTypeNode" } },
"defaultValue": {
"kind": "bytesValueNode",
"data": "5834af69d274b2da",
"encoding": "base16"
}
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "unpauseSwapAndArbitrage",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "authority",
"isWritable": false,
"isSigner": true,
"isOptional": false,
"defaultValue": { "kind": "identityValueNode" }
},
{
"kind": "instructionAccountNode",
"name": "dexAdmin",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "dex",
"isWritable": true,
"isSigner": false,
"isOptional": false
}
],
"arguments": [
{
"kind": "instructionArgumentNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": { "kind": "fixedSizeTypeNode", "size": 8, "type": { "kind": "bytesTypeNode" } },
"defaultValue": {
"kind": "bytesValueNode",
"data": "f104c56ef4ffacb8",
"encoding": "base16"
}
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "unpauseUser",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "authority",
"isWritable": false,
"isSigner": true,
"isOptional": false,
"defaultValue": { "kind": "identityValueNode" }
},
{
"kind": "instructionAccountNode",
"name": "dexAdmin",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "dex",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "position",
"isWritable": true,
"isSigner": false,
"isOptional": false
}
],
"arguments": [
{
"kind": "instructionArgumentNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": { "kind": "fixedSizeTypeNode", "size": 8, "type": { "kind": "bytesTypeNode" } },
"defaultValue": {
"kind": "bytesValueNode",
"data": "477380fcb67eea3e",
"encoding": "base16"
}
},
{
"kind": "instructionArgumentNode",
"name": "unpauseSupply",
"type": {
"kind": "booleanTypeNode",
"size": { "kind": "numberTypeNode", "format": "u8", "endian": "le" }
}
},
{
"kind": "instructionArgumentNode",
"name": "unpauseBorrow",
"type": {
"kind": "booleanTypeNode",
"size": { "kind": "numberTypeNode", "format": "u8", "endian": "le" }
}
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "updateAuthority",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "authority",
"isWritable": false,
"isSigner": true,
"isOptional": false,
"defaultValue": { "kind": "identityValueNode" }
},
{
"kind": "instructionAccountNode",
"name": "dexAdmin",
"isWritable": true,
"isSigner": false,
"isOptional": false
}
],
"arguments": [
{
"kind": "instructionArgumentNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": { "kind": "fixedSizeTypeNode", "size": 8, "type": { "kind": "bytesTypeNode" } },
"defaultValue": {
"kind": "bytesValueNode",
"data": "202e401c954bf358",
"encoding": "base16"
}
},
{
"kind": "instructionArgumentNode",
"name": "newAuthority",
"type": { "kind": "publicKeyTypeNode" }
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "updateAuths",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "authority",
"isWritable": false,
"isSigner": true,
"isOptional": false,
"defaultValue": { "kind": "identityValueNode" }
},
{
"kind": "instructionAccountNode",
"name": "dexAdmin",
"isWritable": true,
"isSigner": false,
"isOptional": false
}
],
"arguments": [
{
"kind": "instructionArgumentNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": { "kind": "fixedSizeTypeNode", "size": 8, "type": { "kind": "bytesTypeNode" } },
"defaultValue": {
"kind": "bytesValueNode",
"data": "5d60b29c3975fdd1",
"encoding": "base16"
}
},
{
"kind": "instructionArgumentNode",
"name": "authStatus",
"type": {
"kind": "arrayTypeNode",
"item": { "kind": "definedTypeLinkNode", "name": "addressBool" },
"count": {
"kind": "prefixedCountNode",
"prefix": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
}
}
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "updateCenterPriceAddress",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "authority",
"isWritable": false,
"isSigner": true,
"isOptional": false,
"defaultValue": { "kind": "identityValueNode" }
},
{
"kind": "instructionAccountNode",
"name": "dexAdmin",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "dex",
"isWritable": true,
"isSigner": false,
"isOptional": false
}
],
"arguments": [
{
"kind": "instructionArgumentNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": { "kind": "fixedSizeTypeNode", "size": 8, "type": { "kind": "bytesTypeNode" } },
"defaultValue": {
"kind": "bytesValueNode",
"data": "2d6e6027c9fa8e01",
"encoding": "base16"
}
},
{
"kind": "instructionArgumentNode",
"name": "centerPriceAddress",
"type": { "kind": "publicKeyTypeNode" }
},
{
"kind": "instructionArgumentNode",
"name": "percent",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "time",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "updateCenterPriceLimits",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "authority",
"isWritable": false,
"isSigner": true,
"isOptional": false,
"defaultValue": { "kind": "identityValueNode" }
},
{
"kind": "instructionAccountNode",
"name": "dexAdmin",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "dex",
"isWritable": true,
"isSigner": false,
"isOptional": false
}
],
"arguments": [
{
"kind": "instructionArgumentNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": { "kind": "fixedSizeTypeNode", "size": 8, "type": { "kind": "bytesTypeNode" } },
"defaultValue": {
"kind": "bytesValueNode",
"data": "111738c8eda31898",
"encoding": "base16"
}
},
{
"kind": "instructionArgumentNode",
"name": "maxCenterPrice",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "minCenterPrice",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "updateDexLookupTable",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "authority",
"isWritable": false,
"isSigner": true,
"isOptional": false,
"defaultValue": { "kind": "identityValueNode" }
},
{
"kind": "instructionAccountNode",
"name": "dexAdmin",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "dexMetadata",
"isWritable": true,
"isSigner": false,
"isOptional": false,
"docs": ["@dev Verification inside instruction logic"]
}
],
"arguments": [
{
"kind": "instructionArgumentNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": { "kind": "fixedSizeTypeNode", "size": 8, "type": { "kind": "bytesTypeNode" } },
"defaultValue": {
"kind": "bytesValueNode",
"data": "5795605f1814d32b",
"encoding": "base16"
}
},
{
"kind": "instructionArgumentNode",
"name": "dexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "lookupTable",
"type": { "kind": "publicKeyTypeNode" }
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "updateFeeAndRevenueCut",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "authority",
"isWritable": false,
"isSigner": true,
"isOptional": false,
"defaultValue": { "kind": "identityValueNode" }
},
{
"kind": "instructionAccountNode",
"name": "dexAdmin",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "dex",
"isWritable": true,
"isSigner": false,
"isOptional": false
}
],
"arguments": [
{
"kind": "instructionArgumentNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": { "kind": "fixedSizeTypeNode", "size": 8, "type": { "kind": "bytesTypeNode" } },
"defaultValue": {
"kind": "bytesValueNode",
"data": "dffbb507223db77a",
"encoding": "base16"
}
},
{
"kind": "instructionArgumentNode",
"name": "fee",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "revenueCut",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "updateGuardians",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "authority",
"isWritable": false,
"isSigner": true,
"isOptional": false,
"defaultValue": { "kind": "identityValueNode" }
},
{
"kind": "instructionAccountNode",
"name": "dexAdmin",
"isWritable": true,
"isSigner": false,
"isOptional": false
}
],
"arguments": [
{
"kind": "instructionArgumentNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": { "kind": "fixedSizeTypeNode", "size": 8, "type": { "kind": "bytesTypeNode" } },
"defaultValue": {
"kind": "bytesValueNode",
"data": "2b3efa8a8d758461",
"encoding": "base16"
}
},
{
"kind": "instructionArgumentNode",
"name": "guardianStatus",
"type": {
"kind": "arrayTypeNode",
"item": { "kind": "definedTypeLinkNode", "name": "addressBool" },
"count": {
"kind": "prefixedCountNode",
"prefix": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
}
}
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "updateMaxBorrowShares",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "authority",
"isWritable": false,
"isSigner": true,
"isOptional": false,
"defaultValue": { "kind": "identityValueNode" }
},
{
"kind": "instructionAccountNode",
"name": "dexAdmin",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "dex",
"isWritable": true,
"isSigner": false,
"isOptional": false
}
],
"arguments": [
{
"kind": "instructionArgumentNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": { "kind": "fixedSizeTypeNode", "size": 8, "type": { "kind": "bytesTypeNode" } },
"defaultValue": {
"kind": "bytesValueNode",
"data": "b00d79bde1e1ee4e",
"encoding": "base16"
}
},
{
"kind": "instructionArgumentNode",
"name": "maxBorrowShares",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "updateMaxSupplyShares",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "authority",
"isWritable": false,
"isSigner": true,
"isOptional": false,
"defaultValue": { "kind": "identityValueNode" }
},
{
"kind": "instructionAccountNode",
"name": "dexAdmin",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "dex",
"isWritable": true,
"isSigner": false,
"isOptional": false
}
],
"arguments": [
{
"kind": "instructionArgumentNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": { "kind": "fixedSizeTypeNode", "size": 8, "type": { "kind": "bytesTypeNode" } },
"defaultValue": {
"kind": "bytesValueNode",
"data": "b39d25ceb033254f",
"encoding": "base16"
}
},
{
"kind": "instructionArgumentNode",
"name": "maxSupplyShares",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "updateRangePercents",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "authority",
"isWritable": false,
"isSigner": true,
"isOptional": false,
"defaultValue": { "kind": "identityValueNode" }
},
{
"kind": "instructionAccountNode",
"name": "dexAdmin",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "dex",
"isWritable": true,
"isSigner": false,
"isOptional": false
}
],
"arguments": [
{
"kind": "instructionArgumentNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": { "kind": "fixedSizeTypeNode", "size": 8, "type": { "kind": "bytesTypeNode" } },
"defaultValue": {
"kind": "bytesValueNode",
"data": "33e9e42b5b073e14",
"encoding": "base16"
}
},
{
"kind": "instructionArgumentNode",
"name": "upperPercent",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "lowerPercent",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "shiftTime",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "updateThresholdPercent",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "authority",
"isWritable": false,
"isSigner": true,
"isOptional": false,
"defaultValue": { "kind": "identityValueNode" }
},
{
"kind": "instructionAccountNode",
"name": "dexAdmin",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "dex",
"isWritable": true,
"isSigner": false,
"isOptional": false
}
],
"arguments": [
{
"kind": "instructionArgumentNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": { "kind": "fixedSizeTypeNode", "size": 8, "type": { "kind": "bytesTypeNode" } },
"defaultValue": {
"kind": "bytesValueNode",
"data": "b17d63862afe8cea",
"encoding": "base16"
}
},
{
"kind": "instructionArgumentNode",
"name": "upperThresholdPercent",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "lowerThresholdPercent",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "thresholdShiftTime",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "shiftTime",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "updateUserBorrowConfig",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "authority",
"isWritable": false,
"isSigner": true,
"isOptional": false,
"defaultValue": { "kind": "identityValueNode" }
},
{
"kind": "instructionAccountNode",
"name": "dexAdmin",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "dex",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "position",
"isWritable": true,
"isSigner": false,
"isOptional": false
}
],
"arguments": [
{
"kind": "instructionArgumentNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": { "kind": "fixedSizeTypeNode", "size": 8, "type": { "kind": "bytesTypeNode" } },
"defaultValue": {
"kind": "bytesValueNode",
"data": "64b0c9aef70236a8",
"encoding": "base16"
}
},
{
"kind": "instructionArgumentNode",
"name": "expandPercent",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "expandDuration",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "baseDebtCeiling",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "maxDebtCeiling",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "updateUserSupplyConfig",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "authority",
"isWritable": false,
"isSigner": true,
"isOptional": false,
"defaultValue": { "kind": "identityValueNode" }
},
{
"kind": "instructionAccountNode",
"name": "dexAdmin",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "dex",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "position",
"isWritable": true,
"isSigner": false,
"isOptional": false
}
],
"arguments": [
{
"kind": "instructionArgumentNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": { "kind": "fixedSizeTypeNode", "size": 8, "type": { "kind": "bytesTypeNode" } },
"defaultValue": {
"kind": "bytesValueNode",
"data": "d9efe1da2131eab7",
"encoding": "base16"
}
},
{
"kind": "instructionArgumentNode",
"name": "expandPercent",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "expandDuration",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "baseWithdrawalLimit",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "updateUserWithdrawalLimit",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "authority",
"isWritable": false,
"isSigner": true,
"isOptional": false,
"defaultValue": { "kind": "identityValueNode" }
},
{
"kind": "instructionAccountNode",
"name": "dexAdmin",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "dex",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "position",
"isWritable": true,
"isSigner": false,
"isOptional": false
}
],
"arguments": [
{
"kind": "instructionArgumentNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": { "kind": "fixedSizeTypeNode", "size": 8, "type": { "kind": "bytesTypeNode" } },
"defaultValue": {
"kind": "bytesValueNode",
"data": "a209ba09d51ead4e",
"encoding": "base16"
}
},
{
"kind": "instructionArgumentNode",
"name": "newLimit",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "updateUtilizationLimit",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "authority",
"isWritable": false,
"isSigner": true,
"isOptional": false,
"defaultValue": { "kind": "identityValueNode" }
},
{
"kind": "instructionAccountNode",
"name": "dexAdmin",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "dex",
"isWritable": true,
"isSigner": false,
"isOptional": false
}
],
"arguments": [
{
"kind": "instructionArgumentNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": { "kind": "fixedSizeTypeNode", "size": 8, "type": { "kind": "bytesTypeNode" } },
"defaultValue": {
"kind": "bytesValueNode",
"data": "309100eb763b37cf",
"encoding": "base16"
}
},
{
"kind": "instructionArgumentNode",
"name": "token0UtilizationLimit",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "token1UtilizationLimit",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "withdraw",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "signer",
"isWritable": true,
"isSigner": true,
"isOptional": false,
"docs": ["The protocol calling the operation (must match position.protocol)"]
},
{
"kind": "instructionAccountNode",
"name": "dex",
"isWritable": true,
"isSigner": false,
"isOptional": false,
"docs": ["DEX pool state"]
},
{
"kind": "instructionAccountNode",
"name": "user",
"isWritable": false,
"isSigner": true,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "position",
"isWritable": true,
"isSigner": false,
"isOptional": false,
"docs": ["The user's DexPosition (tracks shares and limits)"]
},
{
"kind": "instructionAccountNode",
"name": "userToken0Account",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "userToken1Account",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0Reserve",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1Reserve",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0RateModel",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1RateModel",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0Vault",
"isWritable": true,
"isSigner": false,
"isOptional": false,
"docs": ["Liquidity vault token account for tokens"]
},
{
"kind": "instructionAccountNode",
"name": "token1Vault",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "dexSupplyPositionToken0",
"isWritable": true,
"isSigner": false,
"isOptional": true,
"docs": ["DEX's supply position for tokens on liquidity"]
},
{
"kind": "instructionAccountNode",
"name": "dexSupplyPositionToken1",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "dexBorrowPositionToken0",
"isWritable": true,
"isSigner": false,
"isOptional": true,
"docs": ["DEX's borrow position for tokens on liquidity"]
},
{
"kind": "instructionAccountNode",
"name": "dexBorrowPositionToken1",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "liquidity",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "liquidityProgram",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "oracleProgram",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0Program",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1Program",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "recipient",
"isWritable": false,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "recipientToken0Account",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "recipientToken1Account",
"isWritable": true,
"isSigner": false,
"isOptional": true
}
],
"arguments": [
{
"kind": "instructionArgumentNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": { "kind": "fixedSizeTypeNode", "size": 8, "type": { "kind": "bytesTypeNode" } },
"defaultValue": {
"kind": "bytesValueNode",
"data": "b712469c946da122",
"encoding": "base16"
}
},
{
"kind": "instructionArgumentNode",
"name": "token0Amt",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "token1Amt",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "maxShares",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "withdrawPerfect",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "signer",
"isWritable": true,
"isSigner": true,
"isOptional": false,
"docs": ["The protocol calling the operation (must match position.protocol)"]
},
{
"kind": "instructionAccountNode",
"name": "dex",
"isWritable": true,
"isSigner": false,
"isOptional": false,
"docs": ["DEX pool state"]
},
{
"kind": "instructionAccountNode",
"name": "user",
"isWritable": false,
"isSigner": true,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "position",
"isWritable": true,
"isSigner": false,
"isOptional": false,
"docs": ["The user's DexPosition (tracks shares and limits)"]
},
{
"kind": "instructionAccountNode",
"name": "userToken0Account",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "userToken1Account",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0Reserve",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1Reserve",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0RateModel",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1RateModel",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0Vault",
"isWritable": true,
"isSigner": false,
"isOptional": false,
"docs": ["Liquidity vault token account for tokens"]
},
{
"kind": "instructionAccountNode",
"name": "token1Vault",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "dexSupplyPositionToken0",
"isWritable": true,
"isSigner": false,
"isOptional": true,
"docs": ["DEX's supply position for tokens on liquidity"]
},
{
"kind": "instructionAccountNode",
"name": "dexSupplyPositionToken1",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "dexBorrowPositionToken0",
"isWritable": true,
"isSigner": false,
"isOptional": true,
"docs": ["DEX's borrow position for tokens on liquidity"]
},
{
"kind": "instructionAccountNode",
"name": "dexBorrowPositionToken1",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "liquidity",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "liquidityProgram",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "oracleProgram",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0Program",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1Program",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "recipient",
"isWritable": false,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "recipientToken0Account",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "recipientToken1Account",
"isWritable": true,
"isSigner": false,
"isOptional": true
}
],
"arguments": [
{
"kind": "instructionArgumentNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": { "kind": "fixedSizeTypeNode", "size": 8, "type": { "kind": "bytesTypeNode" } },
"defaultValue": {
"kind": "bytesValueNode",
"data": "29aa7aa6149ab4f5",
"encoding": "base16"
}
},
{
"kind": "instructionArgumentNode",
"name": "shares",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "minToken0",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "minToken1",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "withdrawPerfectInOneToken",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "signer",
"isWritable": true,
"isSigner": true,
"isOptional": false,
"docs": ["The protocol calling the operation (must match position.protocol)"]
},
{
"kind": "instructionAccountNode",
"name": "dex",
"isWritable": true,
"isSigner": false,
"isOptional": false,
"docs": ["DEX pool state"]
},
{
"kind": "instructionAccountNode",
"name": "user",
"isWritable": false,
"isSigner": true,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "position",
"isWritable": true,
"isSigner": false,
"isOptional": false,
"docs": ["The user's DexPosition (tracks shares and limits)"]
},
{
"kind": "instructionAccountNode",
"name": "userToken0Account",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "userToken1Account",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0Reserve",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1Reserve",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0RateModel",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1RateModel",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0Vault",
"isWritable": true,
"isSigner": false,
"isOptional": false,
"docs": ["Liquidity vault token account for tokens"]
},
{
"kind": "instructionAccountNode",
"name": "token1Vault",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "dexSupplyPositionToken0",
"isWritable": true,
"isSigner": false,
"isOptional": true,
"docs": ["DEX's supply position for tokens on liquidity"]
},
{
"kind": "instructionAccountNode",
"name": "dexSupplyPositionToken1",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "dexBorrowPositionToken0",
"isWritable": true,
"isSigner": false,
"isOptional": true,
"docs": ["DEX's borrow position for tokens on liquidity"]
},
{
"kind": "instructionAccountNode",
"name": "dexBorrowPositionToken1",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "liquidity",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "liquidityProgram",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "oracleProgram",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token0Program",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "token1Program",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "recipient",
"isWritable": false,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "recipientToken0Account",
"isWritable": true,
"isSigner": false,
"isOptional": true
},
{
"kind": "instructionAccountNode",
"name": "recipientToken1Account",
"isWritable": true,
"isSigner": false,
"isOptional": true
}
],
"arguments": [
{
"kind": "instructionArgumentNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": { "kind": "fixedSizeTypeNode", "size": 8, "type": { "kind": "bytesTypeNode" } },
"defaultValue": {
"kind": "bytesValueNode",
"data": "c84897c5180ff3a5",
"encoding": "base16"
}
},
{
"kind": "instructionArgumentNode",
"name": "shares",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "minToken0",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "minToken1",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
}
],
"definedTypes": [
{
"kind": "definedTypeNode",
"name": "addressBool",
"type": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "addr",
"type": { "kind": "publicKeyTypeNode" }
},
{
"kind": "structFieldTypeNode",
"name": "value",
"type": {
"kind": "booleanTypeNode",
"size": { "kind": "numberTypeNode", "format": "u8", "endian": "le" }
}
}
]
}
}
],
"pdas": [
{
"kind": "pdaNode",
"name": "dexAdmin",
"seeds": [
{
"kind": "constantPdaSeedNode",
"type": { "kind": "bytesTypeNode" },
"value": { "kind": "bytesValueNode", "data": "2H7uTSrecmW7F", "encoding": "base58" }
}
]
},
{
"kind": "pdaNode",
"name": "dex",
"seeds": [
{
"kind": "constantPdaSeedNode",
"type": { "kind": "bytesTypeNode" },
"value": { "kind": "bytesValueNode", "data": "aisy", "encoding": "base58" }
},
{
"kind": "variablePdaSeedNode",
"name": "dexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
}
]
},
{
"kind": "pdaNode",
"name": "dexMetadata",
"seeds": [
{
"kind": "constantPdaSeedNode",
"type": { "kind": "bytesTypeNode" },
"value": { "kind": "bytesValueNode", "data": "2ttKYmmZdKz4HoPgc", "encoding": "base58" }
},
{
"kind": "variablePdaSeedNode",
"name": "dexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
}
]
},
{
"kind": "pdaNode",
"name": "position",
"seeds": [
{
"kind": "constantPdaSeedNode",
"type": { "kind": "bytesTypeNode" },
"value": { "kind": "bytesValueNode", "data": "2ttKYmn57KMD8V1cq", "encoding": "base58" }
},
{ "kind": "variablePdaSeedNode", "name": "dex", "type": { "kind": "publicKeyTypeNode" } },
{
"kind": "variablePdaSeedNode",
"name": "protocol",
"type": { "kind": "publicKeyTypeNode" }
}
]
}
],
"events": [
{
"kind": "eventNode",
"name": "logArbitrage",
"data": {
"kind": "hiddenPrefixTypeNode",
"type": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "dexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "routing",
"type": { "kind": "numberTypeNode", "format": "i128", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "amtOut",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
}
]
},
"prefix": [
{
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "69a53409dad32e0d",
"encoding": "base16"
}
}
]
},
"discriminators": [
{
"kind": "constantDiscriminatorNode",
"offset": 0,
"constant": {
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "69a53409dad32e0d",
"encoding": "base16"
}
}
}
]
},
{
"kind": "eventNode",
"name": "logBorrowDebtLiquidity",
"data": {
"kind": "hiddenPrefixTypeNode",
"type": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "dexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "amount0",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "amount1",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "shares",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "user",
"type": { "kind": "publicKeyTypeNode" }
},
{
"kind": "structFieldTypeNode",
"name": "protocol",
"type": { "kind": "publicKeyTypeNode" }
}
]
},
"prefix": [
{
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "467cac77fc5b3e04",
"encoding": "base16"
}
}
]
},
"discriminators": [
{
"kind": "constantDiscriminatorNode",
"offset": 0,
"constant": {
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "467cac77fc5b3e04",
"encoding": "base16"
}
}
}
]
},
{
"kind": "eventNode",
"name": "logBorrowPerfectDebtLiquidity",
"data": {
"kind": "hiddenPrefixTypeNode",
"type": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "dexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "shares",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "token0Amt",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "token1Amt",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "user",
"type": { "kind": "publicKeyTypeNode" }
},
{
"kind": "structFieldTypeNode",
"name": "protocol",
"type": { "kind": "publicKeyTypeNode" }
}
]
},
"prefix": [
{
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "a4fa10c09803ee6b",
"encoding": "base16"
}
}
]
},
"discriminators": [
{
"kind": "constantDiscriminatorNode",
"offset": 0,
"constant": {
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "a4fa10c09803ee6b",
"encoding": "base16"
}
}
}
]
},
{
"kind": "eventNode",
"name": "logDepositColLiquidity",
"data": {
"kind": "hiddenPrefixTypeNode",
"type": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "dexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "amount0",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "amount1",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "shares",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "user",
"type": { "kind": "publicKeyTypeNode" }
},
{
"kind": "structFieldTypeNode",
"name": "protocol",
"type": { "kind": "publicKeyTypeNode" }
}
]
},
"prefix": [
{
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "a269644c595f45bd",
"encoding": "base16"
}
}
]
},
"discriminators": [
{
"kind": "constantDiscriminatorNode",
"offset": 0,
"constant": {
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "a269644c595f45bd",
"encoding": "base16"
}
}
}
]
},
{
"kind": "eventNode",
"name": "logDepositPerfectColLiquidity",
"data": {
"kind": "hiddenPrefixTypeNode",
"type": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "dexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "shares",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "token0Amt",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "token1Amt",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "user",
"type": { "kind": "publicKeyTypeNode" }
},
{
"kind": "structFieldTypeNode",
"name": "protocol",
"type": { "kind": "publicKeyTypeNode" }
}
]
},
"prefix": [
{
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "215ba9e7a35325fe",
"encoding": "base16"
}
}
]
},
"discriminators": [
{
"kind": "constantDiscriminatorNode",
"offset": 0,
"constant": {
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "215ba9e7a35325fe",
"encoding": "base16"
}
}
}
]
},
{
"kind": "eventNode",
"name": "logInitDex",
"data": {
"kind": "hiddenPrefixTypeNode",
"type": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "dexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "token0",
"type": { "kind": "publicKeyTypeNode" }
},
{
"kind": "structFieldTypeNode",
"name": "token1",
"type": { "kind": "publicKeyTypeNode" }
},
{
"kind": "structFieldTypeNode",
"name": "smartCol",
"type": {
"kind": "booleanTypeNode",
"size": { "kind": "numberTypeNode", "format": "u8", "endian": "le" }
}
},
{
"kind": "structFieldTypeNode",
"name": "smartDebt",
"type": {
"kind": "booleanTypeNode",
"size": { "kind": "numberTypeNode", "format": "u8", "endian": "le" }
}
},
{
"kind": "structFieldTypeNode",
"name": "fee",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "revenueCut",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "centerPrice",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
}
]
},
"prefix": [
{
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "aa41f17d22c24f84",
"encoding": "base16"
}
}
]
},
"discriminators": [
{
"kind": "constantDiscriminatorNode",
"offset": 0,
"constant": {
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "aa41f17d22c24f84",
"encoding": "base16"
}
}
}
]
},
{
"kind": "eventNode",
"name": "logInitDexMetadata",
"data": {
"kind": "hiddenPrefixTypeNode",
"type": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "dexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "lookupTable",
"type": { "kind": "publicKeyTypeNode" }
}
]
},
"prefix": [
{
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "353df86ff5dba749",
"encoding": "base16"
}
}
]
},
"discriminators": [
{
"kind": "constantDiscriminatorNode",
"offset": 0,
"constant": {
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "353df86ff5dba749",
"encoding": "base16"
}
}
}
]
},
{
"kind": "eventNode",
"name": "logInitDexPriceParams",
"data": {
"kind": "hiddenPrefixTypeNode",
"type": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "dexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "upperPercent",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "lowerPercent",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "upperShiftThreshold",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "lowerShiftThreshold",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "thresholdShiftTime",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "maxCenterPrice",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "minCenterPrice",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
}
]
},
"prefix": [
{
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "9a62654808cb25c8",
"encoding": "base16"
}
}
]
},
"discriminators": [
{
"kind": "constantDiscriminatorNode",
"offset": 0,
"constant": {
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "9a62654808cb25c8",
"encoding": "base16"
}
}
}
]
},
{
"kind": "eventNode",
"name": "logPauseDex",
"data": {
"kind": "hiddenPrefixTypeNode",
"type": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "dexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
}
]
},
"prefix": [
{
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "6bcaccff64495c75",
"encoding": "base16"
}
}
]
},
"discriminators": [
{
"kind": "constantDiscriminatorNode",
"offset": 0,
"constant": {
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "6bcaccff64495c75",
"encoding": "base16"
}
}
}
]
},
{
"kind": "eventNode",
"name": "logPauseSwapAndArbitrage",
"data": {
"kind": "hiddenPrefixTypeNode",
"type": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "dexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
}
]
},
"prefix": [
{
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "67b8e43400e5049a",
"encoding": "base16"
}
}
]
},
"discriminators": [
{
"kind": "constantDiscriminatorNode",
"offset": 0,
"constant": {
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "67b8e43400e5049a",
"encoding": "base16"
}
}
}
]
},
{
"kind": "eventNode",
"name": "logPauseUser",
"data": {
"kind": "hiddenPrefixTypeNode",
"type": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "dexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "protocol",
"type": { "kind": "publicKeyTypeNode" }
},
{
"kind": "structFieldTypeNode",
"name": "pauseSupply",
"type": {
"kind": "booleanTypeNode",
"size": { "kind": "numberTypeNode", "format": "u8", "endian": "le" }
}
},
{
"kind": "structFieldTypeNode",
"name": "pauseBorrow",
"type": {
"kind": "booleanTypeNode",
"size": { "kind": "numberTypeNode", "format": "u8", "endian": "le" }
}
}
]
},
"prefix": [
{
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "641172e0b41e34aa",
"encoding": "base16"
}
}
]
},
"discriminators": [
{
"kind": "constantDiscriminatorNode",
"offset": 0,
"constant": {
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "641172e0b41e34aa",
"encoding": "base16"
}
}
}
]
},
{
"kind": "eventNode",
"name": "logPaybackDebtInOneToken",
"data": {
"kind": "hiddenPrefixTypeNode",
"type": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "dexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "shares",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "token0Amt",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "token1Amt",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "user",
"type": { "kind": "publicKeyTypeNode" }
},
{
"kind": "structFieldTypeNode",
"name": "protocol",
"type": { "kind": "publicKeyTypeNode" }
}
]
},
"prefix": [
{
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "7b1f6c0e0cc91453",
"encoding": "base16"
}
}
]
},
"discriminators": [
{
"kind": "constantDiscriminatorNode",
"offset": 0,
"constant": {
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "7b1f6c0e0cc91453",
"encoding": "base16"
}
}
}
]
},
{
"kind": "eventNode",
"name": "logPaybackDebtLiquidity",
"data": {
"kind": "hiddenPrefixTypeNode",
"type": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "dexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "amount0",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "amount1",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "shares",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "user",
"type": { "kind": "publicKeyTypeNode" }
},
{
"kind": "structFieldTypeNode",
"name": "protocol",
"type": { "kind": "publicKeyTypeNode" }
}
]
},
"prefix": [
{
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "e6bef572715cad1b",
"encoding": "base16"
}
}
]
},
"discriminators": [
{
"kind": "constantDiscriminatorNode",
"offset": 0,
"constant": {
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "e6bef572715cad1b",
"encoding": "base16"
}
}
}
]
},
{
"kind": "eventNode",
"name": "logPaybackPerfectDebtLiquidity",
"data": {
"kind": "hiddenPrefixTypeNode",
"type": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "dexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "shares",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "token0Amt",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "token1Amt",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "user",
"type": { "kind": "publicKeyTypeNode" }
},
{
"kind": "structFieldTypeNode",
"name": "protocol",
"type": { "kind": "publicKeyTypeNode" }
}
]
},
"prefix": [
{
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "4be9e826991fef6d",
"encoding": "base16"
}
}
]
},
"discriminators": [
{
"kind": "constantDiscriminatorNode",
"offset": 0,
"constant": {
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "4be9e826991fef6d",
"encoding": "base16"
}
}
}
]
},
{
"kind": "eventNode",
"name": "logSwap",
"data": {
"kind": "hiddenPrefixTypeNode",
"type": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "dexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "swap0To1",
"type": {
"kind": "booleanTypeNode",
"size": { "kind": "numberTypeNode", "format": "u8", "endian": "le" }
}
},
{
"kind": "structFieldTypeNode",
"name": "amountIn",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "amountOut",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "to",
"type": { "kind": "publicKeyTypeNode" }
}
]
},
"prefix": [
{
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "caf2e41c25c23422",
"encoding": "base16"
}
}
]
},
"discriminators": [
{
"kind": "constantDiscriminatorNode",
"offset": 0,
"constant": {
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "caf2e41c25c23422",
"encoding": "base16"
}
}
}
]
},
{
"kind": "eventNode",
"name": "logTurnOnSmartCol",
"data": {
"kind": "hiddenPrefixTypeNode",
"type": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "dexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "token0Amt",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
}
]
},
"prefix": [
{
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "6cfeff9350376256",
"encoding": "base16"
}
}
]
},
"discriminators": [
{
"kind": "constantDiscriminatorNode",
"offset": 0,
"constant": {
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "6cfeff9350376256",
"encoding": "base16"
}
}
}
]
},
{
"kind": "eventNode",
"name": "logTurnOnSmartDebt",
"data": {
"kind": "hiddenPrefixTypeNode",
"type": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "dexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "token0Amt",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
}
]
},
"prefix": [
{
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "172486685b8a7e7c",
"encoding": "base16"
}
}
]
},
"discriminators": [
{
"kind": "constantDiscriminatorNode",
"offset": 0,
"constant": {
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "172486685b8a7e7c",
"encoding": "base16"
}
}
}
]
},
{
"kind": "eventNode",
"name": "logUnpauseDex",
"data": {
"kind": "hiddenPrefixTypeNode",
"type": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "dexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
}
]
},
"prefix": [
{
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "06beffcfa547aad4",
"encoding": "base16"
}
}
]
},
"discriminators": [
{
"kind": "constantDiscriminatorNode",
"offset": 0,
"constant": {
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "06beffcfa547aad4",
"encoding": "base16"
}
}
}
]
},
{
"kind": "eventNode",
"name": "logUnpauseSwapAndArbitrage",
"data": {
"kind": "hiddenPrefixTypeNode",
"type": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "dexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
}
]
},
"prefix": [
{
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "e5787bbc92de9fff",
"encoding": "base16"
}
}
]
},
"discriminators": [
{
"kind": "constantDiscriminatorNode",
"offset": 0,
"constant": {
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "e5787bbc92de9fff",
"encoding": "base16"
}
}
}
]
},
{
"kind": "eventNode",
"name": "logUnpauseUser",
"data": {
"kind": "hiddenPrefixTypeNode",
"type": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "dexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "protocol",
"type": { "kind": "publicKeyTypeNode" }
},
{
"kind": "structFieldTypeNode",
"name": "unpauseSupply",
"type": {
"kind": "booleanTypeNode",
"size": { "kind": "numberTypeNode", "format": "u8", "endian": "le" }
}
},
{
"kind": "structFieldTypeNode",
"name": "unpauseBorrow",
"type": {
"kind": "booleanTypeNode",
"size": { "kind": "numberTypeNode", "format": "u8", "endian": "le" }
}
}
]
},
"prefix": [
{
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "aa5b8460b34da81a",
"encoding": "base16"
}
}
]
},
"discriminators": [
{
"kind": "constantDiscriminatorNode",
"offset": 0,
"constant": {
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "aa5b8460b34da81a",
"encoding": "base16"
}
}
}
]
},
{
"kind": "eventNode",
"name": "logUpdateAuthority",
"data": {
"kind": "hiddenPrefixTypeNode",
"type": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "newAuthority",
"type": { "kind": "publicKeyTypeNode" }
}
]
},
"prefix": [
{
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "96989d8f0687c165",
"encoding": "base16"
}
}
]
},
"discriminators": [
{
"kind": "constantDiscriminatorNode",
"offset": 0,
"constant": {
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "96989d8f0687c165",
"encoding": "base16"
}
}
}
]
},
{
"kind": "eventNode",
"name": "logUpdateAuths",
"data": {
"kind": "hiddenPrefixTypeNode",
"type": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "authStatus",
"type": {
"kind": "arrayTypeNode",
"item": { "kind": "definedTypeLinkNode", "name": "addressBool" },
"count": {
"kind": "prefixedCountNode",
"prefix": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
}
}
}
]
},
"prefix": [
{
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "58506d306fcb4cfb",
"encoding": "base16"
}
}
]
},
"discriminators": [
{
"kind": "constantDiscriminatorNode",
"offset": 0,
"constant": {
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "58506d306fcb4cfb",
"encoding": "base16"
}
}
}
]
},
{
"kind": "eventNode",
"name": "logUpdateCenterPriceAddress",
"data": {
"kind": "hiddenPrefixTypeNode",
"type": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "dexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "centerPriceAddress",
"type": { "kind": "publicKeyTypeNode" }
},
{
"kind": "structFieldTypeNode",
"name": "percent",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "time",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
}
]
},
"prefix": [
{
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "6018cf0226cb2b91",
"encoding": "base16"
}
}
]
},
"discriminators": [
{
"kind": "constantDiscriminatorNode",
"offset": 0,
"constant": {
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "6018cf0226cb2b91",
"encoding": "base16"
}
}
}
]
},
{
"kind": "eventNode",
"name": "logUpdateCenterPriceLimits",
"data": {
"kind": "hiddenPrefixTypeNode",
"type": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "dexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "maxCenterPrice",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "minCenterPrice",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
}
]
},
"prefix": [
{
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "6fe43d1fea4c0511",
"encoding": "base16"
}
}
]
},
"discriminators": [
{
"kind": "constantDiscriminatorNode",
"offset": 0,
"constant": {
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "6fe43d1fea4c0511",
"encoding": "base16"
}
}
}
]
},
{
"kind": "eventNode",
"name": "logUpdateDexLookupTable",
"data": {
"kind": "hiddenPrefixTypeNode",
"type": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "dexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "lookupTable",
"type": { "kind": "publicKeyTypeNode" }
}
]
},
"prefix": [
{
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "871fe860024074e5",
"encoding": "base16"
}
}
]
},
"discriminators": [
{
"kind": "constantDiscriminatorNode",
"offset": 0,
"constant": {
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "871fe860024074e5",
"encoding": "base16"
}
}
}
]
},
{
"kind": "eventNode",
"name": "logUpdateFeeAndRevenueCut",
"data": {
"kind": "hiddenPrefixTypeNode",
"type": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "dexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "fee",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "revenueCut",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
}
]
},
"prefix": [
{
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "bb0910e508e707ab",
"encoding": "base16"
}
}
]
},
"discriminators": [
{
"kind": "constantDiscriminatorNode",
"offset": 0,
"constant": {
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "bb0910e508e707ab",
"encoding": "base16"
}
}
}
]
},
{
"kind": "eventNode",
"name": "logUpdateGuardians",
"data": {
"kind": "hiddenPrefixTypeNode",
"type": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "guardianStatus",
"type": {
"kind": "arrayTypeNode",
"item": { "kind": "definedTypeLinkNode", "name": "addressBool" },
"count": {
"kind": "prefixedCountNode",
"prefix": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
}
}
}
]
},
"prefix": [
{
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "e71cbf33358c4f8e",
"encoding": "base16"
}
}
]
},
"discriminators": [
{
"kind": "constantDiscriminatorNode",
"offset": 0,
"constant": {
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "e71cbf33358c4f8e",
"encoding": "base16"
}
}
}
]
},
{
"kind": "eventNode",
"name": "logUpdateMaxBorrowShares",
"data": {
"kind": "hiddenPrefixTypeNode",
"type": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "dexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "maxBorrowShares",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
}
]
},
"prefix": [
{
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "167cf270ff2764ce",
"encoding": "base16"
}
}
]
},
"discriminators": [
{
"kind": "constantDiscriminatorNode",
"offset": 0,
"constant": {
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "167cf270ff2764ce",
"encoding": "base16"
}
}
}
]
},
{
"kind": "eventNode",
"name": "logUpdateMaxSupplyShares",
"data": {
"kind": "hiddenPrefixTypeNode",
"type": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "dexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "maxSupplyShares",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
}
]
},
"prefix": [
{
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "d19670c1f33fe9d4",
"encoding": "base16"
}
}
]
},
"discriminators": [
{
"kind": "constantDiscriminatorNode",
"offset": 0,
"constant": {
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "d19670c1f33fe9d4",
"encoding": "base16"
}
}
}
]
},
{
"kind": "eventNode",
"name": "logUpdateRangePercents",
"data": {
"kind": "hiddenPrefixTypeNode",
"type": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "dexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "upperPercent",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "lowerPercent",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "shiftTime",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
}
]
},
"prefix": [
{
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "952fa10681f03064",
"encoding": "base16"
}
}
]
},
"discriminators": [
{
"kind": "constantDiscriminatorNode",
"offset": 0,
"constant": {
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "952fa10681f03064",
"encoding": "base16"
}
}
}
]
},
{
"kind": "eventNode",
"name": "logUpdateThresholdPercent",
"data": {
"kind": "hiddenPrefixTypeNode",
"type": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "dexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "upperThresholdPercent",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "lowerThresholdPercent",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "thresholdShiftTime",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "shiftTime",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
}
]
},
"prefix": [
{
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "2c2e467319265c63",
"encoding": "base16"
}
}
]
},
"discriminators": [
{
"kind": "constantDiscriminatorNode",
"offset": 0,
"constant": {
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "2c2e467319265c63",
"encoding": "base16"
}
}
}
]
},
{
"kind": "eventNode",
"name": "logUpdateUserBorrowConfig",
"data": {
"kind": "hiddenPrefixTypeNode",
"type": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "dexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "protocol",
"type": { "kind": "publicKeyTypeNode" }
},
{
"kind": "structFieldTypeNode",
"name": "expandPercent",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "expandDuration",
"type": { "kind": "numberTypeNode", "format": "u32", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "baseDebtCeiling",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "maxDebtCeiling",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
}
]
},
"prefix": [
{
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "468eb8302c9ea603",
"encoding": "base16"
}
}
]
},
"discriminators": [
{
"kind": "constantDiscriminatorNode",
"offset": 0,
"constant": {
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "468eb8302c9ea603",
"encoding": "base16"
}
}
}
]
},
{
"kind": "eventNode",
"name": "logUpdateUserSupplyConfig",
"data": {
"kind": "hiddenPrefixTypeNode",
"type": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "dexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "protocol",
"type": { "kind": "publicKeyTypeNode" }
},
{
"kind": "structFieldTypeNode",
"name": "expandPercent",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "expandDuration",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "baseWithdrawalLimit",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
}
]
},
"prefix": [
{
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "568b23eb1e2ac0f5",
"encoding": "base16"
}
}
]
},
"discriminators": [
{
"kind": "constantDiscriminatorNode",
"offset": 0,
"constant": {
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "568b23eb1e2ac0f5",
"encoding": "base16"
}
}
}
]
},
{
"kind": "eventNode",
"name": "logUpdateUserWithdrawalLimit",
"data": {
"kind": "hiddenPrefixTypeNode",
"type": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "dexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "protocol",
"type": { "kind": "publicKeyTypeNode" }
},
{
"kind": "structFieldTypeNode",
"name": "newLimit",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
}
]
},
"prefix": [
{
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "728398bd78fd5869",
"encoding": "base16"
}
}
]
},
"discriminators": [
{
"kind": "constantDiscriminatorNode",
"offset": 0,
"constant": {
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "728398bd78fd5869",
"encoding": "base16"
}
}
}
]
},
{
"kind": "eventNode",
"name": "logUpdateUtilizationLimit",
"data": {
"kind": "hiddenPrefixTypeNode",
"type": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "dexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "token0UtilizationLimit",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "token1UtilizationLimit",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
}
]
},
"prefix": [
{
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "99efe3acfaf79b45",
"encoding": "base16"
}
}
]
},
"discriminators": [
{
"kind": "constantDiscriminatorNode",
"offset": 0,
"constant": {
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "99efe3acfaf79b45",
"encoding": "base16"
}
}
}
]
},
{
"kind": "eventNode",
"name": "logWithdrawColInOneToken",
"data": {
"kind": "hiddenPrefixTypeNode",
"type": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "dexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "shares",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "token0Amt",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "token1Amt",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "user",
"type": { "kind": "publicKeyTypeNode" }
},
{
"kind": "structFieldTypeNode",
"name": "protocol",
"type": { "kind": "publicKeyTypeNode" }
}
]
},
"prefix": [
{
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "5606e0b7d3d1c7e8",
"encoding": "base16"
}
}
]
},
"discriminators": [
{
"kind": "constantDiscriminatorNode",
"offset": 0,
"constant": {
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "5606e0b7d3d1c7e8",
"encoding": "base16"
}
}
}
]
},
{
"kind": "eventNode",
"name": "logWithdrawColLiquidity",
"data": {
"kind": "hiddenPrefixTypeNode",
"type": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "dexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "amount0",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "amount1",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "shares",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "user",
"type": { "kind": "publicKeyTypeNode" }
},
{
"kind": "structFieldTypeNode",
"name": "protocol",
"type": { "kind": "publicKeyTypeNode" }
}
]
},
"prefix": [
{
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "1d06b8949c41a4e4",
"encoding": "base16"
}
}
]
},
"discriminators": [
{
"kind": "constantDiscriminatorNode",
"offset": 0,
"constant": {
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "1d06b8949c41a4e4",
"encoding": "base16"
}
}
}
]
},
{
"kind": "eventNode",
"name": "logWithdrawPerfectColLiquidity",
"data": {
"kind": "hiddenPrefixTypeNode",
"type": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "dexId",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "shares",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "token0Amt",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "token1Amt",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "user",
"type": { "kind": "publicKeyTypeNode" }
},
{
"kind": "structFieldTypeNode",
"name": "protocol",
"type": { "kind": "publicKeyTypeNode" }
}
]
},
"prefix": [
{
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "c728f25a37a52969",
"encoding": "base16"
}
}
]
},
"discriminators": [
{
"kind": "constantDiscriminatorNode",
"offset": 0,
"constant": {
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "c728f25a37a52969",
"encoding": "base16"
}
}
}
]
}
],
"errors": [
{
"kind": "errorNode",
"name": "dexCpiToOracleFailed",
"code": 6000,
"message": "DEX_CPI_TO_ORACLE_FAILED",
"docs": ["DexCpiToOracleFailed: DEX_CPI_TO_ORACLE_FAILED"]
},
{
"kind": "errorNode",
"name": "dexUserNotDefined",
"code": 6001,
"message": "DEX_USER_NOT_DEFINED",
"docs": ["DexUserNotDefined: DEX_USER_NOT_DEFINED"]
},
{
"kind": "errorNode",
"name": "dexUserMustSign",
"code": 6002,
"message": "DEX_USER_MUST_SIGN",
"docs": ["DexUserMustSign: DEX_USER_MUST_SIGN"]
},
{
"kind": "errorNode",
"name": "dexAdminLiquidityProgramMismatch",
"code": 6003,
"message": "DEX_ADMIN_LIQUIDITY_PROGRAM_MISMATCH",
"docs": ["DexAdminLiquidityProgramMismatch: DEX_ADMIN_LIQUIDITY_PROGRAM_MISMATCH"]
},
{
"kind": "errorNode",
"name": "dexAdminAddressZeroNotAllowed",
"code": 6004,
"message": "DEX_ADMIN_ADDRESS_ZERO_NOT_ALLOWED",
"docs": ["DexAdminAddressZeroNotAllowed: DEX_ADMIN_ADDRESS_ZERO_NOT_ALLOWED"]
},
{
"kind": "errorNode",
"name": "dexAdminNotAnAuth",
"code": 6005,
"message": "DEX_ADMIN_NOT_AN_AUTH",
"docs": ["DexAdminNotAnAuth: DEX_ADMIN_NOT_AN_AUTH"]
},
{
"kind": "errorNode",
"name": "dexAdminPoolNotInitialized",
"code": 6006,
"message": "DEX_ADMIN_POOL_NOT_INITIALIZED",
"docs": ["DexAdminPoolNotInitialized: DEX_ADMIN_POOL_NOT_INITIALIZED"]
},
{
"kind": "errorNode",
"name": "dexAdminSmartColAlreadyOn",
"code": 6007,
"message": "DEX_ADMIN_SMART_COL_ALREADY_ON",
"docs": ["DexAdminSmartColAlreadyOn: DEX_ADMIN_SMART_COL_ALREADY_ON"]
},
{
"kind": "errorNode",
"name": "dexAdminSmartDebtAlreadyOn",
"code": 6008,
"message": "DEX_ADMIN_SMART_DEBT_ALREADY_ON",
"docs": ["DexAdminSmartDebtAlreadyOn: DEX_ADMIN_SMART_DEBT_ALREADY_ON"]
},
{
"kind": "errorNode",
"name": "dexAdminConfigOverflow",
"code": 6009,
"message": "DEX_ADMIN_CONFIG_OVERFLOW",
"docs": ["DexAdminConfigOverflow: DEX_ADMIN_CONFIG_OVERFLOW"]
},
{
"kind": "errorNode",
"name": "dexAdminInvalidParams",
"code": 6010,
"message": "DEX_ADMIN_INVALID_PARAMS",
"docs": ["DexAdminInvalidParams: DEX_ADMIN_INVALID_PARAMS"]
},
{
"kind": "errorNode",
"name": "dexAdminUserNotDefined",
"code": 6011,
"message": "DEX_ADMIN_USER_NOT_DEFINED",
"docs": ["DexAdminUserNotDefined: DEX_ADMIN_USER_NOT_DEFINED"]
},
{
"kind": "errorNode",
"name": "dexAdminInvalidPauseToggle",
"code": 6012,
"message": "DEX_ADMIN_INVALID_PAUSE_TOGGLE",
"docs": ["DexAdminInvalidPauseToggle: DEX_ADMIN_INVALID_PAUSE_TOGGLE"]
},
{
"kind": "errorNode",
"name": "dexAdminUnexpectedPoolState",
"code": 6013,
"message": "DEX_ADMIN_UNEXPECTED_POOL_STATE",
"docs": ["DexAdminUnexpectedPoolState: DEX_ADMIN_UNEXPECTED_POOL_STATE"]
},
{
"kind": "errorNode",
"name": "dexAdminAddressNotAProgram",
"code": 6014,
"message": "DEX_ADMIN_ADDRESS_NOT_A_PROGRAM",
"docs": ["DexAdminAddressNotAProgram: DEX_ADMIN_ADDRESS_NOT_A_PROGRAM"]
},
{
"kind": "errorNode",
"name": "dexAdminInvalidTokenDecimals",
"code": 6015,
"message": "DEX_ADMIN_INVALID_TOKEN_DECIMALS",
"docs": ["DexAdminInvalidTokenDecimals: DEX_ADMIN_INVALID_TOKEN_DECIMALS"]
},
{
"kind": "errorNode",
"name": "dexAdminPreviousShiftStillActive",
"code": 6016,
"message": "DEX_ADMIN_PREVIOUS_SHIFT_STILL_ACTIVE",
"docs": ["DexAdminPreviousShiftStillActive: DEX_ADMIN_PREVIOUS_SHIFT_STILL_ACTIVE"]
},
{
"kind": "errorNode",
"name": "dexAlreadyEntered",
"code": 6017,
"message": "DEX_ALREADY_ENTERED",
"docs": ["DexAlreadyEntered: DEX_ALREADY_ENTERED"]
},
{
"kind": "errorNode",
"name": "dexNotAnAuth",
"code": 6018,
"message": "DEX_NOT_AN_AUTH",
"docs": ["DexNotAnAuth: DEX_NOT_AN_AUTH"]
},
{
"kind": "errorNode",
"name": "dexSmartColNotEnabled",
"code": 6019,
"message": "DEX_SMART_COL_NOT_ENABLED",
"docs": ["DexSmartColNotEnabled: DEX_SMART_COL_NOT_ENABLED"]
},
{
"kind": "errorNode",
"name": "dexSmartDebtNotEnabled",
"code": 6020,
"message": "DEX_SMART_DEBT_NOT_ENABLED",
"docs": ["DexSmartDebtNotEnabled: DEX_SMART_DEBT_NOT_ENABLED"]
},
{
"kind": "errorNode",
"name": "dexPoolNotInitialized",
"code": 6021,
"message": "DEX_POOL_NOT_INITIALIZED",
"docs": ["DexPoolNotInitialized: DEX_POOL_NOT_INITIALIZED"]
},
{
"kind": "errorNode",
"name": "dexTokenReservesTooLow",
"code": 6022,
"message": "DEX_TOKEN_RESERVES_TOO_LOW",
"docs": ["DexTokenReservesTooLow: DEX_TOKEN_RESERVES_TOO_LOW"]
},
{
"kind": "errorNode",
"name": "dexNoSwapRoute",
"code": 6023,
"message": "DEX_NO_SWAP_ROUTE",
"docs": ["DexNoSwapRoute: DEX_NO_SWAP_ROUTE"]
},
{
"kind": "errorNode",
"name": "dexNotEnoughAmountOut",
"code": 6024,
"message": "DEX_NOT_ENOUGH_AMOUNT_OUT",
"docs": ["DexNotEnoughAmountOut: DEX_NOT_ENOUGH_AMOUNT_OUT"]
},
{
"kind": "errorNode",
"name": "dexUtilizationCapReached",
"code": 6025,
"message": "DEX_UTILIZATION_CAP_REACHED",
"docs": ["DexUtilizationCapReached: DEX_UTILIZATION_CAP_REACHED"]
},
{
"kind": "errorNode",
"name": "dexUserSupplyNotOn",
"code": 6026,
"message": "DEX_USER_SUPPLY_NOT_ON",
"docs": ["DexUserSupplyNotOn: DEX_USER_SUPPLY_NOT_ON"]
},
{
"kind": "errorNode",
"name": "dexUserDebtNotOn",
"code": 6027,
"message": "DEX_USER_DEBT_NOT_ON",
"docs": ["DexUserDebtNotOn: DEX_USER_DEBT_NOT_ON"]
},
{
"kind": "errorNode",
"name": "dexAboveDepositMax",
"code": 6028,
"message": "DEX_ABOVE_DEPOSIT_MAX",
"docs": ["DexAboveDepositMax: DEX_ABOVE_DEPOSIT_MAX"]
},
{
"kind": "errorNode",
"name": "dexWithdrawalLimitReached",
"code": 6029,
"message": "DEX_WITHDRAWAL_LIMIT_REACHED",
"docs": ["DexWithdrawalLimitReached: DEX_WITHDRAWAL_LIMIT_REACHED"]
},
{
"kind": "errorNode",
"name": "dexBelowWithdrawMin",
"code": 6030,
"message": "DEX_BELOW_WITHDRAW_MIN",
"docs": ["DexBelowWithdrawMin: DEX_BELOW_WITHDRAW_MIN"]
},
{
"kind": "errorNode",
"name": "dexDebtLimitReached",
"code": 6031,
"message": "DEX_DEBT_LIMIT_REACHED",
"docs": ["DexDebtLimitReached: DEX_DEBT_LIMIT_REACHED"]
},
{
"kind": "errorNode",
"name": "dexBelowBorrowMin",
"code": 6032,
"message": "DEX_BELOW_BORROW_MIN",
"docs": ["DexBelowBorrowMin: DEX_BELOW_BORROW_MIN"]
},
{
"kind": "errorNode",
"name": "dexAbovePaybackMax",
"code": 6033,
"message": "DEX_ABOVE_PAYBACK_MAX",
"docs": ["DexAbovePaybackMax: DEX_ABOVE_PAYBACK_MAX"]
},
{
"kind": "errorNode",
"name": "dexInvalidDepositAmounts",
"code": 6034,
"message": "DEX_INVALID_DEPOSIT_AMOUNTS",
"docs": ["DexInvalidDepositAmounts: DEX_INVALID_DEPOSIT_AMOUNTS"]
},
{
"kind": "errorNode",
"name": "dexDepositAmountsZero",
"code": 6035,
"message": "DEX_DEPOSIT_AMOUNTS_ZERO",
"docs": ["DexDepositAmountsZero: DEX_DEPOSIT_AMOUNTS_ZERO"]
},
{
"kind": "errorNode",
"name": "dexSharesMintedLess",
"code": 6036,
"message": "DEX_SHARES_MINTED_LESS",
"docs": ["DexSharesMintedLess: DEX_SHARES_MINTED_LESS"]
},
{
"kind": "errorNode",
"name": "dexWithdrawalNotEnough",
"code": 6037,
"message": "DEX_WITHDRAWAL_NOT_ENOUGH",
"docs": ["DexWithdrawalNotEnough: DEX_WITHDRAWAL_NOT_ENOUGH"]
},
{
"kind": "errorNode",
"name": "dexInvalidWithdrawAmounts",
"code": 6038,
"message": "DEX_INVALID_WITHDRAW_AMOUNTS",
"docs": ["DexInvalidWithdrawAmounts: DEX_INVALID_WITHDRAW_AMOUNTS"]
},
{
"kind": "errorNode",
"name": "dexWithdrawAmountsZero",
"code": 6039,
"message": "DEX_WITHDRAW_AMOUNTS_ZERO",
"docs": ["DexWithdrawAmountsZero: DEX_WITHDRAW_AMOUNTS_ZERO"]
},
{
"kind": "errorNode",
"name": "dexWithdrawExcessSharesBurn",
"code": 6040,
"message": "DEX_WITHDRAW_EXCESS_SHARES_BURN",
"docs": ["DexWithdrawExcessSharesBurn: DEX_WITHDRAW_EXCESS_SHARES_BURN"]
},
{
"kind": "errorNode",
"name": "dexInvalidBorrowAmounts",
"code": 6041,
"message": "DEX_INVALID_BORROW_AMOUNTS",
"docs": ["DexInvalidBorrowAmounts: DEX_INVALID_BORROW_AMOUNTS"]
},
{
"kind": "errorNode",
"name": "dexBorrowAmountsZero",
"code": 6042,
"message": "DEX_BORROW_AMOUNTS_ZERO",
"docs": ["DexBorrowAmountsZero: DEX_BORROW_AMOUNTS_ZERO"]
},
{
"kind": "errorNode",
"name": "dexBorrowExcessSharesMinted",
"code": 6043,
"message": "DEX_BORROW_EXCESS_SHARES_MINTED",
"docs": ["DexBorrowExcessSharesMinted: DEX_BORROW_EXCESS_SHARES_MINTED"]
},
{
"kind": "errorNode",
"name": "dexInvalidPaybackAmounts",
"code": 6044,
"message": "DEX_INVALID_PAYBACK_AMOUNTS",
"docs": ["DexInvalidPaybackAmounts: DEX_INVALID_PAYBACK_AMOUNTS"]
},
{
"kind": "errorNode",
"name": "dexPaybackAmountsZero",
"code": 6045,
"message": "DEX_PAYBACK_AMOUNTS_ZERO",
"docs": ["DexPaybackAmountsZero: DEX_PAYBACK_AMOUNTS_ZERO"]
},
{
"kind": "errorNode",
"name": "dexPaybackSharesBurnedLess",
"code": 6046,
"message": "DEX_PAYBACK_SHARES_BURNED_LESS",
"docs": ["DexPaybackSharesBurnedLess: DEX_PAYBACK_SHARES_BURNED_LESS"]
},
{
"kind": "errorNode",
"name": "dexNothingToArbitrage",
"code": 6047,
"message": "DEX_NOTHING_TO_ARBITRAGE",
"docs": ["DexNothingToArbitrage: DEX_NOTHING_TO_ARBITRAGE"]
},
{
"kind": "errorNode",
"name": "dexOracleUpdateHugeSwapDiff",
"code": 6048,
"message": "DEX_ORACLE_UPDATE_HUGE_SWAP_DIFF",
"docs": ["DexOracleUpdateHugeSwapDiff: DEX_ORACLE_UPDATE_HUGE_SWAP_DIFF"]
},
{
"kind": "errorNode",
"name": "dexToken0ShouldBeSmallerThanToken1",
"code": 6049,
"message": "DEX_TOKEN0_SHOULD_BE_SMALLER_THAN_TOKEN1",
"docs": ["DexToken0ShouldBeSmallerThanToken1: DEX_TOKEN0_SHOULD_BE_SMALLER_THAN_TOKEN1"]
},
{
"kind": "errorNode",
"name": "dexSwapAndArbitragePaused",
"code": 6050,
"message": "DEX_SWAP_AND_ARBITRAGE_PAUSED",
"docs": ["DexSwapAndArbitragePaused: DEX_SWAP_AND_ARBITRAGE_PAUSED"]
},
{
"kind": "errorNode",
"name": "dexExceedsAmountInMax",
"code": 6051,
"message": "DEX_EXCEEDS_AMOUNT_IN_MAX",
"docs": ["DexExceedsAmountInMax: DEX_EXCEEDS_AMOUNT_IN_MAX"]
},
{
"kind": "errorNode",
"name": "dexSwapInLimitingAmounts",
"code": 6052,
"message": "DEX_SWAP_IN_LIMITING_AMOUNTS",
"docs": ["DexSwapInLimitingAmounts: DEX_SWAP_IN_LIMITING_AMOUNTS"]
},
{
"kind": "errorNode",
"name": "dexSwapOutLimitingAmounts",
"code": 6053,
"message": "DEX_SWAP_OUT_LIMITING_AMOUNTS",
"docs": ["DexSwapOutLimitingAmounts: DEX_SWAP_OUT_LIMITING_AMOUNTS"]
},
{
"kind": "errorNode",
"name": "dexSupplySharesOverflow",
"code": 6054,
"message": "DEX_SUPPLY_SHARES_OVERFLOW",
"docs": ["DexSupplySharesOverflow: DEX_SUPPLY_SHARES_OVERFLOW"]
},
{
"kind": "errorNode",
"name": "dexBorrowSharesOverflow",
"code": 6055,
"message": "DEX_BORROW_SHARES_OVERFLOW",
"docs": ["DexBorrowSharesOverflow: DEX_BORROW_SHARES_OVERFLOW"]
},
{
"kind": "errorNode",
"name": "dexCenterPriceOutOfRange",
"code": 6056,
"message": "DEX_CENTER_PRICE_OUT_OF_RANGE",
"docs": ["DexCenterPriceOutOfRange: DEX_CENTER_PRICE_OUT_OF_RANGE"]
},
{
"kind": "errorNode",
"name": "dexDebtReservesTooLow",
"code": 6057,
"message": "DEX_DEBT_RESERVES_TOO_LOW",
"docs": ["DexDebtReservesTooLow: DEX_DEBT_RESERVES_TOO_LOW"]
},
{
"kind": "errorNode",
"name": "dexInvalidCollateralReserves",
"code": 6058,
"message": "DEX_INVALID_COLLATERAL_RESERVES",
"docs": ["DexInvalidCollateralReserves: DEX_INVALID_COLLATERAL_RESERVES"]
},
{
"kind": "errorNode",
"name": "dexInvalidDebtReserves",
"code": 6059,
"message": "DEX_INVALID_DEBT_RESERVES",
"docs": ["DexInvalidDebtReserves: DEX_INVALID_DEBT_RESERVES"]
},
{
"kind": "errorNode",
"name": "dexLimitingAmountsSwapAndNonPerfect",
"code": 6060,
"message": "DEX_LIMITING_AMOUNTS_SWAP_AND_NON_PERFECT",
"docs": ["DexLimitingAmountsSwapAndNonPerfect: DEX_LIMITING_AMOUNTS_SWAP_AND_NON_PERFECT"]
},
{
"kind": "errorNode",
"name": "dexMintOverflow",
"code": 6061,
"message": "DEX_MINT_OVERFLOW",
"docs": ["DexMintOverflow: DEX_MINT_OVERFLOW"]
},
{
"kind": "errorNode",
"name": "dexBurnOverflow",
"code": 6062,
"message": "DEX_BURN_OVERFLOW",
"docs": ["DexBurnOverflow: DEX_BURN_OVERFLOW"]
},
{
"kind": "errorNode",
"name": "dexSharesAmountInsufficient",
"code": 6063,
"message": "DEX_SHARES_AMOUNT_INSUFFICIENT",
"docs": ["DexSharesAmountInsufficient: DEX_SHARES_AMOUNT_INSUFFICIENT"]
},
{
"kind": "errorNode",
"name": "dexPerfectNativeAmountsRoundToZero",
"code": 6064,
"message": "DEX_PERFECT_NATIVE_AMOUNTS_ROUND_TO_ZERO",
"docs": ["DexPerfectNativeAmountsRoundToZero: DEX_PERFECT_NATIVE_AMOUNTS_ROUND_TO_ZERO"]
},
{
"kind": "errorNode",
"name": "dexCpiToLiquidityFailed",
"code": 6065,
"message": "DEX_CPI_TO_LIQUIDITY_FAILED",
"docs": ["DexCpiToLiquidityFailed: DEX_CPI_TO_LIQUIDITY_FAILED"]
},
{
"kind": "errorNode",
"name": "dexInvalidTokenAccount",
"code": 6066,
"message": "DEX_INVALID_TOKEN_ACCOUNT",
"docs": ["DexInvalidTokenAccount: DEX_INVALID_TOKEN_ACCOUNT"]
},
{
"kind": "errorNode",
"name": "dexMissingExternalCenterPrice",
"code": 6067,
"message": "DEX_MISSING_EXTERNAL_CENTER_PRICE",
"docs": ["DexMissingExternalCenterPrice: DEX_MISSING_EXTERNAL_CENTER_PRICE"]
},
{
"kind": "errorNode",
"name": "dexInvalidExternalCenterPrice",
"code": 6068,
"message": "DEX_INVALID_EXTERNAL_CENTER_PRICE",
"docs": ["DexInvalidExternalCenterPrice: DEX_INVALID_EXTERNAL_CENTER_PRICE"]
},
{
"kind": "errorNode",
"name": "dexPaybackAmtTooHigh",
"code": 6069,
"message": "DEX_PAYBACK_AMT_TOO_HIGH",
"docs": ["DexPaybackAmtTooHigh: DEX_PAYBACK_AMT_TOO_HIGH"]
},
{
"kind": "errorNode",
"name": "dexSwapAndPaybackTooLowOrTooHigh",
"code": 6070,
"message": "DEX_SWAP_AND_PAYBACK_TOO_LOW_OR_TOO_HIGH",
"docs": ["DexSwapAndPaybackTooLowOrTooHigh: DEX_SWAP_AND_PAYBACK_TOO_LOW_OR_TOO_HIGH"]
},
{
"kind": "errorNode",
"name": "dexValidateInvalidDexId",
"code": 6071,
"message": "DEX_INVALID_DEX_ID",
"docs": ["DexValidateInvalidDexId: DEX_INVALID_DEX_ID"]
},
{
"kind": "errorNode",
"name": "dexValidateInvalidToken0",
"code": 6072,
"message": "DEX_INVALID_TOKEN0",
"docs": ["DexValidateInvalidToken0: DEX_INVALID_TOKEN0"]
},
{
"kind": "errorNode",
"name": "dexValidateInvalidToken1",
"code": 6073,
"message": "DEX_INVALID_TOKEN1",
"docs": ["DexValidateInvalidToken1: DEX_INVALID_TOKEN1"]
},
{
"kind": "errorNode",
"name": "dexValidateInvalidPosition",
"code": 6074,
"message": "DEX_INVALID_POSITION",
"docs": ["DexValidateInvalidPosition: DEX_INVALID_POSITION"]
},
{
"kind": "errorNode",
"name": "dexValidateInvalidLiquidityProgram",
"code": 6075,
"message": "DEX_INVALID_LIQUIDITY_PROGRAM",
"docs": ["DexValidateInvalidLiquidityProgram: DEX_INVALID_LIQUIDITY_PROGRAM"]
},
{
"kind": "errorNode",
"name": "dexValidateInvalidOracleProgram",
"code": 6076,
"message": "DEX_INVALID_ORACLE_PROGRAM",
"docs": ["DexValidateInvalidOracleProgram: DEX_INVALID_ORACLE_PROGRAM"]
},
{
"kind": "errorNode",
"name": "dexValidateInvalidLiquidityPosition",
"code": 6077,
"message": "DEX_INVALID_LIQUIDITY_POSITION",
"docs": ["DexValidateInvalidLiquidityPosition: DEX_INVALID_LIQUIDITY_POSITION"]
},
{
"kind": "errorNode",
"name": "dexValidateMissingLiquidityPosition",
"code": 6078,
"message": "DEX_MISSING_LIQUIDITY_POSITION",
"docs": ["DexValidateMissingLiquidityPosition: DEX_MISSING_LIQUIDITY_POSITION"]
},
{
"kind": "errorNode",
"name": "dexInvalidRecipientPositionWithdraw",
"code": 6079,
"message": "DEX_INVALID_RECIPIENT_POSITION_WITHDRAW",
"docs": ["DexInvalidRecipientPositionWithdraw: DEX_INVALID_RECIPIENT_POSITION_WITHDRAW"]
},
{
"kind": "errorNode",
"name": "dexInvalidRecipientPositionBorrow",
"code": 6080,
"message": "DEX_INVALID_RECIPIENT_POSITION_BORROW",
"docs": ["DexInvalidRecipientPositionBorrow: DEX_INVALID_RECIPIENT_POSITION_BORROW"]
},
{
"kind": "errorNode",
"name": "dexSwapInResult",
"code": 6081,
"message": "DEX_SWAP_IN_RESULT",
"docs": ["DexSwapInResult: DEX_SWAP_IN_RESULT"]
},
{
"kind": "errorNode",
"name": "dexSwapOutResult",
"code": 6082,
"message": "DEX_SWAP_OUT_RESULT",
"docs": ["DexSwapOutResult: DEX_SWAP_OUT_RESULT"]
},
{
"kind": "errorNode",
"name": "dexAdminDexIdMismatch",
"code": 6083,
"message": "DEX_ADMIN_DEX_ID_MISMATCH",
"docs": ["DexAdminDexIdMismatch: DEX_ADMIN_DEX_ID_MISMATCH"]
},
{
"kind": "errorNode",
"name": "dexAdminNotAnAuthOrGuardian",
"code": 6084,
"message": "DEX_ADMIN_NOT_AN_AUTH_OR_GUARDIAN",
"docs": ["DexAdminNotAnAuthOrGuardian: DEX_ADMIN_NOT_AN_AUTH_OR_GUARDIAN"]
}
],
"constants": []
},
"additionalPrograms": []
}