392 lines
7.8 KiB
JSON
392 lines
7.8 KiB
JSON
|
{
|
||
|
"version": "0.0.0",
|
||
|
"name": "ido_pool",
|
||
|
"instructions": [
|
||
|
{
|
||
|
"name": "initializePool",
|
||
|
"accounts": [
|
||
|
{
|
||
|
"name": "poolAccount",
|
||
|
"isMut": true,
|
||
|
"isSigner": false
|
||
|
},
|
||
|
{
|
||
|
"name": "poolSigner",
|
||
|
"isMut": false,
|
||
|
"isSigner": false
|
||
|
},
|
||
|
{
|
||
|
"name": "redeemableMint",
|
||
|
"isMut": false,
|
||
|
"isSigner": false
|
||
|
},
|
||
|
{
|
||
|
"name": "usdcMint",
|
||
|
"isMut": false,
|
||
|
"isSigner": false
|
||
|
},
|
||
|
{
|
||
|
"name": "poolWatermelon",
|
||
|
"isMut": true,
|
||
|
"isSigner": false
|
||
|
},
|
||
|
{
|
||
|
"name": "poolUsdc",
|
||
|
"isMut": false,
|
||
|
"isSigner": false
|
||
|
},
|
||
|
{
|
||
|
"name": "distributionAuthority",
|
||
|
"isMut": false,
|
||
|
"isSigner": true
|
||
|
},
|
||
|
{
|
||
|
"name": "creatorWatermelon",
|
||
|
"isMut": true,
|
||
|
"isSigner": false
|
||
|
},
|
||
|
{
|
||
|
"name": "tokenProgram",
|
||
|
"isMut": false,
|
||
|
"isSigner": false
|
||
|
},
|
||
|
{
|
||
|
"name": "rent",
|
||
|
"isMut": false,
|
||
|
"isSigner": false
|
||
|
}
|
||
|
],
|
||
|
"args": [
|
||
|
{
|
||
|
"name": "numIdoTokens",
|
||
|
"type": "u64"
|
||
|
},
|
||
|
{
|
||
|
"name": "nonce",
|
||
|
"type": "u8"
|
||
|
},
|
||
|
{
|
||
|
"name": "startIdoTs",
|
||
|
"type": "i64"
|
||
|
},
|
||
|
{
|
||
|
"name": "endDepositsTs",
|
||
|
"type": "i64"
|
||
|
},
|
||
|
{
|
||
|
"name": "endIdoTs",
|
||
|
"type": "i64"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"name": "exchangeUsdcForRedeemable",
|
||
|
"accounts": [
|
||
|
{
|
||
|
"name": "poolAccount",
|
||
|
"isMut": false,
|
||
|
"isSigner": false
|
||
|
},
|
||
|
{
|
||
|
"name": "poolSigner",
|
||
|
"isMut": false,
|
||
|
"isSigner": false
|
||
|
},
|
||
|
{
|
||
|
"name": "redeemableMint",
|
||
|
"isMut": true,
|
||
|
"isSigner": false
|
||
|
},
|
||
|
{
|
||
|
"name": "poolUsdc",
|
||
|
"isMut": true,
|
||
|
"isSigner": false
|
||
|
},
|
||
|
{
|
||
|
"name": "userAuthority",
|
||
|
"isMut": false,
|
||
|
"isSigner": true
|
||
|
},
|
||
|
{
|
||
|
"name": "userUsdc",
|
||
|
"isMut": true,
|
||
|
"isSigner": false
|
||
|
},
|
||
|
{
|
||
|
"name": "userRedeemable",
|
||
|
"isMut": true,
|
||
|
"isSigner": false
|
||
|
},
|
||
|
{
|
||
|
"name": "tokenProgram",
|
||
|
"isMut": false,
|
||
|
"isSigner": false
|
||
|
},
|
||
|
{
|
||
|
"name": "clock",
|
||
|
"isMut": false,
|
||
|
"isSigner": false
|
||
|
}
|
||
|
],
|
||
|
"args": [
|
||
|
{
|
||
|
"name": "amount",
|
||
|
"type": "u64"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"name": "exchangeRedeemableForUsdc",
|
||
|
"accounts": [
|
||
|
{
|
||
|
"name": "poolAccount",
|
||
|
"isMut": false,
|
||
|
"isSigner": false
|
||
|
},
|
||
|
{
|
||
|
"name": "poolSigner",
|
||
|
"isMut": false,
|
||
|
"isSigner": false
|
||
|
},
|
||
|
{
|
||
|
"name": "redeemableMint",
|
||
|
"isMut": true,
|
||
|
"isSigner": false
|
||
|
},
|
||
|
{
|
||
|
"name": "poolUsdc",
|
||
|
"isMut": true,
|
||
|
"isSigner": false
|
||
|
},
|
||
|
{
|
||
|
"name": "userAuthority",
|
||
|
"isMut": false,
|
||
|
"isSigner": true
|
||
|
},
|
||
|
{
|
||
|
"name": "userUsdc",
|
||
|
"isMut": true,
|
||
|
"isSigner": false
|
||
|
},
|
||
|
{
|
||
|
"name": "userRedeemable",
|
||
|
"isMut": true,
|
||
|
"isSigner": false
|
||
|
},
|
||
|
{
|
||
|
"name": "tokenProgram",
|
||
|
"isMut": false,
|
||
|
"isSigner": false
|
||
|
},
|
||
|
{
|
||
|
"name": "clock",
|
||
|
"isMut": false,
|
||
|
"isSigner": false
|
||
|
}
|
||
|
],
|
||
|
"args": [
|
||
|
{
|
||
|
"name": "amount",
|
||
|
"type": "u64"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"name": "exchangeRedeemableForWatermelon",
|
||
|
"accounts": [
|
||
|
{
|
||
|
"name": "poolAccount",
|
||
|
"isMut": false,
|
||
|
"isSigner": false
|
||
|
},
|
||
|
{
|
||
|
"name": "poolSigner",
|
||
|
"isMut": false,
|
||
|
"isSigner": false
|
||
|
},
|
||
|
{
|
||
|
"name": "redeemableMint",
|
||
|
"isMut": true,
|
||
|
"isSigner": false
|
||
|
},
|
||
|
{
|
||
|
"name": "poolWatermelon",
|
||
|
"isMut": true,
|
||
|
"isSigner": false
|
||
|
},
|
||
|
{
|
||
|
"name": "userAuthority",
|
||
|
"isMut": false,
|
||
|
"isSigner": true
|
||
|
},
|
||
|
{
|
||
|
"name": "userWatermelon",
|
||
|
"isMut": true,
|
||
|
"isSigner": false
|
||
|
},
|
||
|
{
|
||
|
"name": "userRedeemable",
|
||
|
"isMut": true,
|
||
|
"isSigner": false
|
||
|
},
|
||
|
{
|
||
|
"name": "tokenProgram",
|
||
|
"isMut": false,
|
||
|
"isSigner": false
|
||
|
},
|
||
|
{
|
||
|
"name": "clock",
|
||
|
"isMut": false,
|
||
|
"isSigner": false
|
||
|
}
|
||
|
],
|
||
|
"args": [
|
||
|
{
|
||
|
"name": "amount",
|
||
|
"type": "u64"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"name": "withdrawPoolUsdc",
|
||
|
"accounts": [
|
||
|
{
|
||
|
"name": "poolAccount",
|
||
|
"isMut": false,
|
||
|
"isSigner": false
|
||
|
},
|
||
|
{
|
||
|
"name": "poolSigner",
|
||
|
"isMut": false,
|
||
|
"isSigner": false
|
||
|
},
|
||
|
{
|
||
|
"name": "poolUsdc",
|
||
|
"isMut": true,
|
||
|
"isSigner": false
|
||
|
},
|
||
|
{
|
||
|
"name": "distributionAuthority",
|
||
|
"isMut": false,
|
||
|
"isSigner": true
|
||
|
},
|
||
|
{
|
||
|
"name": "creatorUsdc",
|
||
|
"isMut": true,
|
||
|
"isSigner": false
|
||
|
},
|
||
|
{
|
||
|
"name": "tokenProgram",
|
||
|
"isMut": false,
|
||
|
"isSigner": false
|
||
|
},
|
||
|
{
|
||
|
"name": "clock",
|
||
|
"isMut": false,
|
||
|
"isSigner": false
|
||
|
}
|
||
|
],
|
||
|
"args": []
|
||
|
}
|
||
|
],
|
||
|
"accounts": [
|
||
|
{
|
||
|
"name": "PoolAccount",
|
||
|
"type": {
|
||
|
"kind": "struct",
|
||
|
"fields": [
|
||
|
{
|
||
|
"name": "redeemableMint",
|
||
|
"type": "publicKey"
|
||
|
},
|
||
|
{
|
||
|
"name": "poolWatermelon",
|
||
|
"type": "publicKey"
|
||
|
},
|
||
|
{
|
||
|
"name": "watermelonMint",
|
||
|
"type": "publicKey"
|
||
|
},
|
||
|
{
|
||
|
"name": "poolUsdc",
|
||
|
"type": "publicKey"
|
||
|
},
|
||
|
{
|
||
|
"name": "distributionAuthority",
|
||
|
"type": "publicKey"
|
||
|
},
|
||
|
{
|
||
|
"name": "nonce",
|
||
|
"type": "u8"
|
||
|
},
|
||
|
{
|
||
|
"name": "numIdoTokens",
|
||
|
"type": "u64"
|
||
|
},
|
||
|
{
|
||
|
"name": "startIdoTs",
|
||
|
"type": "i64"
|
||
|
},
|
||
|
{
|
||
|
"name": "endDepositsTs",
|
||
|
"type": "i64"
|
||
|
},
|
||
|
{
|
||
|
"name": "endIdoTs",
|
||
|
"type": "i64"
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
}
|
||
|
],
|
||
|
"errors": [
|
||
|
{
|
||
|
"code": 100,
|
||
|
"name": "InitTime",
|
||
|
"msg": "IDO times are non-sequential"
|
||
|
},
|
||
|
{
|
||
|
"code": 101,
|
||
|
"name": "StartIdoTime",
|
||
|
"msg": "IDO has not started"
|
||
|
},
|
||
|
{
|
||
|
"code": 102,
|
||
|
"name": "EndDepositsTime",
|
||
|
"msg": "Deposits period has ended"
|
||
|
},
|
||
|
{
|
||
|
"code": 103,
|
||
|
"name": "EndIdoTime",
|
||
|
"msg": "IDO has ended"
|
||
|
},
|
||
|
{
|
||
|
"code": 104,
|
||
|
"name": "IdoNotOver",
|
||
|
"msg": "IDO has not finished yet"
|
||
|
},
|
||
|
{
|
||
|
"code": 105,
|
||
|
"name": "LowUsdc",
|
||
|
"msg": "Insufficient USDC"
|
||
|
},
|
||
|
{
|
||
|
"code": 106,
|
||
|
"name": "LowRedeemable",
|
||
|
"msg": "Insufficient redeemable tokens"
|
||
|
},
|
||
|
{
|
||
|
"code": 107,
|
||
|
"name": "UsdcNotEqRedeem",
|
||
|
"msg": "USDC total and redeemable total don't match"
|
||
|
},
|
||
|
{
|
||
|
"code": 108,
|
||
|
"name": "InvalidNonce",
|
||
|
"msg": "Given nonce is invalid"
|
||
|
}
|
||
|
],
|
||
|
"metadata": {
|
||
|
"address": "4vZP5tE6sjKrSSuFwSxvmx76kc99BCVUeDo1dYT5tXAF"
|
||
|
}
|
||
|
}
|