{
"address": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P",
"metadata": {
"name": "pump",
"version": "0.1.0",
"spec": "0.1.0"
},
"instructions": [
{
"name": "initialize",
"discriminator": [175, 175, 109, 31, 13, 152, 155, 237],
"docs": ["Creates the global state."],
"accounts": [
{
"name": "global",
"writable": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [103, 108, 111, 98, 97, 108]
}
]
}
},
{
"name": "user",
"writable": true,
"signer": true
},
{
"name": "system_program",
"address": "11111111111111111111111111111111"
}
],
"args": []
},
{
"name": "setParams",
"discriminator": [165, 31, 134, 53, 189, 180, 130, 255],
"docs": ["Sets the global state parameters."],
"accounts": [
{
"name": "global",
"writable": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [103, 108, 111, 98, 97, 108]
}
]
}
},
{
"name": "user",
"writable": true,
"signer": true
},
{
"name": "system_program",
"address": "11111111111111111111111111111111"
},
{
"name": "event_authority",
"address": "Ce6TQqeHC9p8KetsN6JsjHK7UTZk7nasjjnr7XxXp9F1"
},
{
"name": "program",
"address": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P"
}
],
"args": [
{
"name": "feeRecipient",
"type": "pubkey"
},
{
"name": "initialVirtualTokenReserves",
"type": "u64"
},
{
"name": "initialVirtualSolReserves",
"type": "u64"
},
{
"name": "initialRealTokenReserves",
"type": "u64"
},
{
"name": "tokenTotalSupply",
"type": "u64"
},
{
"name": "feeBasisPoints",
"type": "u64"
}
]
},
{
"name": "create",
"discriminator": [24, 30, 200, 40, 5, 28, 7, 119],
"docs": ["Creates a new coin and bonding curve."],
"accounts": [
{
"name": "mint",
"writable": true,
"signer": true
},
{
"name": "mint_authority",
"pda": {
"seeds": [
{
"kind": "const",
"value": [
109, 105, 110, 116, 45, 97, 117, 116, 104, 111, 114, 105, 116,
121
]
}
]
}
},
{
"name": "bonding_curve",
"writable": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [
98, 111, 110, 100, 105, 110, 103, 45, 99, 117, 114, 118, 101
]
},
{
"kind": "account",
"path": "mint"
}
]
}
},
{
"name": "associated_bonding_curve",
"writable": true,
"signer": false
},
{
"name": "global",
"writable": false,
"pda": {
"seeds": [
{
"kind": "const",
"value": [103, 108, 111, 98, 97, 108]
}
]
}
},
{
"name": "mpl_token_metadata",
"address": "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"
},
{
"name": "metadata",
"writable": true,
"signer": false
},
{
"name": "user",
"isMut": true,
"isSigner": true
},
{
"name": "system_program",
"address": "11111111111111111111111111111111"
},
{
"name": "token_program",
"address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"name": "associated_token_program",
"address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
},
{
"name": "rent",
"address": "SysvarRent111111111111111111111111111111111"
},
{
"name": "event_authority",
"address": "Ce6TQqeHC9p8KetsN6JsjHK7UTZk7nasjjnr7XxXp9F1"
},
{
"name": "program",
"address": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P"
}
],
"args": [
{
"name": "name",
"type": "string"
},
{
"name": "symbol",
"type": "string"
},
{
"name": "uri",
"type": "string"
},
{
"name": "creator",
"type": "pubkey"
}
]
},
{
"name": "buy",
"discriminator": [102, 6, 61, 18, 1, 218, 235, 234],
"docs": ["Buys tokens from a bonding curve."],
"accounts": [
{
"name": "global",
"pda": {
"seeds": [
{
"kind": "const",
"value": [103, 108, 111, 98, 97, 108]
}
]
}
},
{
"name": "fee_recipient",
"writable": true,
"signer": false
},
{
"name": "mint",
"writable": false,
"signer": false
},
{
"name": "bonding_curve",
"writable": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [
98, 111, 110, 100, 105, 110, 103, 45, 99, 117, 114, 118, 101
]
},
{
"kind": "account",
"path": "mint"
}
]
}
},
{
"name": "associated_bonding_curve",
"writable": true,
"signer": false
},
{
"name": "associated_user",
"writable": true,
"signer": false
},
{
"name": "user",
"writable": true,
"signer": true
},
{
"name": "system_program",
"address": "11111111111111111111111111111111"
},
{
"name": "token_program",
"address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"name": "rent",
"address": "SysvarRent111111111111111111111111111111111"
},
{
"name": "event_authority",
"address": "Ce6TQqeHC9p8KetsN6JsjHK7UTZk7nasjjnr7XxXp9F1"
},
{
"name": "program",
"address": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P"
}
],
"args": [
{
"name": "amount",
"type": "u64"
},
{
"name": "maxSolCost",
"type": "u64"
}
]
},
{
"name": "sell",
"discriminator": [51, 230, 133, 164, 1, 127, 131, 173],
"docs": ["Sells tokens into a bonding curve."],
"accounts": [
{
"name": "global",
"writable": false,
"pda": {
"seeds": [
{
"kind": "const",
"value": [103, 108, 111, 98, 97, 108]
}
]
}
},
{
"name": "feeRecipient",
"writable": true,
"signer": false
},
{
"name": "mint",
"writable": false,
"signer": false
},
{
"name": "bonding_curve",
"writable": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [
98, 111, 110, 100, 105, 110, 103, 45, 99, 117, 114, 118, 101
]
},
{
"kind": "account",
"path": "mint"
}
]
}
},
{
"name": "associatedBondingCurve",
"writable": true,
"signer": false
},
{
"name": "associatedUser",
"writable": true,
"signer": false
},
{
"name": "user",
"writable": true,
"signer": true
},
{
"name": "system_program",
"address": "11111111111111111111111111111111"
},
{
"name": "associated_token_program",
"address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
},
{
"name": "token_program",
"address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"name": "event_authority",
"address": "Ce6TQqeHC9p8KetsN6JsjHK7UTZk7nasjjnr7XxXp9F1"
},
{
"name": "program",
"address": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P"
}
],
"args": [
{
"name": "amount",
"type": "u64"
},
{
"name": "minSolOutput",
"type": "u64"
}
]
},
{
"name": "withdraw",
"discriminator": [183, 18, 70, 156, 148, 109, 161, 34],
"docs": [
"Allows the admin to withdraw liquidity for a migration once the bonding curve completes"
],
"accounts": [
{
"name": "global",
"writable": false,
"pda": {
"seeds": [
{
"kind": "const",
"value": [103, 108, 111, 98, 97, 108]
}
]
}
},
{
"name": "lastWithdraw",
"writable": true,
"signer": false
},
{
"name": "mint",
"writable": false,
"signer": false
},
{
"name": "bonding_curve",
"writable": true,
"pda": {
"seeds": [
{
"kind": "const",
"value": [
98, 111, 110, 100, 105, 110, 103, 45, 99, 117, 114, 118, 101
]
},
{
"kind": "account",
"path": "mint"
}
]
}
},
{
"name": "associatedBondingCurve",
"writable": true,
"signer": false
},
{
"name": "associatedUser",
"writable": true,
"signer": false
},
{
"name": "user",
"writable": true,
"signer": true
},
{
"name": "system_program",
"address": "11111111111111111111111111111111"
},
{
"name": "token_program",
"address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
},
{
"name": "rent",
"address": "SysvarRent111111111111111111111111111111111"
},
{
"name": "event_authority",
"address": "Ce6TQqeHC9p8KetsN6JsjHK7UTZk7nasjjnr7XxXp9F1"
},
{
"name": "program",
"address": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P"
}
],
"args": []
}
],
"accounts": [
{
"name": "BondingCurve",
"discriminator": [23, 183, 248, 55, 96, 216, 172, 96]
},
{
"name": "Global",
"discriminator": [167, 232, 232, 177, 200, 108, 114, 127]
}
],
"events": [
{
"name": "CreateEvent",
"discriminator": [27, 114, 169, 77, 222, 235, 99, 118]
},
{
"name": "TradeEvent",
"discriminator": [189, 219, 127, 211, 78, 230, 97, 238]
},
{
"name": "CompleteEvent",
"discriminator": [95, 114, 97, 156, 212, 46, 152, 8]
},
{
"name": "SetParamsEvent",
"discriminator": [223, 195, 159, 246, 62, 48, 143, 131]
}
],
"types": [
{
"name": "Global",
"type": {
"kind": "struct",
"fields": [
{
"name": "initialized",
"type": "bool"
},
{
"name": "authority",
"type": "pubkey"
},
{
"name": "feeRecipient",
"type": "pubkey"
},
{
"name": "initialVirtualTokenReserves",
"type": "u64"
},
{
"name": "initialVirtualSolReserves",
"type": "u64"
},
{
"name": "initialRealTokenReserves",
"type": "u64"
},
{
"name": "tokenTotalSupply",
"type": "u64"
},
{
"name": "feeBasisPoints",
"type": "u64"
}
]
}
},
{
"name": "LastWithdraw",
"type": {
"kind": "struct",
"fields": [
{
"name": "lastWithdrawTimestamp",
"type": "i64"
}
]
}
},
{
"name": "BondingCurve",
"type": {
"kind": "struct",
"fields": [
{
"name": "virtualTokenReserves",
"type": "u64"
},
{
"name": "virtualSolReserves",
"type": "u64"
},
{
"name": "realTokenReserves",
"type": "u64"
},
{
"name": "realSolReserves",
"type": "u64"
},
{
"name": "tokenTotalSupply",
"type": "u64"
},
{
"name": "complete",
"type": "bool"
}
]
}
},
{
"name": "CreateEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "name",
"type": "string",
"index": false
},
{
"name": "symbol",
"type": "string",
"index": false
},
{
"name": "uri",
"type": "string",
"index": false
},
{
"name": "mint",
"type": "pubkey",
"index": false
},
{
"name": "bondingCurve",
"type": "pubkey",
"index": false
},
{
"name": "user",
"type": "pubkey",
"index": false
}
]
}
},
{
"name": "TradeEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "mint",
"type": "pubkey",
"index": false
},
{
"name": "solAmount",
"type": "u64",
"index": false
},
{
"name": "tokenAmount",
"type": "u64",
"index": false
},
{
"name": "isBuy",
"type": "bool",
"index": false
},
{
"name": "user",
"type": "pubkey",
"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",
"type": {
"kind": "struct",
"fields": [
{
"name": "user",
"type": "pubkey",
"index": false
},
{
"name": "mint",
"type": "pubkey",
"index": false
},
{
"name": "bondingCurve",
"type": "pubkey",
"index": false
},
{
"name": "timestamp",
"type": "i64",
"index": false
}
]
}
},
{
"name": "SetParamsEvent",
"type": {
"kind": "struct",
"fields": [
{
"name": "feeRecipient",
"type": "pubkey",
"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"
}
]
}