From c5c7a0a42b0585af1f1851a1d75d00d51ba413f4 Mon Sep 17 00:00:00 2001 From: meep <33380758+odcheung@users.noreply.github.com> Date: Wed, 15 Sep 2021 22:58:05 +0800 Subject: [PATCH] Update to the latest pools (#39) --- src/constants/pools.ts | 184 +++++++++++++++++++++++++++++++++++++ src/constants/tokens.ts | 28 ++++++ src/public/pools/config.ts | 7 ++ 3 files changed, 219 insertions(+) diff --git a/src/constants/pools.ts b/src/constants/pools.ts index 699be18..f44c371 100644 --- a/src/constants/pools.ts +++ b/src/constants/pools.ts @@ -633,6 +633,183 @@ export const portUsdcPool: OrcaPoolParams = Object.freeze({ }, }); +export const sbrUsdcPool: OrcaPoolParams = Object.freeze({ + address: new PublicKey("HiYggjP2fN53Jw46e5UuskqNP3HH98jceRxEgVoeRwNw"), + nonce: 255, + authority: new PublicKey("ATkEV1nEkdp7zgaGpzFCsJ5WAyejcJbxqzGhQpfcDW4S"), + poolTokenMint: new PublicKey("CS7fA5n4c2D82dUoHrYzS3gAqgqaoVSfgsr18kitp2xo"), + poolTokenDecimals: 6, + feeAccount: new PublicKey("7S3KKuvcHfcKWBGLDwmoTgtB97JE8LHruP8jbmQkGfH"), + tokenIds: [Tokens.sbrToken.mint.toString(), Tokens.usdcToken.mint.toString()], + tokens: { + [Tokens.sbrToken.mint.toString()]: { + ...Tokens.sbrToken, + addr: new PublicKey("DrJTQqNZqNCf2HDLpYg9zRCMRwnhZEVQuGjeaWtX6CA7"), + }, + [Tokens.usdcToken.mint.toString()]: { + ...Tokens.usdcToken, + addr: new PublicKey("DEVLUv1uiUSukQoBdy9fDQyehi4N2Boojy8J2LQ8bK2E"), + }, + }, + curveType: CurveType.ConstantProduct, + feeStructure: { + traderFee: Percentage.fromFraction(25, 10000), + ownerFee: Percentage.fromFraction(5, 10000), + }, +}); + +export const socnUsdcPool: OrcaPoolParams = Object.freeze({ + address: new PublicKey("6Gh36sNXrGWYiWr999d9iZtqgnipJbWuBohyHBN1cJpS"), + nonce: 255, + authority: new PublicKey("GXWEpRURaQZ9E62Q23EreTUfBy4hfemXgWFUWcg7YFgv"), + poolTokenMint: new PublicKey("Dkr8B675PGnNwEr9vTKXznjjHke5454EQdz3iaSbparB"), + poolTokenDecimals: 6, + feeAccount: new PublicKey("HsC1Jo38jK3EpoNAkxfoUJhQVPa28anewZpLfeouUNk7"), + tokenIds: [Tokens.socnToken.mint.toString(), Tokens.usdcToken.mint.toString()], + tokens: { + [Tokens.socnToken.mint.toString()]: { + ...Tokens.socnToken, + addr: new PublicKey("7xs9QsrxQDVoWQ8LQ8VsVjfPKBrPGjvg8ZhaLnU1i2VR"), + }, + [Tokens.usdcToken.mint.toString()]: { + ...Tokens.usdcToken, + addr: new PublicKey("FZFJK64Fk1t619zmVPqCx8Uy29zJ3WuvjWitCQuxXRo3"), + }, + }, + curveType: CurveType.ConstantProduct, + feeStructure: { + traderFee: Percentage.fromFraction(25, 10000), + ownerFee: Percentage.fromFraction(5, 10000), + }, +}); + +export const psolUsdcPool: OrcaPoolParams = Object.freeze({ + address: new PublicKey("GW1Xt9HHtvcnky8X7aBA3BoTgiirJKP5XwC5REFcZSsc"), + nonce: 254, + authority: new PublicKey("GXueH9K1MzRncoTYbpLiXXC3WrKkmHUFxV5JEu8oADbw"), + poolTokenMint: new PublicKey("C2YzN6MymD5HM2kPaH7bzcbqciyjfmpqyVaR3KA5V6z1"), + poolTokenDecimals: 6, + feeAccount: new PublicKey("BhHd49JYH3Hk6TV5kCjmUgf7fQSQKDjaWTokMmBhTx9o"), + tokenIds: [Tokens.psolToken.mint.toString(), Tokens.usdcToken.mint.toString()], + tokens: { + [Tokens.psolToken.mint.toString()]: { + ...Tokens.psolToken, + addr: new PublicKey("F7XioZaGe99nosYJQCahx25TKgdUGufYf6sudm1JSgu"), + }, + [Tokens.usdcToken.mint.toString()]: { + ...Tokens.usdcToken, + addr: new PublicKey("BT14DfFyNS7qcBGc8TY4HAzDev4vvqsoFBJgjtQpdM2Z"), + }, + }, + curveType: CurveType.ConstantProduct, + feeStructure: { + traderFee: Percentage.fromFraction(25, 10000), + ownerFee: Percentage.fromFraction(5, 10000), + }, +}); + +export const msolSolPool: OrcaPoolParams = Object.freeze({ + address: new PublicKey("9EQMEzJdE2LDAY1hw1RytpufdwAXzatYfQ3M2UuT9b88"), + nonce: 250, + authority: new PublicKey("6cwehd4xhKkJ2s7iGh4CaDb7KhMgqczSBnyNJieUYbHn"), + poolTokenMint: new PublicKey("29cdoMgu6MS2VXpcMo1sqRdWEzdUR9tjvoh8fcK8Z87R"), + poolTokenDecimals: 6, + feeAccount: new PublicKey("6j2tt2UVYMQwqG3hRtyydW3odzBFwy3pN33tyB3xCKQ6"), + tokenIds: [Tokens.msolToken.mint.toString(), Tokens.solToken.mint.toString()], + tokens: { + [Tokens.msolToken.mint.toString()]: { + ...Tokens.msolToken, + addr: new PublicKey("6xmki5RtGNHrfhTiHFfp9k3RQ9t8qgL1cYP2YCG2h179"), + }, + [Tokens.solToken.mint.toString()]: { + ...Tokens.solToken, + addr: new PublicKey("Ew2coQtVGLeca31vqB2ssHntjzZgUy1ad9VuuAX8yw7p"), + }, + }, + curveType: CurveType.Stable, + amp: 100, + feeStructure: { + traderFee: Percentage.fromFraction(6, 10000), + ownerFee: Percentage.fromFraction(1, 10000), + }, +}); + +export const orcaPaiPool: OrcaPoolParams = Object.freeze({ + address: new PublicKey("7LfLiCnoLPefaCVuh6z92TK2tPZUa9bPjW7gHT4jqrec"), + nonce: 254, + authority: new PublicKey("AwUWHxHyQHomqCGJJvagiSDhb2xMqJUiE25qDytdMw49"), + poolTokenMint: new PublicKey("C7TH2jEJJaxVwwuvkbcDGfHUiZvEkkeYjyAcdTMi5ujb"), + poolTokenDecimals: 6, + feeAccount: new PublicKey("DrC2aGWrUmsnK6yAphSXEs8GW5nKUCkityaG8Bikn5Ne"), + tokenIds: [Tokens.orcaToken.mint.toString(), Tokens.paiToken.mint.toString()], + tokens: { + [Tokens.orcaToken.mint.toString()]: { + ...Tokens.orcaToken, + addr: new PublicKey("HSUFpGyNXEogXQLgEMQ7aMTxE4HZneRaBovbi9btXepM"), + }, + [Tokens.paiToken.mint.toString()]: { + ...Tokens.paiToken, + addr: new PublicKey("4c9rkBiqAY6fXpVvCbDwpDD44AGQ3MXSaCLcpmLUFtrX"), + }, + }, + curveType: CurveType.ConstantProduct, + feeStructure: { + traderFee: Percentage.fromFraction(25, 10000), + ownerFee: Percentage.fromFraction(5, 10000), + }, +}); + +export const orcaMsolPool: OrcaPoolParams = Object.freeze({ + address: new PublicKey("49tTgthTYLMPEqozZNyEQifqkGYxHqqDie9YxVczS3iB"), + nonce: 255, + authority: new PublicKey("9FQ9gDtS6uNr5SMPafuzkDit2rMftHfQuz5mg2X3TqHT"), + poolTokenMint: new PublicKey("CVapmQn7HaU1yMDW3q6oUV4hx6XoYv54T4zfGXkuJqkA"), + poolTokenDecimals: 6, + feeAccount: new PublicKey("Hq9xxKdMavJd4teMZusF4PiGNGV3hxdcMZwAdngkHCg7"), + tokenIds: [Tokens.orcaToken.mint.toString(), Tokens.msolToken.mint.toString()], + tokens: { + [Tokens.orcaToken.mint.toString()]: { + ...Tokens.orcaToken, + addr: new PublicKey("7hoYJc4aqttctANrNe75gscdmQD9HcXZED6AjdDdZMQ9"), + }, + [Tokens.msolToken.mint.toString()]: { + ...Tokens.msolToken, + addr: new PublicKey("7MuvRUFT1wWiL7uJKdZqNwk9Fmz2HJ36bEArhDTnyFij"), + }, + }, + curveType: CurveType.ConstantProduct, + feeStructure: { + traderFee: Percentage.fromFraction(25, 10000), + ownerFee: Percentage.fromFraction(5, 10000), + }, +}); + +export const socnSolPool: OrcaPoolParams = Object.freeze({ + address: new PublicKey("2q6UMko5kTnv866W9MTeAFau94pLpsdeNjDdSYSgZUXr"), + nonce: 255, + authority: new PublicKey("Gyd77CwV23qq937x9UDa4TDkxEeQF9tp8ifotYxqW3Kd"), + poolTokenMint: new PublicKey("APNpzQvR91v1THbsAyG3HHrUEwvexWYeNCFLQuVnxgMc"), + poolTokenDecimals: 6, + feeAccount: new PublicKey("42Xzazs9EvjtidvEDrj3JXbDtf6fpTq5XHh96mPctvBV"), + tokenIds: [Tokens.socnToken.mint.toString(), Tokens.solToken.mint.toString()], + tokens: { + [Tokens.socnToken.mint.toString()]: { + ...Tokens.socnToken, + addr: new PublicKey("C8DRXUqxXtUgvgBR7BPAmy6tnRJYgVjG27VU44wWDMNV"), + }, + [Tokens.solToken.mint.toString()]: { + ...Tokens.solToken, + addr: new PublicKey("DzdxH5qJ68PiM1p5o6PbPLPpDj8m1ZshcaMFATcxDZix"), + }, + }, + curveType: CurveType.Stable, + amp: 100, + feeStructure: { + traderFee: Percentage.fromFraction(6, 10000), + ownerFee: Percentage.fromFraction(1, 10000), + }, +}); + /** * Mapping for OrcaPool parameters * Key: poolTokenMint : OrcaPoolParams @@ -663,4 +840,11 @@ export const orcaPoolConfigs: Record = { "8PSfyiTVwPb6Rr2iZ8F3kNpbg65BCfJM9v8LfB916r44": msolUsdcPool, AtB4nUmdyQfuWWJ9xAHw9xyVnJFfSjSuVWkiYan8y86w: slrsUsdcPool, F8gPSpwVHj8FdAJAYULDuZBxFEJut87hUbARYYx3471w: portUsdcPool, + CS7fA5n4c2D82dUoHrYzS3gAqgqaoVSfgsr18kitp2xo: sbrUsdcPool, + Dkr8B675PGnNwEr9vTKXznjjHke5454EQdz3iaSbparB: socnUsdcPool, + C2YzN6MymD5HM2kPaH7bzcbqciyjfmpqyVaR3KA5V6z1: psolUsdcPool, + "29cdoMgu6MS2VXpcMo1sqRdWEzdUR9tjvoh8fcK8Z87R": msolSolPool, + C7TH2jEJJaxVwwuvkbcDGfHUiZvEkkeYjyAcdTMi5ujb: orcaPaiPool, + CVapmQn7HaU1yMDW3q6oUV4hx6XoYv54T4zfGXkuJqkA: orcaMsolPool, + APNpzQvR91v1THbsAyG3HHrUEwvexWYeNCFLQuVnxgMc: socnSolPool, }; diff --git a/src/constants/tokens.ts b/src/constants/tokens.ts index d663647..4078311 100644 --- a/src/constants/tokens.ts +++ b/src/constants/tokens.ts @@ -82,6 +82,13 @@ export const oxyToken: OrcaToken = Object.freeze({ scale: 6, }); +export const paiToken: OrcaToken = Object.freeze({ + tag: "PAI", + name: "Parrot Stable", + mint: new PublicKey("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"), + scale: 6, +}); + export const portToken: OrcaToken = Object.freeze({ tag: "PORT", name: "Port Finance", @@ -110,6 +117,13 @@ export const samoToken: OrcaToken = Object.freeze({ scale: 9, }); +export const sbrToken: OrcaToken = Object.freeze({ + tag: "SBR", + name: "Saber", + mint: new PublicKey("Saber2gLauYim4Mvftnrasomsv6NvAuncvMEZwcLpD1"), + scale: 6, +}); + export const slrsToken: OrcaToken = Object.freeze({ tag: "SLRS", name: "Solrise Finance", @@ -124,6 +138,13 @@ export const snyToken: OrcaToken = Object.freeze({ scale: 6, }); +export const socnToken: OrcaToken = Object.freeze({ + tag: "SOCN", + name: "Socean", + mint: new PublicKey("5oVNBeEEQvYi1cX3ir8Dx5n1P7pdxydbGF2X4TxVusJm"), + scale: 9, +}); + export const solToken: OrcaToken = Object.freeze({ tag: "SOL", name: "Solana", @@ -165,3 +186,10 @@ export const msolToken: OrcaToken = Object.freeze({ mint: new PublicKey("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"), scale: 9, }); + +export const psolToken: OrcaToken = Object.freeze({ + tag: "pSOL", + name: "pSOL", + mint: new PublicKey("9EaLkQrbjmbbuZG9Wdpo8qfNUEjHATJFSycEmw6f1rGX"), + scale: 9, +}); diff --git a/src/public/pools/config.ts b/src/public/pools/config.ts index 0b76a59..87b83ba 100644 --- a/src/public/pools/config.ts +++ b/src/public/pools/config.ts @@ -31,4 +31,11 @@ export enum OrcaPoolConfig { mSOL_USDC = "8PSfyiTVwPb6Rr2iZ8F3kNpbg65BCfJM9v8LfB916r44", SLRS_USDC = "AtB4nUmdyQfuWWJ9xAHw9xyVnJFfSjSuVWkiYan8y86w", PORT_USDC = "F8gPSpwVHj8FdAJAYULDuZBxFEJut87hUbARYYx3471w", + SBR_USDC = "CS7fA5n4c2D82dUoHrYzS3gAqgqaoVSfgsr18kitp2xo", + SOCN_USDC = "Dkr8B675PGnNwEr9vTKXznjjHke5454EQdz3iaSbparB", + pSOL_USDC = "C2YzN6MymD5HM2kPaH7bzcbqciyjfmpqyVaR3KA5V6z1", + mSOL_SOL = "29cdoMgu6MS2VXpcMo1sqRdWEzdUR9tjvoh8fcK8Z87R", + ORCA_PAI = "C7TH2jEJJaxVwwuvkbcDGfHUiZvEkkeYjyAcdTMi5ujb", + ORCA_mSOL = "CVapmQn7HaU1yMDW3q6oUV4hx6XoYv54T4zfGXkuJqkA", + SOCN_SOL = "APNpzQvR91v1THbsAyG3HHrUEwvexWYeNCFLQuVnxgMc", }