1 line
11 KiB
JSON
1 line
11 KiB
JSON
{"version":"0.1.0","name":"token_launchpad","instructions":[{"name":"tokenMint","accounts":[{"name":"sender","isMut":true,"isSigner":true},{"name":"backendAuthority","isMut":false,"isSigner":true},{"name":"curveAccount","isMut":true,"isSigner":false},{"name":"mint","isMut":true,"isSigner":true},{"name":"mintMetadata","isMut":true,"isSigner":false,"docs":["Type validating that the account is owned by the System Program = uninitialized","seeds should ensure that the address is correct"]},{"name":"curveTokenAccount","isMut":true,"isSigner":false},{"name":"configAccount","isMut":false,"isSigner":false},{"name":"tokenProgram","isMut":false,"isSigner":false},{"name":"associatedTokenProgram","isMut":false,"isSigner":false},{"name":"mplTokenMetadata","isMut":false,"isSigner":false},{"name":"systemProgram","isMut":false,"isSigner":false}],"args":[{"name":"mintParams","type":{"defined":"TokenMintParams"}}]},{"name":"buy","accounts":[{"name":"sender","isMut":true,"isSigner":true},{"name":"senderTokenAccount","isMut":true,"isSigner":false},{"name":"curveAccount","isMut":true,"isSigner":false},{"name":"curveTokenAccount","isMut":true,"isSigner":false},{"name":"dexFee","isMut":true,"isSigner":false},{"name":"helioFee","isMut":true,"isSigner":false},{"name":"mint","isMut":false,"isSigner":false},{"name":"configAccount","isMut":false,"isSigner":false},{"name":"tokenProgram","isMut":false,"isSigner":false},{"name":"associatedTokenProgram","isMut":false,"isSigner":false},{"name":"systemProgram","isMut":false,"isSigner":false}],"args":[{"name":"data","type":{"defined":"TradeParams"}}]},{"name":"sell","accounts":[{"name":"sender","isMut":true,"isSigner":true},{"name":"senderTokenAccount","isMut":true,"isSigner":false},{"name":"curveAccount","isMut":true,"isSigner":false},{"name":"curveTokenAccount","isMut":true,"isSigner":false},{"name":"dexFee","isMut":true,"isSigner":false},{"name":"helioFee","isMut":true,"isSigner":false},{"name":"mint","isMut":false,"isSigner":false},{"name":"configAccount","isMut":false,"isSigner":false},{"name":"tokenProgram","isMut":false,"isSigner":false},{"name":"associatedTokenProgram","isMut":false,"isSigner":false},{"name":"systemProgram","isMut":false,"isSigner":false}],"args":[{"name":"data","type":{"defined":"TradeParams"}}]},{"name":"migrateFunds","accounts":[{"name":"backendAuthority","isMut":false,"isSigner":true,"docs":["BE Authority"]},{"name":"migrationAuthority","isMut":true,"isSigner":true,"docs":["Migration Authority","Owner and Payer over Token Accounts, needs to be mutable"]},{"name":"curveAccount","isMut":true,"isSigner":false,"docs":["Curve Account","The account is closed after this instruction"]},{"name":"curveTokenAccount","isMut":true,"isSigner":false,"docs":["Curve Token Account","The account is closed after this instruction"]},{"name":"migrationAuthorityTokenAccount","isMut":true,"isSigner":false,"docs":["Authority token Account","Init on demand"]},{"name":"mint","isMut":true,"isSigner":false,"docs":["InterfaceAccount: checks program ownership + deserialize into Mint"]},{"name":"dexFeeAccount","isMut":true,"isSigner":false},{"name":"helioFeeAccount","isMut":true,"isSigner":false},{"name":"configAccount","isMut":false,"isSigner":false},{"name":"systemProgram","isMut":false,"isSigner":false},{"name":"tokenProgram","isMut":false,"isSigner":false},{"name":"associatedTokenProgram","isMut":false,"isSigner":false}],"args":[]},{"name":"configInit","accounts":[{"name":"configAuthority","isMut":true,"isSigner":true},{"name":"configAccount","isMut":true,"isSigner":false},{"name":"systemProgram","isMut":false,"isSigner":false}],"args":[{"name":"data","type":{"defined":"ConfigParams"}}]},{"name":"configUpdate","accounts":[{"name":"configAuthority","isMut":false,"isSigner":true},{"name":"configAccount","isMut":true,"isSigner":false}],"args":[{"name":"data","type":{"defined":"ConfigParams"}}]}],"accounts":[{"name":"ConfigAccount","type":{"kind":"struct","fields":[{"name":"migrationAuthority","type":"publicKey"},{"name":"backendAuthority","type":"publicKey"},{"name":"configAuthority","type":"publicKey"},{"name":"helioFee","type":"publicKey"},{"name":"dexFee","type":"publicKey"},{"name":"feeBps","type":"u16"},{"name":"dexFeeShare","type":"u8"},{"name":"migrationFee","type":"u64"},{"name":"marketcapThreshold","type":"u64"},{"name":"marketcapCurrency","type":{"defined":"Currency"}},{"name":"minSupportedDecimalPlaces","type":"u8"},{"name":"maxSupportedDecimalPlaces","type":"u8"},{"name":"minSupportedTokenSupply","type":"u64"},{"name":"maxSupportedTokenSupply","type":"u64"},{"name":"bump","type":"u8"},{"name":"coefB","type":"u32"}]}},{"name":"CurveAccount","type":{"kind":"struct","fields":[{"name":"totalSupply","type":"u64"},{"name":"curveAmount","type":"u64"},{"name":"mint","type":"publicKey"},{"name":"decimals","type":"u8"},{"name":"collateralCurrency","type":{"defined":"Currency"}},{"name":"curveType","type":{"defined":"CurveType"}},{"name":"marketcapThreshold","type":"u64"},{"name":"marketcapCurrency","type":{"defined":"Currency"}},{"name":"migrationFee","type":"u64"},{"name":"coefB","type":"u32"},{"name":"bump","type":"u8"},{"name":"migrationTarget","type":{"defined":"MigrationTarget"}}]}}],"types":[{"name":"TokenMintParams","type":{"kind":"struct","fields":[{"name":"name","type":"string"},{"name":"symbol","type":"string"},{"name":"uri","type":"string"},{"name":"decimals","type":"u8"},{"name":"collateralCurrency","type":"u8"},{"name":"amount","type":"u64"},{"name":"curveType","type":"u8"},{"name":"migrationTarget","type":"u8"}]}},{"name":"TradeParams","type":{"kind":"struct","fields":[{"name":"tokenAmount","type":"u64"},{"name":"collateralAmount","type":"u64"},{"name":"fixedSide","type":"u8"},{"name":"slippageBps","type":"u64"}]}},{"name":"ConfigParams","type":{"kind":"struct","fields":[{"name":"migrationAuthority","type":{"option":"publicKey"}},{"name":"backendAuthority","type":{"option":"publicKey"}},{"name":"configAuthority","type":{"option":"publicKey"}},{"name":"helioFee","type":{"option":"publicKey"}},{"name":"dexFee","type":{"option":"publicKey"}},{"name":"feeBps","type":{"option":"u16"}},{"name":"dexFeeShare","type":{"option":"u8"}},{"name":"migrationFee","type":{"option":"u64"}},{"name":"marketcapThreshold","type":{"option":"u64"}},{"name":"marketcapCurrency","type":{"option":"u8"}},{"name":"minSupportedDecimalPlaces","type":{"option":"u8"}},{"name":"maxSupportedDecimalPlaces","type":{"option":"u8"}},{"name":"minSupportedTokenSupply","type":{"option":"u64"}},{"name":"maxSupportedTokenSupply","type":{"option":"u64"}},{"name":"coefB","type":{"option":"u32"}}]}},{"name":"Currency","type":{"kind":"enum","variants":[{"name":"Sol"}]}},{"name":"CurveType","type":{"kind":"enum","variants":[{"name":"LinearV1"},{"name":"ConstantProductV1"}]}},{"name":"MigrationTarget","type":{"kind":"enum","variants":[{"name":"Raydium"},{"name":"Meteora"}]}},{"name":"TradeType","type":{"kind":"enum","variants":[{"name":"Buy"},{"name":"Sell"}]}},{"name":"FixedSide","type":{"kind":"enum","variants":[{"name":"ExactIn"},{"name":"ExactOut"}]}}],"events":[{"name":"TradeEvent","fields":[{"name":"amount","type":"u64","index":false},{"name":"collateralAmount","type":"u64","index":false},{"name":"dexFee","type":"u64","index":false},{"name":"helioFee","type":"u64","index":false},{"name":"allocation","type":"u64","index":false},{"name":"curve","type":"publicKey","index":false},{"name":"costToken","type":"publicKey","index":false},{"name":"sender","type":"publicKey","index":false},{"name":"type","type":{"defined":"TradeType"},"index":false},{"name":"label","type":"string","index":true}]},{"name":"MigrationEvent","fields":[{"name":"tokensMigrated","type":"u64","index":false},{"name":"tokensBurned","type":"u64","index":false},{"name":"collateralMigrated","type":"u64","index":false},{"name":"fee","type":"u64","index":false},{"name":"label","type":"string","index":true}]}],"errors":[{"code":6000,"name":"InsufficientBalance","msg":"Insufficient SOL to pay for the transaction."},{"code":6001,"name":"InvalidAmount","msg":"The amount must be available in the curve ."},{"code":6002,"name":"InvalidSlippage","msg":"The slippage must be under 100 percent."},{"code":6003,"name":"SlippageOverflow","msg":"The cost amount is not in the allowed slippage interval."},{"code":6004,"name":"ThresholdReached","msg":"Threshold limit exceeded."},{"code":6005,"name":"InvalidTokenAccount","msg":"Trade disabled, market cap threshold reached."},{"code":6006,"name":"InvalidCurveAccount","msg":"Invalid curve account."},{"code":6007,"name":"InvalidFeeAccount","msg":"Invalid fee account address."},{"code":6008,"name":"CurveLimit","msg":"Curve limit exceeded."},{"code":6009,"name":"InvalidCurveType","msg":"Invalid curve type."},{"code":6010,"name":"InvalidCurrency","msg":"Invalid currency."},{"code":6011,"name":"Arithmetics","msg":"Artithmetics error"},{"code":6012,"name":"ThresholdNotHit","msg":"Market Cap threshold not hit, cannot migrate funds yet"},{"code":6013,"name":"InvalidAuthority","msg":"Invalid Authority provided."},{"code":6014,"name":"TradeAmountTooLow","msg":"Trade amount too low , resulting in 0 costs"},{"code":6015,"name":"ConfigFieldMissing","msg":"Config field needs to be present during initialization"},{"code":6016,"name":"DifferentCurrencies","msg":"Unsupported different currency types"},{"code":6017,"name":"BasisPointTooHigh","msg":"Basis points too high"},{"code":6018,"name":"FeeShareTooHigh","msg":"Fee share too High"},{"code":6019,"name":"TokenDecimalsOutOfRange","msg":"Token decimals are not within the supported range"},{"code":6020,"name":"TokenNameTooLong","msg":"Token Name too long, max supported length is 32 bytes"},{"code":6021,"name":"TokenSymbolTooLong","msg":"Token Symbol too long, max supported length is 10 bytes"},{"code":6022,"name":"TokenURITooLong","msg":"Token URI too long, max supported length is 200 bytes"},{"code":6023,"name":"IncorrectDecimalPlacesBounds","msg":"Minimum Decimal Places cannot be lower than Maximum Decimal Places"},{"code":6024,"name":"IncorrectTokenSupplyBounds","msg":"Minimum Token Supply cannot be lower than Maximum Token Supply"},{"code":6025,"name":"TotalSupplyOutOfBounds","msg":"Token Total Supply out of bounds"},{"code":6026,"name":"FinalCollateralTooLow","msg":"This setup will produce final collateral amount less than the migration fee"},{"code":6027,"name":"CoefficientZero","msg":"One of the Coefficients is equal to ZERO"},{"code":6028,"name":"MarketCapThresholdTooLow","msg":"Market cap Threshold under the Hard lower bound limits"},{"code":6029,"name":"CoefBOutofBounds","msg":"Default coef_b set out of hard limit bounds"},{"code":6030,"name":"IncorrectMarketCap","msg":"For Constant Product the Market Cap threshold cannot be higher than 325 SOL"},{"code":6031,"name":"IncorrectDecimals","msg":"For Constant Product the Decimal places cannot be other than 9"},{"code":6032,"name":"IncorrectMaxSupply","msg":"For Constant Product the Maximal Token Supply cannot be other than 1_000_000_000"},{"code":6033,"name":"MarketCapTooHigh","msg":"Market Cap Threshold set too high, will not be hit even if Curve Hard Limit reached"},{"code":6034,"name":"InvalidMigrationTarget","msg":"This Migration Target is not supported!"},{"code":6035,"name":"General","msg":"General error"}]} |