UNPKG

goosefx-ssl-sdk-prism

Version:

SDK for interacting with GooseFX Single-sided Liquidity pools

385 lines (384 loc) 10.9 kB
{ "version": "0.1.0", "name": "contract", "instructions": [ { "name": "createLiquidityAccount", "accounts": [ { "name": "controller", "isMut": false, "isSigner": false }, { "name": "ssl", "isMut": true, "isSigner": false }, { "name": "liquidityAccount", "isMut": true, "isSigner": false }, { "name": "userWallet", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "deposit", "accounts": [ { "name": "controller", "isMut": false, "isSigner": false }, { "name": "ssl", "isMut": true, "isSigner": false }, { "name": "liquidityAccount", "isMut": true, "isSigner": false }, { "name": "rtVault", "isMut": true, "isSigner": false }, { "name": "userRtAta", "isMut": true, "isSigner": false }, { "name": "userWallet", "isMut": false, "isSigner": true }, { "name": "tokenProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "amount", "type": "u64" } ] }, { "name": "withdraw", "accounts": [ { "name": "controller", "isMut": false, "isSigner": false }, { "name": "ssl", "isMut": true, "isSigner": false }, { "name": "liquidityAccount", "isMut": true, "isSigner": false }, { "name": "rtVault", "isMut": true, "isSigner": false }, { "name": "userRtAta", "isMut": true, "isSigner": false }, { "name": "userWallet", "isMut": false, "isSigner": true }, { "name": "tokenProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "withdrawPercent", "type": "u64" } ] }, { "name": "mintPt", "accounts": [ { "name": "controller", "isMut": false, "isSigner": false }, { "name": "ssl", "isMut": true, "isSigner": false }, { "name": "rtVault", "isMut": true, "isSigner": false }, { "name": "liquidityAccount", "isMut": true, "isSigner": false }, { "name": "ptMint", "isMut": true, "isSigner": false }, { "name": "userPtAta", "isMut": true, "isSigner": false }, { "name": "userWallet", "isMut": false, "isSigner": true }, { "name": "tokenProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "amountToMint", "type": "u64" } ] }, { "name": "burnPt", "accounts": [ { "name": "controller", "isMut": false, "isSigner": false }, { "name": "ssl", "isMut": true, "isSigner": false }, { "name": "liquidityAccount", "isMut": true, "isSigner": false }, { "name": "ptMint", "isMut": true, "isSigner": false }, { "name": "userPtAta", "isMut": true, "isSigner": false }, { "name": "userWallet", "isMut": false, "isSigner": true }, { "name": "tokenProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "amountToBurn", "type": "u64" } ] }, { "name": "swap", "accounts": [ { "name": "controller", "isMut": false, "isSigner": false }, { "name": "pair", "isMut": true, "isSigner": false }, { "name": "sslIn", "isMut": true, "isSigner": false }, { "name": "sslOut", "isMut": true, "isSigner": false }, { "name": "liabilityVaultIn", "isMut": true, "isSigner": false }, { "name": "swappedLiabilityVaultIn", "isMut": true, "isSigner": false }, { "name": "liabilityVaultOut", "isMut": true, "isSigner": false }, { "name": "swappedLiabilityVaultOut", "isMut": true, "isSigner": false }, { "name": "userInAta", "isMut": true, "isSigner": false }, { "name": "userOutAta", "isMut": true, "isSigner": false }, { "name": "feeCollectorAta", "isMut": true, "isSigner": false }, { "name": "userWallet", "isMut": false, "isSigner": true }, { "name": "feeCollector", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "amountIn", "type": "u64" }, { "name": "minOut", "type": "u64" } ] } ], "accounts": [], "errors": [ { "code": 6000, "name": "Suspended", "msg": "[G100] The pool is suspended" }, { "code": 6001, "name": "NotAdmin", "msg": "[G101] Not admin" }, { "code": 6002, "name": "MintsNotSorted", "msg": "[G102] Mints are not sorted" }, { "code": 6003, "name": "WrongRTMint", "msg": "[G103] The risk token mint is wrong" }, { "code": 6004, "name": "OracleNotPresent", "msg": "[G104] The required oracle is not present" }, { "code": 6005, "name": "OracleNotHealthyStatus", "msg": "[G105] The oracle is not in a healthy state (status)" }, { "code": 6006, "name": "OracleNotHealthyDelay", "msg": "[G106] The oracle is not in a healthy state (delay)" }, { "code": 6007, "name": "OracleNotHealthyConfidence", "msg": "[G107] The oracle is not in a healthy state (confidence)" }, { "code": 6008, "name": "SlippageTooLarge", "msg": "[G108] SlippageTooLarge" }, { "code": 6009, "name": "PercentageOutOfRange", "msg": "[G109] Percentage out of range" }, { "code": 6010, "name": "SwapIXNotInOrder", "msg": "[G110] Swap instruction is not executed in order" }, { "code": 6011, "name": "MintNotMatchPair", "msg": "[G111] Mint does not match the pair" }, { "code": 6012, "name": "FeeCollectorIncorrect", "msg": "[G112] Fee collector account incorrect" } ] }