UNPKG

@candy-swap/candy-sdk

Version:

Candy SDK for Solana

934 lines (933 loc) 26.8 kB
export type Candy = { "version": "0.1.0"; "name": "candy"; "instructions": [ { "name": "createMint"; "accounts": [ { "name": "mint"; "isMut": true; "isSigner": false; }, { "name": "payer"; "isMut": true; "isSigner": true; }, { "name": "metadata"; "isMut": true; "isSigner": false; "docs": [ "This account is used to store the metadata of the mint", "seeds = ['metadata', program id, mint]", "['metadata', program id, mint]" ]; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; }, { "name": "systemProgram"; "isMut": false; "isSigner": false; }, { "name": "rent"; "isMut": false; "isSigner": false; }, { "name": "tokenMetadataProgram"; "isMut": false; "isSigner": false; }, { "name": "associatedTokenProgram"; "isMut": false; "isSigner": false; }, { "name": "pool"; "isMut": true; "isSigner": false; }, { "name": "liquidityAccount"; "isMut": true; "isSigner": false; }, { "name": "cashier"; "isMut": true; "isSigner": false; }, { "name": "tokenAccount"; "isMut": true; "isSigner": false; }, { "name": "dexConfigurationAccount"; "isMut": true; "isSigner": false; } ]; "args": [ { "name": "metadata"; "type": { "defined": "InitTokenParams"; }; } ]; }, { "name": "swap"; "accounts": [ { "name": "dexConfigurationAccount"; "isMut": true; "isSigner": false; }, { "name": "pool"; "isMut": true; "isSigner": false; }, { "name": "cfg"; "isMut": true; "isSigner": false; }, { "name": "liquidityAccount"; "isMut": true; "isSigner": false; "docs": [ "CHECK" ]; }, { "name": "mintTokenOne"; "isMut": true; "isSigner": false; }, { "name": "poolTokenAccountOne"; "isMut": true; "isSigner": false; }, { "name": "userTokenAccountOne"; "isMut": true; "isSigner": false; }, { "name": "sysFeeReceiver"; "isMut": true; "isSigner": false; }, { "name": "devFeeReceiver"; "isMut": true; "isSigner": false; "isOptional": true; }, { "name": "swapAdmin"; "isMut": true; "isSigner": true; "isOptional": true; }, { "name": "user"; "isMut": true; "isSigner": true; }, { "name": "rent"; "isMut": false; "isSigner": false; }, { "name": "systemProgram"; "isMut": false; "isSigner": false; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; }, { "name": "associatedTokenProgram"; "isMut": false; "isSigner": false; } ]; "args": [ { "name": "params"; "type": { "defined": "SwapParams"; }; } ]; }, { "name": "mintInitialize"; "accounts": [ { "name": "mint"; "isMut": true; "isSigner": true; }, { "name": "dexConfigurationAccount"; "isMut": true; "isSigner": false; }, { "name": "cfg"; "isMut": true; "isSigner": false; }, { "name": "admin"; "isMut": true; "isSigner": true; }, { "name": "devFeeReciever"; "isMut": true; "isSigner": false; "isOptional": true; }, { "name": "systemProgram"; "isMut": false; "isSigner": false; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; }, { "name": "associatedTokenProgram"; "isMut": false; "isSigner": false; } ]; "args": []; }, { "name": "initialize"; "accounts": [ { "name": "dexConfigurationAccount"; "isMut": true; "isSigner": false; }, { "name": "admin"; "isMut": true; "isSigner": true; }, { "name": "systemProgram"; "isMut": false; "isSigner": false; } ]; "args": [ { "name": "params"; "type": { "defined": "InitializeParams"; }; } ]; }, { "name": "ammPrepare"; "accounts": [ { "name": "mint"; "isMut": true; "isSigner": false; }, { "name": "payer"; "isMut": true; "isSigner": true; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; }, { "name": "systemProgram"; "isMut": false; "isSigner": false; }, { "name": "rent"; "isMut": false; "isSigner": false; }, { "name": "associatedTokenProgram"; "isMut": false; "isSigner": false; }, { "name": "cashier"; "isMut": true; "isSigner": false; }, { "name": "target"; "isMut": true; "isSigner": false; }, { "name": "targetTokenAccount"; "isMut": true; "isSigner": false; }, { "name": "liquidityAccount"; "isMut": true; "isSigner": false; }, { "name": "poolTokenAccountOne"; "isMut": true; "isSigner": false; }, { "name": "pool"; "isMut": true; "isSigner": false; } ]; "args": []; }, { "name": "setActive"; "accounts": [ { "name": "mint"; "isMut": true; "isSigner": false; }, { "name": "payer"; "isMut": true; "isSigner": true; }, { "name": "systemProgram"; "isMut": false; "isSigner": false; }, { "name": "pool"; "isMut": true; "isSigner": false; }, { "name": "dexConfigurationAccount"; "isMut": true; "isSigner": false; } ]; "args": [ { "name": "params"; "type": { "defined": "ActiveParams"; }; } ]; }, { "name": "withdraw"; "accounts": [ { "name": "payer"; "isMut": true; "isSigner": true; }, { "name": "cashier"; "isMut": true; "isSigner": false; }, { "name": "dst"; "isMut": true; "isSigner": false; }, { "name": "dexConfigurationAccount"; "isMut": true; "isSigner": false; } ]; "args": [ { "name": "params"; "type": { "defined": "WithdrawParams"; }; } ]; }, { "name": "setCfg"; "accounts": [ { "name": "dexConfigurationAccount"; "isMut": true; "isSigner": false; }, { "name": "admin"; "isMut": true; "isSigner": true; }, { "name": "mint"; "isMut": true; "isSigner": false; }, { "name": "cfg"; "isMut": true; "isSigner": false; }, { "name": "systemProgram"; "isMut": false; "isSigner": false; }, { "name": "tokenProgram"; "isMut": false; "isSigner": false; } ]; "args": [ { "name": "params"; "type": { "defined": "SetCfgParams"; }; } ]; }, { "name": "setCurveCfg"; "accounts": [ { "name": "dexConfigurationAccount"; "isMut": true; "isSigner": false; }, { "name": "admin"; "isMut": true; "isSigner": true; }, { "name": "systemProgram"; "isMut": false; "isSigner": false; } ]; "args": [ { "name": "params"; "type": { "defined": "SetCurveCfgParams"; }; } ]; } ]; "accounts": [ { "name": "curveConfiguration"; "type": { "kind": "struct"; "fields": [ { "name": "mintFees"; "type": "u64"; }, { "name": "sysFeeReceiver"; "type": "publicKey"; }, { "name": "swapDevFee"; "type": "u64"; }, { "name": "swapSystemFee"; "type": "u64"; }, { "name": "swapAdmin"; "type": { "option": "publicKey"; }; }, { "name": "admin"; "type": "publicKey"; } ]; }; }, { "name": "liquidityPool"; "type": { "kind": "struct"; "fields": [ { "name": "tokenOne"; "type": "publicKey"; }, { "name": "tokenTwo"; "type": "publicKey"; }, { "name": "totalSupply"; "type": "u64"; }, { "name": "reserveOne"; "type": "u64"; }, { "name": "reserveTwo"; "type": "u64"; }, { "name": "bump"; "type": "u8"; }, { "name": "active"; "type": "bool"; } ]; }; }, { "name": "tokenCfg"; "type": { "kind": "struct"; "fields": [ { "name": "swapAdmin"; "type": { "option": "publicKey"; }; }, { "name": "developer"; "type": { "option": "publicKey"; }; }, { "name": "devFee"; "type": "u64"; }, { "name": "sysFee"; "type": "u64"; } ]; }; } ]; "types": [ { "name": "ActiveParams"; "type": { "kind": "struct"; "fields": [ { "name": "active"; "type": "bool"; } ]; }; }, { "name": "InitTokenParams"; "type": { "kind": "struct"; "fields": [ { "name": "name"; "type": "string"; }, { "name": "symbol"; "type": "string"; }, { "name": "uri"; "type": "string"; }, { "name": "decimals"; "type": "u8"; } ]; }; }, { "name": "InitializeParams"; "type": { "kind": "struct"; "fields": [ { "name": "swapAdmin"; "type": "publicKey"; }, { "name": "swapFee"; "type": "u64"; }, { "name": "systemFee"; "type": "u64"; }, { "name": "admin"; "type": "publicKey"; } ]; }; }, { "name": "SetCfgParams"; "type": { "kind": "struct"; "fields": [ { "name": "swapAdmin"; "type": { "option": "publicKey"; }; }, { "name": "swapFee"; "type": "u64"; }, { "name": "developer"; "type": { "option": "publicKey"; }; } ]; }; }, { "name": "SetCurveCfgParams"; "type": { "kind": "struct"; "fields": [ { "name": "swapAdmin"; "type": { "option": "publicKey"; }; }, { "name": "swapFee"; "type": "u64"; }, { "name": "systemFee"; "type": "u64"; }, { "name": "admin"; "type": "publicKey"; }, { "name": "mintFees"; "type": "u64"; } ]; }; }, { "name": "SwapParams"; "type": { "kind": "struct"; "fields": [ { "name": "amount"; "type": "u64"; }, { "name": "style"; "type": "u64"; }, { "name": "minOut"; "type": "u64"; } ]; }; }, { "name": "WithdrawParams"; "type": { "kind": "struct"; "fields": [ { "name": "amt"; "type": "u64"; } ]; }; } ]; "events": [ { "name": "LaunchEvent"; "fields": [ { "name": "mint"; "type": "publicKey"; "index": false; }, { "name": "ts"; "type": "i64"; "index": false; } ]; }, { "name": "MintEvent"; "fields": [ { "name": "mint"; "type": "publicKey"; "index": false; }, { "name": "payer"; "type": "publicKey"; "index": false; }, { "name": "name"; "type": "string"; "index": false; }, { "name": "symbol"; "type": "string"; "index": false; }, { "name": "uri"; "type": "string"; "index": false; }, { "name": "decimals"; "type": "u8"; "index": false; }, { "name": "ts"; "type": "i64"; "index": false; } ]; }, { "name": "MintProfit"; "fields": [ { "name": "mint"; "type": "publicKey"; "index": false; }, { "name": "amount"; "type": "u64"; "index": false; }, { "name": "src"; "type": "publicKey"; "index": false; }, { "name": "dst"; "type": "publicKey"; "index": false; }, { "name": "ts"; "type": "i64"; "index": false; } ]; }, { "name": "SwapEvent"; "fields": [ { "name": "amountIn"; "type": "u64"; "index": false; }, { "name": "style"; "type": "u64"; "index": false; }, { "name": "user"; "type": "publicKey"; "index": false; }, { "name": "mint"; "type": "publicKey"; "index": false; }, { "name": "ts"; "type": "i64"; "index": false; }, { "name": "amountOut"; "type": "u64"; "index": false; }, { "name": "reserveOne"; "type": "u64"; "index": false; }, { "name": "reserveTwo"; "type": "u64"; "index": false; }, { "name": "blocknumber"; "type": "u64"; "index": false; } ]; } ]; "errors": [ { "code": 6000; "name": "DuplicateTokenNotAllowed"; "msg": "Duplicate tokens are not allowed"; }, { "code": 6001; "name": "FailedToAllocateShares"; "msg": "Failed to allocate shares"; }, { "code": 6002; "name": "FailedToDeallocateShares"; "msg": "Failed to deallocate shares"; }, { "code": 6003; "name": "InsufficientShares"; "msg": "Insufficient shares"; }, { "code": 6004; "name": "InsufficientFunds"; "msg": "Insufficient funds to swap"; }, { "code": 6005; "name": "InvalidAmount"; "msg": "Invalid amount to swap"; }, { "code": 6006; "name": "SlippageTooHigh"; "msg": "Slippage too high"; }, { "code": 6007; "name": "InvalidFee"; "msg": "Invalid fee"; }, { "code": 6008; "name": "InvalidSwapFee"; "msg": "Invalid swap fee"; }, { "code": 6009; "name": "FailedToAddLiquidity"; "msg": "Failed to add liquidity"; }, { "code": 6010; "name": "FailedToRemoveLiquidity"; "msg": "Failed to remove liquidity"; }, { "code": 6011; "name": "OverflowOrUnderflowOccurred"; "msg": "Overflow or underflow occured"; }, { "code": 6012; "name": "PriceUnavailable"; "msg": "Price from Pyth Network is unavailable"; }, { "code": 6013; "name": "InvalidAdmin"; "msg": "Invalid admin account"; }, { "code": 6014; "name": "InvalidDevFeeReceiver"; "msg": "Invalid dev fee reciever"; }, { "code": 6015; "name": "InvalidSwapAdmin"; "msg": "Invalid swap admin account"; } ]; }; export declare const IDL: Candy;