768 lines
21 KiB
JSON
768 lines
21 KiB
JSON
{
|
|
"version": "0.1.0",
|
|
"name": "limit_order",
|
|
"instructions": [
|
|
{
|
|
"name": "initializeOrder",
|
|
"accounts": [
|
|
{
|
|
"name": "base",
|
|
"isMut": false,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "maker",
|
|
"isMut": true,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "order",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "reserve",
|
|
"isMut": true,
|
|
"isSigner": false,
|
|
"docs": [
|
|
"CHECK"
|
|
]
|
|
},
|
|
{
|
|
"name": "makerInputAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "inputMint",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "makerOutputAccount",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "referral",
|
|
"isMut": false,
|
|
"isSigner": false,
|
|
"isOptional": true
|
|
},
|
|
{
|
|
"name": "outputMint",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "systemProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "rent",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
}
|
|
],
|
|
"args": [
|
|
{
|
|
"name": "makingAmount",
|
|
"type": "u64"
|
|
},
|
|
{
|
|
"name": "takingAmount",
|
|
"type": "u64"
|
|
},
|
|
{
|
|
"name": "expiredAt",
|
|
"type": {
|
|
"option": "i64"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "fillOrder",
|
|
"accounts": [
|
|
{
|
|
"name": "order",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "reserve",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "maker",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "taker",
|
|
"isMut": false,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "takerOutputAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "makerOutputAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "takerInputAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "feeAuthority",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "programFeeAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "referral",
|
|
"isMut": true,
|
|
"isSigner": false,
|
|
"isOptional": true
|
|
},
|
|
{
|
|
"name": "tokenProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "systemProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
}
|
|
],
|
|
"args": [
|
|
{
|
|
"name": "makingAmount",
|
|
"type": "u64"
|
|
},
|
|
{
|
|
"name": "maxTakingAmount",
|
|
"type": "u64"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "preFlashFillOrder",
|
|
"accounts": [
|
|
{
|
|
"name": "order",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "reserve",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "taker",
|
|
"isMut": false,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "takerOutputAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "inputMint",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "inputMintTokenProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "instruction",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "systemProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
}
|
|
],
|
|
"args": [
|
|
{
|
|
"name": "makingAmount",
|
|
"type": "u64"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "flashFillOrder",
|
|
"accounts": [
|
|
{
|
|
"name": "order",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "reserve",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "maker",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "taker",
|
|
"isMut": false,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "makerOutputAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "takerInputAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "feeAuthority",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "programFeeAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "referral",
|
|
"isMut": true,
|
|
"isSigner": false,
|
|
"isOptional": true
|
|
},
|
|
{
|
|
"name": "inputMint",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "inputMintTokenProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "outputMint",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "outputMintTokenProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "systemProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
}
|
|
],
|
|
"args": [
|
|
{
|
|
"name": "maxTakingAmount",
|
|
"type": "u64"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "cancelOrder",
|
|
"accounts": [
|
|
{
|
|
"name": "order",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "reserve",
|
|
"isMut": true,
|
|
"isSigner": false,
|
|
"docs": [
|
|
"CHECK"
|
|
]
|
|
},
|
|
{
|
|
"name": "maker",
|
|
"isMut": true,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "makerInputAccount",
|
|
"isMut": true,
|
|
"isSigner": false,
|
|
"docs": [
|
|
"CHECK, it is not important if it is sol input mint"
|
|
]
|
|
},
|
|
{
|
|
"name": "systemProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "inputMint",
|
|
"isMut": false,
|
|
"isSigner": false,
|
|
"isOptional": true
|
|
}
|
|
],
|
|
"args": []
|
|
},
|
|
{
|
|
"name": "cancelExpiredOrder",
|
|
"accounts": [
|
|
{
|
|
"name": "order",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "reserve",
|
|
"isMut": true,
|
|
"isSigner": false,
|
|
"docs": [
|
|
"CHECK"
|
|
]
|
|
},
|
|
{
|
|
"name": "maker",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "makerInputAccount",
|
|
"isMut": true,
|
|
"isSigner": false,
|
|
"docs": [
|
|
"CHECK, it is not important if it is sol input mint"
|
|
]
|
|
},
|
|
{
|
|
"name": "systemProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "inputMint",
|
|
"isMut": false,
|
|
"isSigner": false,
|
|
"isOptional": true
|
|
}
|
|
],
|
|
"args": []
|
|
},
|
|
{
|
|
"name": "withdrawFee",
|
|
"accounts": [
|
|
{
|
|
"name": "admin",
|
|
"isMut": true,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "feeAuthority",
|
|
"isMut": false,
|
|
"isSigner": false,
|
|
"docs": [
|
|
"CHECK"
|
|
]
|
|
},
|
|
{
|
|
"name": "programFeeAccount",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "adminTokenAcocunt",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "tokenProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "mint",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
}
|
|
],
|
|
"args": [
|
|
{
|
|
"name": "amount",
|
|
"type": "u64"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "initFee",
|
|
"accounts": [
|
|
{
|
|
"name": "keeper",
|
|
"isMut": true,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "feeAuthority",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
},
|
|
{
|
|
"name": "systemProgram",
|
|
"isMut": false,
|
|
"isSigner": false
|
|
}
|
|
],
|
|
"args": [
|
|
{
|
|
"name": "makerFee",
|
|
"type": "u64"
|
|
},
|
|
{
|
|
"name": "makerStableFee",
|
|
"type": "u64"
|
|
},
|
|
{
|
|
"name": "takerFee",
|
|
"type": "u64"
|
|
},
|
|
{
|
|
"name": "takerStableFee",
|
|
"type": "u64"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "updateFee",
|
|
"accounts": [
|
|
{
|
|
"name": "keeper",
|
|
"isMut": true,
|
|
"isSigner": true
|
|
},
|
|
{
|
|
"name": "feeAuthority",
|
|
"isMut": true,
|
|
"isSigner": false
|
|
}
|
|
],
|
|
"args": [
|
|
{
|
|
"name": "makerFee",
|
|
"type": "u64"
|
|
},
|
|
{
|
|
"name": "makerStableFee",
|
|
"type": "u64"
|
|
},
|
|
{
|
|
"name": "takerFee",
|
|
"type": "u64"
|
|
},
|
|
{
|
|
"name": "takerStableFee",
|
|
"type": "u64"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"accounts": [
|
|
{
|
|
"name": "Fee",
|
|
"type": {
|
|
"kind": "struct",
|
|
"fields": [
|
|
{
|
|
"name": "makerFee",
|
|
"type": "u64"
|
|
},
|
|
{
|
|
"name": "makerStableFee",
|
|
"type": "u64"
|
|
},
|
|
{
|
|
"name": "takerFee",
|
|
"type": "u64"
|
|
},
|
|
{
|
|
"name": "takerStableFee",
|
|
"type": "u64"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "Order",
|
|
"type": {
|
|
"kind": "struct",
|
|
"fields": [
|
|
{
|
|
"name": "maker",
|
|
"type": "publicKey"
|
|
},
|
|
{
|
|
"name": "inputMint",
|
|
"type": "publicKey"
|
|
},
|
|
{
|
|
"name": "outputMint",
|
|
"type": "publicKey"
|
|
},
|
|
{
|
|
"name": "waiting",
|
|
"type": "bool"
|
|
},
|
|
{
|
|
"name": "oriMakingAmount",
|
|
"type": "u64"
|
|
},
|
|
{
|
|
"name": "oriTakingAmount",
|
|
"type": "u64"
|
|
},
|
|
{
|
|
"name": "makingAmount",
|
|
"type": "u64"
|
|
},
|
|
{
|
|
"name": "takingAmount",
|
|
"type": "u64"
|
|
},
|
|
{
|
|
"name": "makerInputAccount",
|
|
"type": "publicKey"
|
|
},
|
|
{
|
|
"name": "makerOutputAccount",
|
|
"type": "publicKey"
|
|
},
|
|
{
|
|
"name": "reserve",
|
|
"type": "publicKey"
|
|
},
|
|
{
|
|
"name": "borrowMakingAmount",
|
|
"type": "u64"
|
|
},
|
|
{
|
|
"name": "expiredAt",
|
|
"type": {
|
|
"option": "i64"
|
|
}
|
|
},
|
|
{
|
|
"name": "base",
|
|
"type": "publicKey"
|
|
},
|
|
{
|
|
"name": "referral",
|
|
"type": {
|
|
"option": "publicKey"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"events": [
|
|
{
|
|
"name": "TradeEvent",
|
|
"fields": [
|
|
{
|
|
"name": "orderKey",
|
|
"type": "publicKey",
|
|
"index": false
|
|
},
|
|
{
|
|
"name": "taker",
|
|
"type": "publicKey",
|
|
"index": false
|
|
},
|
|
{
|
|
"name": "remainingInAmount",
|
|
"type": "u64",
|
|
"index": false
|
|
},
|
|
{
|
|
"name": "remainingOutAmount",
|
|
"type": "u64",
|
|
"index": false
|
|
},
|
|
{
|
|
"name": "inAmount",
|
|
"type": "u64",
|
|
"index": false
|
|
},
|
|
{
|
|
"name": "outAmount",
|
|
"type": "u64",
|
|
"index": false
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "CancelOrderEvent",
|
|
"fields": [
|
|
{
|
|
"name": "orderKey",
|
|
"type": "publicKey",
|
|
"index": false
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "CreateOrderEvent",
|
|
"fields": [
|
|
{
|
|
"name": "orderKey",
|
|
"type": "publicKey",
|
|
"index": false
|
|
},
|
|
{
|
|
"name": "maker",
|
|
"type": "publicKey",
|
|
"index": false
|
|
},
|
|
{
|
|
"name": "inputMint",
|
|
"type": "publicKey",
|
|
"index": false
|
|
},
|
|
{
|
|
"name": "outputMint",
|
|
"type": "publicKey",
|
|
"index": false
|
|
},
|
|
{
|
|
"name": "inAmount",
|
|
"type": "u64",
|
|
"index": false
|
|
},
|
|
{
|
|
"name": "outAmount",
|
|
"type": "u64",
|
|
"index": false
|
|
},
|
|
{
|
|
"name": "expiredAt",
|
|
"type": {
|
|
"option": "i64"
|
|
},
|
|
"index": false
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"errors": [
|
|
{
|
|
"code": 6000,
|
|
"name": "InvalidMakingAmount"
|
|
},
|
|
{
|
|
"code": 6001,
|
|
"name": "InvalidTakingAmount"
|
|
},
|
|
{
|
|
"code": 6002,
|
|
"name": "InvalidMaxTakingAmount"
|
|
},
|
|
{
|
|
"code": 6003,
|
|
"name": "InvalidCalculation"
|
|
},
|
|
{
|
|
"code": 6004,
|
|
"name": "InvalidInputAccount"
|
|
},
|
|
{
|
|
"code": 6005,
|
|
"name": "InvalidOutputAccount"
|
|
},
|
|
{
|
|
"code": 6006,
|
|
"name": "InvalidPair"
|
|
},
|
|
{
|
|
"code": 6007,
|
|
"name": "MissingReferral"
|
|
},
|
|
{
|
|
"code": 6008,
|
|
"name": "OrderExpired"
|
|
},
|
|
{
|
|
"code": 6009,
|
|
"name": "OrderNotExpired"
|
|
},
|
|
{
|
|
"code": 6010,
|
|
"name": "InvalidKeeper"
|
|
},
|
|
{
|
|
"code": 6011,
|
|
"name": "MathOverflow"
|
|
},
|
|
{
|
|
"code": 6012,
|
|
"name": "ProgramMismatch"
|
|
},
|
|
{
|
|
"code": 6013,
|
|
"name": "UnknownInstruction"
|
|
},
|
|
{
|
|
"code": 6014,
|
|
"name": "MissingRepayInstructions"
|
|
},
|
|
{
|
|
"code": 6015,
|
|
"name": "InvalidOrder"
|
|
},
|
|
{
|
|
"code": 6016,
|
|
"name": "InvalidBorrowMakingAmount"
|
|
}
|
|
]
|
|
} |