UNPKG

pumpfun-swap-sdk

Version:

SDK for interacting with the PumpFun AMM on Solana

1,565 lines (1,564 loc) 63.6 kB
/** * Program IDL in camelCase format in order to be used in JS/TS. * * Note that this is only a type helper and is not the actual IDL. The original * IDL can be found at `target/idl/pump_amm.json`. */ export type PumpAmm = { address: 'pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA'; metadata: { name: 'pumpAmm'; version: '0.1.0'; spec: '0.1.0'; description: 'Created with Anchor'; }; instructions: [ { name: 'buy'; discriminator: [102, 6, 61, 18, 1, 218, 235, 234]; accounts: [ { name: 'pool'; }, { name: 'user'; writable: true; signer: true; }, { name: 'globalConfig'; }, { name: 'baseMint'; relations: ['pool']; }, { name: 'quoteMint'; relations: ['pool']; }, { name: 'userBaseTokenAccount'; writable: true; }, { name: 'userQuoteTokenAccount'; writable: true; }, { name: 'poolBaseTokenAccount'; writable: true; relations: ['pool']; }, { name: 'poolQuoteTokenAccount'; writable: true; relations: ['pool']; }, { name: 'protocolFeeRecipient'; }, { name: 'protocolFeeRecipientTokenAccount'; writable: true; pda: { seeds: [ { kind: 'account'; path: 'protocolFeeRecipient'; }, { kind: 'account'; path: 'quoteTokenProgram'; }, { kind: 'account'; path: 'quoteMint'; } ]; program: { kind: 'const'; value: [ 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142, 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216, 219, 233, 248, 89 ]; }; }; }, { name: 'baseTokenProgram'; }, { name: 'quoteTokenProgram'; }, { name: 'systemProgram'; address: '11111111111111111111111111111111'; }, { name: 'associatedTokenProgram'; address: 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL'; }, { name: 'eventAuthority'; pda: { seeds: [ { kind: 'const'; value: [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ]; } ]; }; }, { name: 'program'; } ]; args: [ { name: 'baseAmountOut'; type: 'u64'; }, { name: 'maxQuoteAmountIn'; type: 'u64'; } ]; }, { name: 'createConfig'; discriminator: [201, 207, 243, 114, 75, 111, 47, 189]; accounts: [ { name: 'admin'; writable: true; signer: true; address: '8LWu7QM2dGR1G8nKDHthckea57bkCzXyBTAKPJUBDHo8'; }, { name: 'globalConfig'; writable: true; pda: { seeds: [ { kind: 'const'; value: [ 103, 108, 111, 98, 97, 108, 95, 99, 111, 110, 102, 105, 103 ]; } ]; }; }, { name: 'systemProgram'; address: '11111111111111111111111111111111'; }, { name: 'eventAuthority'; pda: { seeds: [ { kind: 'const'; value: [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ]; } ]; }; }, { name: 'program'; } ]; args: [ { name: 'lpFeeBasisPoints'; type: 'u64'; }, { name: 'protocolFeeBasisPoints'; type: 'u64'; }, { name: 'protocolFeeRecipients'; type: { array: ['pubkey', 8]; }; } ]; }, { name: 'createPool'; discriminator: [233, 146, 209, 142, 207, 104, 64, 188]; accounts: [ { name: 'pool'; writable: true; pda: { seeds: [ { kind: 'const'; value: [112, 111, 111, 108]; }, { kind: 'arg'; path: 'index'; }, { kind: 'account'; path: 'creator'; }, { kind: 'account'; path: 'baseMint'; }, { kind: 'account'; path: 'quoteMint'; } ]; }; }, { name: 'globalConfig'; }, { name: 'creator'; writable: true; signer: true; }, { name: 'baseMint'; }, { name: 'quoteMint'; }, { name: 'lpMint'; writable: true; pda: { seeds: [ { kind: 'const'; value: [ 112, 111, 111, 108, 95, 108, 112, 95, 109, 105, 110, 116 ]; }, { kind: 'account'; path: 'pool'; } ]; }; }, { name: 'userBaseTokenAccount'; writable: true; }, { name: 'userQuoteTokenAccount'; writable: true; }, { name: 'userPoolTokenAccount'; writable: true; pda: { seeds: [ { kind: 'account'; path: 'creator'; }, { kind: 'account'; path: 'token2022Program'; }, { kind: 'account'; path: 'lpMint'; } ]; program: { kind: 'const'; value: [ 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142, 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216, 219, 233, 248, 89 ]; }; }; }, { name: 'poolBaseTokenAccount'; writable: true; pda: { seeds: [ { kind: 'account'; path: 'pool'; }, { kind: 'account'; path: 'baseTokenProgram'; }, { kind: 'account'; path: 'baseMint'; } ]; program: { kind: 'const'; value: [ 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142, 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216, 219, 233, 248, 89 ]; }; }; }, { name: 'poolQuoteTokenAccount'; writable: true; pda: { seeds: [ { kind: 'account'; path: 'pool'; }, { kind: 'account'; path: 'quoteTokenProgram'; }, { kind: 'account'; path: 'quoteMint'; } ]; program: { kind: 'const'; value: [ 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142, 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216, 219, 233, 248, 89 ]; }; }; }, { name: 'systemProgram'; address: '11111111111111111111111111111111'; }, { name: 'token2022Program'; address: 'TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb'; }, { name: 'baseTokenProgram'; }, { name: 'quoteTokenProgram'; }, { name: 'associatedTokenProgram'; address: 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL'; }, { name: 'eventAuthority'; pda: { seeds: [ { kind: 'const'; value: [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ]; } ]; }; }, { name: 'program'; } ]; args: [ { name: 'index'; type: 'u16'; }, { name: 'baseAmountIn'; type: 'u64'; }, { name: 'quoteAmountIn'; type: 'u64'; } ]; }, { name: 'deposit'; discriminator: [242, 35, 198, 137, 82, 225, 242, 182]; accounts: [ { name: 'pool'; writable: true; }, { name: 'globalConfig'; }, { name: 'user'; signer: true; }, { name: 'baseMint'; relations: ['pool']; }, { name: 'quoteMint'; relations: ['pool']; }, { name: 'lpMint'; writable: true; relations: ['pool']; }, { name: 'userBaseTokenAccount'; writable: true; }, { name: 'userQuoteTokenAccount'; writable: true; }, { name: 'userPoolTokenAccount'; writable: true; }, { name: 'poolBaseTokenAccount'; writable: true; relations: ['pool']; }, { name: 'poolQuoteTokenAccount'; writable: true; relations: ['pool']; }, { name: 'tokenProgram'; address: 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA'; }, { name: 'token2022Program'; address: 'TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb'; }, { name: 'eventAuthority'; pda: { seeds: [ { kind: 'const'; value: [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ]; } ]; }; }, { name: 'program'; } ]; args: [ { name: 'lpTokenAmountOut'; type: 'u64'; }, { name: 'maxBaseAmountIn'; type: 'u64'; }, { name: 'maxQuoteAmountIn'; type: 'u64'; } ]; }, { name: 'disable'; discriminator: [185, 173, 187, 90, 216, 15, 238, 233]; accounts: [ { name: 'admin'; signer: true; relations: ['globalConfig']; }, { name: 'globalConfig'; writable: true; }, { name: 'eventAuthority'; pda: { seeds: [ { kind: 'const'; value: [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ]; } ]; }; }, { name: 'program'; } ]; args: [ { name: 'disableCreatePool'; type: 'bool'; }, { name: 'disableDeposit'; type: 'bool'; }, { name: 'disableWithdraw'; type: 'bool'; }, { name: 'disableBuy'; type: 'bool'; }, { name: 'disableSell'; type: 'bool'; } ]; }, { name: 'extendAccount'; discriminator: [234, 102, 194, 203, 150, 72, 62, 229]; accounts: [ { name: 'account'; writable: true; }, { name: 'user'; signer: true; }, { name: 'systemProgram'; address: '11111111111111111111111111111111'; }, { name: 'eventAuthority'; pda: { seeds: [ { kind: 'const'; value: [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ]; } ]; }; }, { name: 'program'; } ]; args: []; }, { name: 'sell'; discriminator: [51, 230, 133, 164, 1, 127, 131, 173]; accounts: [ { name: 'pool'; }, { name: 'user'; writable: true; signer: true; }, { name: 'globalConfig'; }, { name: 'baseMint'; relations: ['pool']; }, { name: 'quoteMint'; relations: ['pool']; }, { name: 'userBaseTokenAccount'; writable: true; }, { name: 'userQuoteTokenAccount'; writable: true; }, { name: 'poolBaseTokenAccount'; writable: true; relations: ['pool']; }, { name: 'poolQuoteTokenAccount'; writable: true; relations: ['pool']; }, { name: 'protocolFeeRecipient'; }, { name: 'protocolFeeRecipientTokenAccount'; writable: true; pda: { seeds: [ { kind: 'account'; path: 'protocolFeeRecipient'; }, { kind: 'account'; path: 'quoteTokenProgram'; }, { kind: 'account'; path: 'quoteMint'; } ]; program: { kind: 'const'; value: [ 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142, 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216, 219, 233, 248, 89 ]; }; }; }, { name: 'baseTokenProgram'; }, { name: 'quoteTokenProgram'; }, { name: 'systemProgram'; address: '11111111111111111111111111111111'; }, { name: 'associatedTokenProgram'; address: 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL'; }, { name: 'eventAuthority'; pda: { seeds: [ { kind: 'const'; value: [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ]; } ]; }; }, { name: 'program'; } ]; args: [ { name: 'baseAmountIn'; type: 'u64'; }, { name: 'minQuoteAmountOut'; type: 'u64'; } ]; }, { name: 'updateAdmin'; discriminator: [161, 176, 40, 213, 60, 184, 179, 228]; accounts: [ { name: 'admin'; signer: true; relations: ['globalConfig']; }, { name: 'globalConfig'; writable: true; }, { name: 'newAdmin'; }, { name: 'eventAuthority'; pda: { seeds: [ { kind: 'const'; value: [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ]; } ]; }; }, { name: 'program'; } ]; args: []; }, { name: 'updateFeeConfig'; discriminator: [104, 184, 103, 242, 88, 151, 107, 20]; accounts: [ { name: 'admin'; signer: true; relations: ['globalConfig']; }, { name: 'globalConfig'; writable: true; }, { name: 'eventAuthority'; pda: { seeds: [ { kind: 'const'; value: [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ]; } ]; }; }, { name: 'program'; } ]; args: [ { name: 'lpFeeBasisPoints'; type: 'u64'; }, { name: 'protocolFeeBasisPoints'; type: 'u64'; }, { name: 'protocolFeeRecipients'; type: { array: ['pubkey', 8]; }; } ]; }, { name: 'withdraw'; discriminator: [183, 18, 70, 156, 148, 109, 161, 34]; accounts: [ { name: 'pool'; writable: true; }, { name: 'globalConfig'; }, { name: 'user'; signer: true; }, { name: 'baseMint'; relations: ['pool']; }, { name: 'quoteMint'; relations: ['pool']; }, { name: 'lpMint'; writable: true; relations: ['pool']; }, { name: 'userBaseTokenAccount'; writable: true; }, { name: 'userQuoteTokenAccount'; writable: true; }, { name: 'userPoolTokenAccount'; writable: true; }, { name: 'poolBaseTokenAccount'; writable: true; relations: ['pool']; }, { name: 'poolQuoteTokenAccount'; writable: true; relations: ['pool']; }, { name: 'tokenProgram'; address: 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA'; }, { name: 'token2022Program'; address: 'TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb'; }, { name: 'eventAuthority'; pda: { seeds: [ { kind: 'const'; value: [ 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121 ]; } ]; }; }, { name: 'program'; } ]; args: [ { name: 'lpTokenAmountIn'; type: 'u64'; }, { name: 'minBaseAmountOut'; type: 'u64'; }, { name: 'minQuoteAmountOut'; type: 'u64'; } ]; } ]; accounts: [ { name: 'globalConfig'; discriminator: [149, 8, 156, 202, 160, 252, 176, 217]; }, { name: 'pool'; discriminator: [241, 154, 109, 4, 17, 177, 109, 188]; } ]; events: [ { name: 'buyEvent'; discriminator: [103, 244, 82, 31, 44, 245, 119, 119]; }, { name: 'createConfigEvent'; discriminator: [107, 52, 89, 129, 55, 226, 81, 22]; }, { name: 'createPoolEvent'; discriminator: [177, 49, 12, 210, 160, 118, 167, 116]; }, { name: 'depositEvent'; discriminator: [120, 248, 61, 83, 31, 142, 107, 144]; }, { name: 'disableEvent'; discriminator: [107, 253, 193, 76, 228, 202, 27, 104]; }, { name: 'extendAccountEvent'; discriminator: [97, 97, 215, 144, 93, 146, 22, 124]; }, { name: 'sellEvent'; discriminator: [62, 47, 55, 10, 165, 3, 220, 42]; }, { name: 'updateAdminEvent'; discriminator: [225, 152, 171, 87, 246, 63, 66, 234]; }, { name: 'updateFeeConfigEvent'; discriminator: [90, 23, 65, 35, 62, 244, 188, 208]; }, { name: 'withdrawEvent'; discriminator: [22, 9, 133, 26, 160, 44, 71, 192]; } ]; errors: [ { code: 6000; name: 'feeBasisPointsExceedsMaximum'; }, { code: 6001; name: 'zeroBaseAmount'; }, { code: 6002; name: 'zeroQuoteAmount'; }, { code: 6003; name: 'tooLittlePoolTokenLiquidity'; }, { code: 6004; name: 'exceededSlippage'; }, { code: 6005; name: 'invalidAdmin'; }, { code: 6006; name: 'unsupportedBaseMint'; }, { code: 6007; name: 'unsupportedQuoteMint'; }, { code: 6008; name: 'invalidBaseMint'; }, { code: 6009; name: 'invalidQuoteMint'; }, { code: 6010; name: 'invalidLpMint'; }, { code: 6011; name: 'allProtocolFeeRecipientsShouldBeNonZero'; }, { code: 6012; name: 'unsortedNotUniqueProtocolFeeRecipients'; }, { code: 6013; name: 'invalidProtocolFeeRecipient'; }, { code: 6014; name: 'invalidPoolBaseTokenAccount'; }, { code: 6015; name: 'invalidPoolQuoteTokenAccount'; }, { code: 6016; name: 'buyMoreBaseAmountThanPoolReserves'; }, { code: 6017; name: 'disabledCreatePool'; }, { code: 6018; name: 'disabledDeposit'; }, { code: 6019; name: 'disabledWithdraw'; }, { code: 6020; name: 'disabledBuy'; }, { code: 6021; name: 'disabledSell'; }, { code: 6022; name: 'sameMint'; }, { code: 6023; name: 'overflow'; }, { code: 6024; name: 'truncation'; }, { code: 6025; name: 'divisionByZero'; }, { code: 6026; name: 'newSizeLessThanCurrentSize'; }, { code: 6027; name: 'accountTypeNotSupported'; } ]; types: [ { name: 'buyEvent'; type: { kind: 'struct'; fields: [ { name: 'timestamp'; type: 'i64'; }, { name: 'baseAmountOut'; type: 'u64'; }, { name: 'maxQuoteAmountIn'; type: 'u64'; }, { name: 'userBaseTokenReserves'; type: 'u64'; }, { name: 'userQuoteTokenReserves'; type: 'u64'; }, { name: 'poolBaseTokenReserves'; type: 'u64'; }, { name: 'poolQuoteTokenReserves'; type: 'u64'; }, { name: 'quoteAmountIn'; type: 'u64'; }, { name: 'lpFeeBasisPoints'; type: 'u64'; }, { name: 'lpFee'; type: 'u64'; }, { name: 'protocolFeeBasisPoints'; type: 'u64'; }, { name: 'protocolFee'; type: 'u64'; }, { name: 'quoteAmountInWithLpFee'; type: 'u64'; }, { name: 'userQuoteAmountIn'; type: 'u64'; }, { name: 'pool'; type: 'pubkey'; }, { name: 'user'; type: 'pubkey'; }, { name: 'userBaseTokenAccount'; type: 'pubkey'; }, { name: 'userQuoteTokenAccount'; type: 'pubkey'; }, { name: 'protocolFeeRecipient'; type: 'pubkey'; }, { name: 'protocolFeeRecipientTokenAccount'; type: 'pubkey'; } ]; }; }, { name: 'createConfigEvent'; type: { kind: 'struct'; fields: [ { name: 'timestamp'; type: 'i64'; }, { name: 'admin'; type: 'pubkey'; }, { name: 'lpFeeBasisPoints'; type: 'u64'; }, { name: 'protocolFeeBasisPoints'; type: 'u64'; }, { name: 'protocolFeeRecipients'; type: { array: ['pubkey', 8]; }; } ]; }; }, { name: 'createPoolEvent'; type: { kind: 'struct'; fields: [ { name: 'timestamp'; type: 'i64'; }, { name: 'index'; type: 'u16'; }, { name: 'creator'; type: 'pubkey'; }, { name: 'baseMint'; type: 'pubkey'; }, { name: 'quoteMint'; type: 'pubkey'; }, { name: 'baseMintDecimals'; type: 'u8'; }, { name: 'quoteMintDecimals'; type: 'u8'; }, { name: 'baseAmountIn'; type: 'u64'; }, { name: 'quoteAmountIn'; type: 'u64'; }, { name: 'poolBaseAmount'; type: 'u64'; }, { name: 'poolQuoteAmount'; type: 'u64'; }, { name: 'minimumLiquidity'; type: 'u64'; }, { name: 'initialLiquidity'; type: 'u64'; }, { name: 'lpTokenAmountOut'; type: 'u64'; }, { name: 'poolBump'; type: 'u8'; }, { name: 'pool'; type: 'pubkey'; }, { name: 'lpMint'; type: 'pubkey'; }, { name: 'userBaseTokenAccount'; type: 'pubkey'; }, { name: 'userQuoteTokenAccount'; type: 'pubkey'; } ]; }; }, { name: 'depositEvent'; type: { kind: 'struct'; fields: [