{
"kind": "rootNode",
"standard": "codama",
"version": "1.7.0",
"program": {
"kind": "programNode",
"name": "flashloan",
"publicKey": "jupgfSgfuAXv4B6R2Uxu85Z1qdzgju79s6MfZekN6XS",
"version": "0.1.4",
"origin": "anchor",
"accounts": [
{
"kind": "accountNode",
"name": "flashloanAdmin",
"size": 93,
"data": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"defaultValue": {
"kind": "bytesValueNode",
"data": "a2a12d1c835bca58",
"encoding": "base16"
}
},
{
"kind": "structFieldTypeNode",
"name": "authority",
"type": { "kind": "publicKeyTypeNode" }
},
{
"kind": "structFieldTypeNode",
"name": "liquidityProgram",
"type": { "kind": "publicKeyTypeNode" }
},
{
"kind": "structFieldTypeNode",
"name": "status",
"type": {
"kind": "booleanTypeNode",
"size": { "kind": "numberTypeNode", "format": "u8", "endian": "le" }
}
},
{
"kind": "structFieldTypeNode",
"name": "flashloanFee",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "flashloanTimestamp",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "isFlashloanActive",
"type": {
"kind": "booleanTypeNode",
"size": { "kind": "numberTypeNode", "format": "u8", "endian": "le" }
}
},
{
"kind": "structFieldTypeNode",
"name": "activeFlashloanAmount",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
},
{
"kind": "structFieldTypeNode",
"name": "bump",
"type": { "kind": "numberTypeNode", "format": "u8", "endian": "le" }
}
]
},
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
}
],
"instructions": [
{
"kind": "instructionNode",
"name": "activateProtocol",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "authority",
"isWritable": false,
"isSigner": true,
"isOptional": false,
"defaultValue": { "kind": "identityValueNode" }
},
{
"kind": "instructionAccountNode",
"name": "flashloanAdmin",
"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": "e6ebbc13785b0b5e",
"encoding": "base16"
}
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "flashloanBorrow",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "signer",
"isWritable": true,
"isSigner": true,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "flashloanAdmin",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "signerBorrowTokenAccount",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "mint",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "flashloanTokenReservesLiquidity",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "flashloanBorrowPositionOnLiquidity",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "rateModel",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "vault",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "liquidity",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "liquidityProgram",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "tokenProgram",
"isWritable": false,
"isSigner": false,
"isOptional": false,
"defaultValue": {
"kind": "publicKeyValueNode",
"publicKey": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
"identifier": "splToken"
}
},
{
"kind": "instructionAccountNode",
"name": "associatedTokenProgram",
"isWritable": false,
"isSigner": false,
"isOptional": true,
"defaultValue": {
"kind": "publicKeyValueNode",
"publicKey": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL",
"identifier": "associatedTokenProgram"
}
},
{
"kind": "instructionAccountNode",
"name": "systemProgram",
"isWritable": false,
"isSigner": false,
"isOptional": false,
"defaultValue": {
"kind": "publicKeyValueNode",
"publicKey": "11111111111111111111111111111111",
"identifier": "systemProgram"
}
},
{
"kind": "instructionAccountNode",
"name": "instructionSysvar",
"isWritable": false,
"isSigner": false,
"isOptional": false,
"defaultValue": {
"kind": "publicKeyValueNode",
"publicKey": "Sysvar1nstructions1111111111111111111111111",
"identifier": "instructionSysvar"
}
}
],
"arguments": [
{
"kind": "instructionArgumentNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": { "kind": "fixedSizeTypeNode", "size": 8, "type": { "kind": "bytesTypeNode" } },
"defaultValue": {
"kind": "bytesValueNode",
"data": "67134e18f009873f",
"encoding": "base16"
}
},
{
"kind": "instructionArgumentNode",
"name": "amount",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "flashloanPayback",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "signer",
"isWritable": true,
"isSigner": true,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "flashloanAdmin",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "signerBorrowTokenAccount",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "mint",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "flashloanTokenReservesLiquidity",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "flashloanBorrowPositionOnLiquidity",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "rateModel",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "vault",
"isWritable": true,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "liquidity",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "liquidityProgram",
"isWritable": false,
"isSigner": false,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "tokenProgram",
"isWritable": false,
"isSigner": false,
"isOptional": false,
"defaultValue": {
"kind": "publicKeyValueNode",
"publicKey": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
"identifier": "splToken"
}
},
{
"kind": "instructionAccountNode",
"name": "associatedTokenProgram",
"isWritable": false,
"isSigner": false,
"isOptional": true,
"defaultValue": {
"kind": "publicKeyValueNode",
"publicKey": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL",
"identifier": "associatedTokenProgram"
}
},
{
"kind": "instructionAccountNode",
"name": "systemProgram",
"isWritable": false,
"isSigner": false,
"isOptional": false,
"defaultValue": {
"kind": "publicKeyValueNode",
"publicKey": "11111111111111111111111111111111",
"identifier": "systemProgram"
}
},
{
"kind": "instructionAccountNode",
"name": "instructionSysvar",
"isWritable": false,
"isSigner": false,
"isOptional": false,
"defaultValue": {
"kind": "publicKeyValueNode",
"publicKey": "Sysvar1nstructions1111111111111111111111111",
"identifier": "instructionSysvar"
}
}
],
"arguments": [
{
"kind": "instructionArgumentNode",
"name": "discriminator",
"defaultValueStrategy": "omitted",
"type": { "kind": "fixedSizeTypeNode", "size": 8, "type": { "kind": "bytesTypeNode" } },
"defaultValue": {
"kind": "bytesValueNode",
"data": "d52f998954f35ee8",
"encoding": "base16"
}
},
{
"kind": "instructionArgumentNode",
"name": "amount",
"type": { "kind": "numberTypeNode", "format": "u64", "endian": "le" }
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "initFlashloanAdmin",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "signer",
"isWritable": true,
"isSigner": true,
"isOptional": false
},
{
"kind": "instructionAccountNode",
"name": "flashloanAdmin",
"isWritable": true,
"isSigner": false,
"isOptional": false,
"defaultValue": {
"kind": "pdaValueNode",
"pda": { "kind": "pdaLinkNode", "name": "flashloanAdmin" },
"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": "b9759a385f0cbb8b",
"encoding": "base16"
}
},
{
"kind": "instructionArgumentNode",
"name": "authority",
"type": { "kind": "publicKeyTypeNode" }
},
{
"kind": "instructionArgumentNode",
"name": "flashloanFee",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
},
{
"kind": "instructionArgumentNode",
"name": "liquidityProgram",
"type": { "kind": "publicKeyTypeNode" }
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "pauseProtocol",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "authority",
"isWritable": false,
"isSigner": true,
"isOptional": false,
"defaultValue": { "kind": "identityValueNode" }
},
{
"kind": "instructionAccountNode",
"name": "flashloanAdmin",
"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": "905f006b7727f88d",
"encoding": "base16"
}
}
],
"discriminators": [
{ "kind": "fieldDiscriminatorNode", "name": "discriminator", "offset": 0 }
]
},
{
"kind": "instructionNode",
"name": "setFlashloanFee",
"optionalAccountStrategy": "programId",
"accounts": [
{
"kind": "instructionAccountNode",
"name": "authority",
"isWritable": false,
"isSigner": true,
"isOptional": false,
"defaultValue": { "kind": "identityValueNode" }
},
{
"kind": "instructionAccountNode",
"name": "flashloanAdmin",
"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": "78f8dd4654d80095",
"encoding": "base16"
}
},
{
"kind": "instructionArgumentNode",
"name": "flashloanFee",
"type": { "kind": "numberTypeNode", "format": "u16", "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": "flashloanAdmin",
"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 }
]
}
],
"definedTypes": [],
"pdas": [
{
"kind": "pdaNode",
"name": "flashloanAdmin",
"seeds": [
{
"kind": "constantPdaSeedNode",
"type": { "kind": "bytesTypeNode" },
"value": {
"kind": "bytesValueNode",
"data": "3sCWCBSfWXngUPySp8Dch",
"encoding": "base58"
}
}
]
}
],
"events": [
{
"kind": "eventNode",
"name": "activateProtocol",
"data": {
"kind": "hiddenPrefixTypeNode",
"type": { "kind": "structTypeNode", "fields": [] },
"prefix": [
{
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "46b2ad97b4a64466",
"encoding": "base16"
}
}
]
},
"discriminators": [
{
"kind": "constantDiscriminatorNode",
"offset": 0,
"constant": {
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "46b2ad97b4a64466",
"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": "pauseProtocol",
"data": {
"kind": "hiddenPrefixTypeNode",
"type": { "kind": "structTypeNode", "fields": [] },
"prefix": [
{
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "42e5a693980d2a1d",
"encoding": "base16"
}
}
]
},
"discriminators": [
{
"kind": "constantDiscriminatorNode",
"offset": 0,
"constant": {
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "42e5a693980d2a1d",
"encoding": "base16"
}
}
}
]
},
{
"kind": "eventNode",
"name": "setFlashloanFee",
"data": {
"kind": "hiddenPrefixTypeNode",
"type": {
"kind": "structTypeNode",
"fields": [
{
"kind": "structFieldTypeNode",
"name": "flashloanFee",
"type": { "kind": "numberTypeNode", "format": "u16", "endian": "le" }
}
]
},
"prefix": [
{
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "70a442fbbf38002f",
"encoding": "base16"
}
}
]
},
"discriminators": [
{
"kind": "constantDiscriminatorNode",
"offset": 0,
"constant": {
"kind": "constantValueNode",
"type": {
"kind": "fixedSizeTypeNode",
"size": 8,
"type": { "kind": "bytesTypeNode" }
},
"value": {
"kind": "bytesValueNode",
"data": "70a442fbbf38002f",
"encoding": "base16"
}
}
}
]
}
],
"errors": [
{
"kind": "errorNode",
"name": "flashloanInvalidAuthority",
"code": 6000,
"message": "FLASHLOAN_INVALID_AUTHORITY",
"docs": ["FlashloanInvalidAuthority: FLASHLOAN_INVALID_AUTHORITY"]
},
{
"kind": "errorNode",
"name": "flashloanFeeTooHigh",
"code": 6001,
"message": "FLASHLOAN_FEE_TOO_HIGH",
"docs": ["FlashloanFeeTooHigh: FLASHLOAN_FEE_TOO_HIGH"]
},
{
"kind": "errorNode",
"name": "flashloanInvalidParams",
"code": 6002,
"message": "FLASHLOAN_INVALID_PARAMS",
"docs": ["FlashloanInvalidParams: FLASHLOAN_INVALID_PARAMS"]
},
{
"kind": "errorNode",
"name": "flashloanAlreadyActive",
"code": 6003,
"message": "FLASHLOAN_ALREADY_ACTIVE",
"docs": ["FlashloanAlreadyActive: FLASHLOAN_ALREADY_ACTIVE"]
},
{
"kind": "errorNode",
"name": "flashloanAlreadyInactive",
"code": 6004,
"message": "FLASHLOAN_ALREADY_INACTIVE",
"docs": ["FlashloanAlreadyInactive: FLASHLOAN_ALREADY_INACTIVE"]
},
{
"kind": "errorNode",
"name": "flashloanCpiToLiquidityFailed",
"code": 6005,
"message": "FLASHLOAN_CPI_TO_LIQUIDITY_FAILED",
"docs": ["FlashloanCpiToLiquidityFailed: FLASHLOAN_CPI_TO_LIQUIDITY_FAILED"]
},
{
"kind": "errorNode",
"name": "flashloanNotAllowedInThisSlot",
"code": 6006,
"message": "FLASHLOAN_NOT_ALLOWED_IN_THIS_SLOT",
"docs": ["FlashloanNotAllowedInThisSlot: FLASHLOAN_NOT_ALLOWED_IN_THIS_SLOT"]
},
{
"kind": "errorNode",
"name": "flashloanInvalidInstructionSysvar",
"code": 6007,
"message": "FLASHLOAN_INVALID_INSTRUCTION_SYSVAR",
"docs": ["FlashloanInvalidInstructionSysvar: FLASHLOAN_INVALID_INSTRUCTION_SYSVAR"]
},
{
"kind": "errorNode",
"name": "flashloanInvalidInstructionData",
"code": 6008,
"message": "FLASHLOAN_INVALID_INSTRUCTION_DATA",
"docs": ["FlashloanInvalidInstructionData: FLASHLOAN_INVALID_INSTRUCTION_DATA"]
},
{
"kind": "errorNode",
"name": "flashloanPaybackNotFound",
"code": 6009,
"message": "FLASHLOAN_PAYBACK_NOT_FOUND",
"docs": ["FlashloanPaybackNotFound: FLASHLOAN_PAYBACK_NOT_FOUND"]
},
{
"kind": "errorNode",
"name": "flashloanInvalidInstruction",
"code": 6010,
"message": "FLASHLOAN_INVALID_INSTRUCTION",
"docs": ["FlashloanInvalidInstruction: FLASHLOAN_INVALID_INSTRUCTION"]
},
{
"kind": "errorNode",
"name": "flashloanPaused",
"code": 6011,
"message": "FLASHLOAN_PAUSED",
"docs": ["FlashloanPaused: FLASHLOAN_PAUSED"]
},
{
"kind": "errorNode",
"name": "flashloanCPICallNotAllowed",
"code": 6012,
"message": "FLASHLOAN_CPICALL_NOT_ALLOWED",
"docs": ["FlashloanCPICallNotAllowed: FLASHLOAN_CPICALL_NOT_ALLOWED"]
},
{
"kind": "errorNode",
"name": "flashloanMultiplePaybacksFound",
"code": 6013,
"message": "FLASHLOAN_MULTIPLE_PAYBACKS_FOUND",
"docs": ["FlashloanMultiplePaybacksFound: FLASHLOAN_MULTIPLE_PAYBACKS_FOUND"]
}
],
"constants": []
},
"additionalPrograms": []
}