goosefx-ssl-sdk-prism
Version:
SDK for interacting with GooseFX Single-sided Liquidity pools
148 lines (147 loc) • 4.01 kB
JSON
{
"version": "0.1.0",
"name": "contract",
"instructions": [
{
"name": "createStakingAccount",
"accounts": [
{
"name": "controller",
"isMut": false,
"isSigner": false
},
{
"name": "stakingAccount",
"isMut": true,
"isSigner": false
},
{
"name": "userWallet",
"isMut": true,
"isSigner": true
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
},
{
"name": "rent",
"isMut": false,
"isSigner": false
}
],
"args": []
},
{
"name": "stake",
"accounts": [
{
"name": "controller",
"isMut": true,
"isSigner": false
},
{
"name": "stakingAccount",
"isMut": true,
"isSigner": false
},
{
"name": "vault",
"isMut": true,
"isSigner": false
},
{
"name": "userAta",
"isMut": true,
"isSigner": false
},
{
"name": "userWallet",
"isMut": false,
"isSigner": true
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "amount",
"type": "u64"
}
]
},
{
"name": "unstake",
"accounts": [
{
"name": "controller",
"isMut": true,
"isSigner": false
},
{
"name": "stakingAccount",
"isMut": true,
"isSigner": false
},
{
"name": "vault",
"isMut": true,
"isSigner": false
},
{
"name": "userAta",
"isMut": true,
"isSigner": false
},
{
"name": "feeCollectorAta",
"isMut": true,
"isSigner": false
},
{
"name": "userWallet",
"isMut": false,
"isSigner": true
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "unstakePercent",
"type": "u64"
}
]
}
],
"accounts": [],
"errors": [
{
"code": 6000,
"name": "Suspended",
"msg": "[G000] The pool is suspended"
},
{
"code": 6001,
"name": "NotAdmin",
"msg": "[G001] Not admin"
},
{
"code": 6002,
"name": "PercentageOutOfRange",
"msg": "[G002] Percentage out of range"
},
{
"code": 6003,
"name": "NotEnoughRewardReserve",
"msg": "[G003] Not enough reward reserve"
}
]
}