{
"version": "0.1.0",
"name": "pump",
"instructions": [
{
"name": "initialize",
"accounts": [
{
"name": "global",
"isMut": true,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": true
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false,
"address": "11111111111111111111111111111111"
}
],
"args": [],
"discriminant": {
"type": "u8",
"value": 175,
"bytes": [
175,
175,
109,
31,
13,
152,
155,
237
]
}
},
{
"name": "setParams",
"accounts": [
{
"name": "global",
"isMut": true,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": true
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false,
"address": "11111111111111111111111111111111"
},
{
"name": "eventAuthority",
"isMut": false,
"isSigner": false,
"address": "Ce6TQqeHC9p8KetsN6JsjHK7UTZk7nasjjnr7XxXp9F1"
},
{
"name": "program",
"isMut": false,
"isSigner": false,
"address": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P"
}
],
"args": [
{
"name": "feeRecipient",
"type": "publicKey",
"attrs": []
},
{
"name": "initialVirtualTokenReserves",
"type": "u64",
"attrs": []
},
{
"name": "initialVirtualSolReserves",
"type": "u64",
"attrs": []
},
{
"name": "initialRealTokenReserves",
"type": "u64",
"attrs": []
},
{
"name": "tokenTotalSupply",
"type": "u64",
"attrs": []
},
{
"name": "feeBasisPoints",
"type": "u64",
"attrs": []
}
],
"discriminant": {
"type": "u8",
"value": 165,
"bytes": [
165,
31,
134,
53,
189,
180,
130,
255
]
}
},
{
"name": "create",
"accounts": [
{
"name": "mint",
"isMut": true,
"isSigner": true
},
{
"name": "mintAuthority",
"isMut": false,
"isSigner": false
},
{
"name": "bondingCurve",
"isMut": true,
"isSigner": false
},
{
"name": "associatedBondingCurve",
"isMut": true,
"isSigner": false
},
{
"name": "global",
"isMut": false,
"isSigner": false
},
{
"name": "mplTokenMetadata",
"isMut": false,
"isSigner": false,
"address": "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"
},
{
"name": "metadata",
"isMut": true,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": true
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false,
"address": "11111111111111111111111111111111"
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false,
"address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"name": "associatedTokenProgram",
"isMut": false,
"isSigner": false,
"address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
},
{
"name": "rent",
"isMut": false,
"isSigner": false,
"address": "SysvarRent111111111111111111111111111111111"
},
{
"name": "eventAuthority",
"isMut": false,
"isSigner": false,
"address": "Ce6TQqeHC9p8KetsN6JsjHK7UTZk7nasjjnr7XxXp9F1"
},
{
"name": "program",
"isMut": false,
"isSigner": false,
"address": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P"
}
],
"args": [
{
"name": "name",
"type": "string",
"attrs": []
},
{
"name": "symbol",
"type": "string",
"attrs": []
},
{
"name": "uri",
"type": "string",
"attrs": []
}
],
"discriminant": {
"type": "u8",
"value": 24,
"bytes": [
24,
30,
200,
40,
5,
28,
7,
119
]
}
},
{
"name": "buy",
"accounts": [
{
"name": "global",
"isMut": false,
"isSigner": false
},
{
"name": "feeRecipient",
"isMut": true,
"isSigner": false
},
{
"name": "mint",
"isMut": false,
"isSigner": false
},
{
"name": "bondingCurve",
"isMut": true,
"isSigner": false
},
{
"name": "associatedBondingCurve",
"isMut": true,
"isSigner": false
},
{
"name": "associatedUser",
"isMut": true,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": true
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false,
"address": "11111111111111111111111111111111"
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false,
"address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"name": "rent",
"isMut": false,
"isSigner": false,
"address": "SysvarRent111111111111111111111111111111111"
},
{
"name": "eventAuthority",
"isMut": false,
"isSigner": false,
"address": "Ce6TQqeHC9p8KetsN6JsjHK7UTZk7nasjjnr7XxXp9F1"
},
{
"name": "program",
"isMut": false,
"isSigner": false,
"address": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P"
}
],
"args": [
{
"name": "amount",
"type": "u64",
"attrs": []
},
{
"name": "maxSolCost",
"type": "u64",
"attrs": []
}
],
"discriminant": {
"type": "u8",
"value": 102,
"bytes": [
102,
6,
61,
18,
1,
218,
235,
234
]
}
},
{
"name": "sell",
"accounts": [
{
"name": "global",
"isMut": false,
"isSigner": false
},
{
"name": "feeRecipient",
"isMut": true,
"isSigner": false
},
{
"name": "mint",
"isMut": false,
"isSigner": false
},
{
"name": "bondingCurve",
"isMut": true,
"isSigner": false
},
{
"name": "associatedBondingCurve",
"isMut": true,
"isSigner": false
},
{
"name": "associatedUser",
"isMut": true,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": true
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false,
"address": "11111111111111111111111111111111"
},
{
"name": "associatedTokenProgram",
"isMut": false,
"isSigner": false,
"address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false,
"address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"name": "eventAuthority",
"isMut": false,
"isSigner": false,
"address": "Ce6TQqeHC9p8KetsN6JsjHK7UTZk7nasjjnr7XxXp9F1"
},
{
"name": "program",
"isMut": false,
"isSigner": false,
"address": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P"
}
],
"args": [
{
"name": "amount",
"type": "u64",
"attrs": []
},
{
"name": "minSolOutput",
"type": "u64",
"attrs": []
}
],
"discriminant": {
"type": "u8",
"value": 51,
"bytes": [
51,
230,
133,
164,
1,
127,
131,
173
]
}
},
{
"name": "withdraw",
"accounts": [
{
"name": "global",
"isMut": false,
"isSigner": false
},
{
"name": "lastWithdraw",
"isMut": true,
"isSigner": false
},
{
"name": "mint",
"isMut": false,
"isSigner": false
},
{
"name": "bondingCurve",
"isMut": true,
"isSigner": false
},
{
"name": "associatedBondingCurve",
"isMut": true,
"isSigner": false
},
{
"name": "associatedUser",
"isMut": true,
"isSigner": false
},
{
"name": "user",
"isMut": true,
"isSigner": true
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false,
"address": "11111111111111111111111111111111"
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false,
"address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"name": "rent",
"isMut": false,
"isSigner": false,
"address": "SysvarRent111111111111111111111111111111111"
},
{
"name": "eventAuthority",
"isMut": false,
"isSigner": false,
"address": "Ce6TQqeHC9p8KetsN6JsjHK7UTZk7nasjjnr7XxXp9F1"
},
{
"name": "program",
"isMut": false,
"isSigner": false,
"address": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P"
}
],
"args": [],
"discriminant": {
"type": "u8",
"value": 183,
"bytes": [
183,
18,
70,
156,
148,
109,
161,
34
]
}
}
],
"accounts": [
{
"name": "BondingCurve",
"type": {
"kind": "struct",
"fields": [
{
"name": "virtualTokenReserves",
"type": "u64",
"attrs": []
},
{
"name": "virtualSolReserves",
"type": "u64",
"attrs": []
},
{
"name": "realTokenReserves",
"type": "u64",
"attrs": []
},
{
"name": "realSolReserves",
"type": "u64",
"attrs": []
},
{
"name": "tokenTotalSupply",
"type": "u64",
"attrs": []
},
{
"name": "complete",
"type": "bool",
"attrs": []
}
]
}
},
{
"name": "Global",
"type": {
"kind": "struct",
"fields": [
{
"name": "initialized",
"type": "bool",
"attrs": []
},
{
"name": "authority",
"type": "publicKey",
"attrs": []
},
{
"name": "feeRecipient",
"type": "publicKey",
"attrs": []
},
{
"name": "initialVirtualTokenReserves",
"type": "u64",
"attrs": []
},
{
"name": "initialVirtualSolReserves",
"type": "u64",
"attrs": []
},
{
"name": "initialRealTokenReserves",
"type": "u64",
"attrs": []
},
{
"name": "tokenTotalSupply",
"type": "u64",
"attrs": []
},
{
"name": "feeBasisPoints",
"type": "u64",
"attrs": []
}
]
}
}
],
"types": [
{
"name": "Global",
"type": {
"kind": "struct",
"fields": [
{
"name": "initialized",
"type": "bool",
"attrs": []
},
{
"name": "authority",
"type": "publicKey",
"attrs": []
},
{
"name": "feeRecipient",
"type": "publicKey",
"attrs": []
},
{
"name": "initialVirtualTokenReserves",
"type": "u64",
"attrs": []
},
{
"name": "initialVirtualSolReserves",
"type": "u64",
"attrs": []
},
{
"name": "initialRealTokenReserves",
"type": "u64",
"attrs": []
},
{
"name": "tokenTotalSupply",
"type": "u64",
"attrs": []
},
{
"name": "feeBasisPoints",
"type": "u64",
"attrs": []
}
]
}
},
{
"name": "LastWithdraw",
"type": {
"kind": "struct",
"fields": [
{
"name": "lastWithdrawTimestamp",
"type": "i64",
"attrs": []
}
]
}
},
{
"name": "BondingCurve",
"type": {
"kind": "struct",
"fields": [
{
"name": "virtualTokenReserves",
"type": "u64",
"attrs": []
},
{
"name": "virtualSolReserves",
"type": "u64",
"attrs": []
},
{
"name": "realTokenReserves",
"type": "u64",
"attrs": []
},
{
"name": "realSolReserves",
"type": "u64",
"attrs": []
},
{
"name": "tokenTotalSupply",
"type": "u64",
"attrs": []
},
{
"name": "complete",
"type": "bool",
"attrs": []
}
]
}
},
{
"name": "CreateEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "name",
"type": "string",
"attrs": []
},
{
"name": "symbol",
"type": "string",
"attrs": []
},
{
"name": "uri",
"type": "string",
"attrs": []
},
{
"name": "mint",
"type": "publicKey",
"attrs": []
},
{
"name": "bondingCurve",
"type": "publicKey",
"attrs": []
},
{
"name": "user",
"type": "publicKey",
"attrs": []
}
]
}
},
{
"name": "TradeEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "mint",
"type": "publicKey",
"attrs": []
},
{
"name": "solAmount",
"type": "u64",
"attrs": []
},
{
"name": "tokenAmount",
"type": "u64",
"attrs": []
},
{
"name": "isBuy",
"type": "bool",
"attrs": []
},
{
"name": "user",
"type": "publicKey",
"attrs": []
},
{
"name": "timestamp",
"type": "i64",
"attrs": []
},
{
"name": "virtualSolReserves",
"type": "u64",
"attrs": []
},
{
"name": "virtualTokenReserves",
"type": "u64",
"attrs": []
},
{
"name": "realSolReserves",
"type": "u64",
"attrs": []
},
{
"name": "realTokenReserves",
"type": "u64",
"attrs": []
}
]
}
},
{
"name": "CompleteEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "user",
"type": "publicKey",
"attrs": []
},
{
"name": "mint",
"type": "publicKey",
"attrs": []
},
{
"name": "bondingCurve",
"type": "publicKey",
"attrs": []
},
{
"name": "timestamp",
"type": "i64",
"attrs": []
}
]
}
},
{
"name": "SetParamsEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "feeRecipient",
"type": "publicKey",
"attrs": []
},
{
"name": "initialVirtualTokenReserves",
"type": "u64",
"attrs": []
},
{
"name": "initialVirtualSolReserves",
"type": "u64",
"attrs": []
},
{
"name": "initialRealTokenReserves",
"type": "u64",
"attrs": []
},
{
"name": "tokenTotalSupply",
"type": "u64",
"attrs": []
},
{
"name": "feeBasisPoints",
"type": "u64",
"attrs": []
}
]
}
}
],
"events": [
{
"name": "CreateEvent",
"fields": [
{
"name": "name",
"type": "string",
"index": false
},
{
"name": "symbol",
"type": "string",
"index": false
},
{
"name": "uri",
"type": "string",
"index": false
},
{
"name": "mint",
"type": "publicKey",
"index": false
},
{
"name": "bondingCurve",
"type": "publicKey",
"index": false
},
{
"name": "user",
"type": "publicKey",
"index": false
}
]
},
{
"name": "TradeEvent",
"fields": [
{
"name": "mint",
"type": "publicKey",
"index": false
},
{
"name": "solAmount",
"type": "u64",
"index": false
},
{
"name": "tokenAmount",
"type": "u64",
"index": false
},
{
"name": "isBuy",
"type": "bool",
"index": false
},
{
"name": "user",
"type": "publicKey",
"index": false
},
{
"name": "timestamp",
"type": "i64",
"index": false
},
{
"name": "virtualSolReserves",
"type": "u64",
"index": false
},
{
"name": "virtualTokenReserves",
"type": "u64",
"index": false
},
{
"name": "realSolReserves",
"type": "u64",
"index": false
},
{
"name": "realTokenReserves",
"type": "u64",
"index": false
}
]
},
{
"name": "CompleteEvent",
"fields": [
{
"name": "user",
"type": "publicKey",
"index": false
},
{
"name": "mint",
"type": "publicKey",
"index": false
},
{
"name": "bondingCurve",
"type": "publicKey",
"index": false
},
{
"name": "timestamp",
"type": "i64",
"index": false
}
]
},
{
"name": "SetParamsEvent",
"fields": [
{
"name": "feeRecipient",
"type": "publicKey",
"index": false
},
{
"name": "initialVirtualTokenReserves",
"type": "u64",
"index": false
},
{
"name": "initialVirtualSolReserves",
"type": "u64",
"index": false
},
{
"name": "initialRealTokenReserves",
"type": "u64",
"index": false
},
{
"name": "tokenTotalSupply",
"type": "u64",
"index": false
},
{
"name": "feeBasisPoints",
"type": "u64",
"index": false
}
]
}
],
"errors": [
{
"code": 6000,
"name": "NotAuthorized",
"msg": "The given account is not authorized to execute this instruction."
},
{
"code": 6001,
"name": "AlreadyInitialized",
"msg": "The program is already initialized."
},
{
"code": 6002,
"name": "TooMuchSolRequired",
"msg": "slippage: Too much SOL required to buy the given amount of tokens."
},
{
"code": 6003,
"name": "TooLittleSolReceived",
"msg": "slippage: Too little SOL received to sell the given amount of tokens."
},
{
"code": 6004,
"name": "MintDoesNotMatchBondingCurve",
"msg": "The mint does not match the bonding curve."
},
{
"code": 6005,
"name": "BondingCurveComplete",
"msg": "The bonding curve has completed and liquidity migrated to raydium."
},
{
"code": 6006,
"name": "BondingCurveNotComplete",
"msg": "The bonding curve has not completed."
},
{
"code": 6007,
"name": "NotInitialized",
"msg": "The program is not initialized."
},
{
"code": 6008,
"name": "WithdrawTooFrequent",
"msg": "Withdraw too frequent"
}
],
"metadata": {
"origin": "anchor",
"address": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P"
}
}