@cobaltx/sdk-v2
Version:
An SDK for building applications on top of CobaltX.
2 lines • 10.2 kB
JavaScript
import{PublicKey as z}from"@solana/web3.js";import{get as h,set as Q}from"lodash";var _=class{constructor(t){this.logLevel=t.logLevel!==void 0?t.logLevel:0,this.name=t.name}set level(t){this.logLevel=t}get time(){return Date.now().toString()}get moduleName(){return this.name}isLogLevel(t){return t<=this.logLevel}error(...t){return this.isLogLevel(0)?(console.error(this.time,this.name,"sdk logger error",...t),this):this}logWithError(...t){let n=t.map(s=>typeof s=="object"?JSON.stringify(s):s).join(", ");throw new Error(n)}warning(...t){return this.isLogLevel(1)?(console.warn(this.time,this.name,"sdk logger warning",...t),this):this}info(...t){return this.isLogLevel(2)?(console.info(this.time,this.name,"sdk logger info",...t),this):this}debug(...t){return this.isLogLevel(3)?(console.debug(this.time,this.name,"sdk logger debug",...t),this):this}},R={},W={};function V(r){let t=h(R,r);if(!t){let n=h(W,r);t=new _({name:r,logLevel:n}),Q(R,r,t)}return t}import{PublicKey as o}from"@solana/web3.js";var M=new o("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),A=new o("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),B=new o("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),F=new o("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),we=new o("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),_e=new o("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),be=new o("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),Se=new o("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),Te=new o("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),he=new o("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Re=new o("2TnjBuwqyBB9to5jURagDT7jLmBPefGRiKL2yh1zPZ4V"),Ve=new o("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Me=new o("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),Ae=new o("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),Be=new o("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),Fe=new o("6FJon3QE27qgPVggARueB22hLvoh22VzJpXv4rBEoSLF"),Ee=new o("CC12se5To1CdEuw7fDS27B7Geo5jJyL7t5UK2B44NgiH"),Ce=new o("9HzJyW1qZsEiSfMUf6L2jo3CcTKAyBmSyKdwQeYisHrC"),ve=new o("DropEU8AvevN3UrXWXTMuz3rqnMczQVNjq3kcSdW2SQi"),Ue=new o("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),Oe=new o("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),De=new o("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),X=new o("CPMDWBwJDtYax9qW7AyRuVC19Cc4L4Vcy4n2BHAbHkCW"),J=new o("7rQ1QFNosMkUCuh7Z7fPbTHvh73b68sQYdirycEzJVuw"),Z=new o("G11FKBRaAkHAKuLCgLM6K6NUc9rTjPAznRCjZifrTQe2"),ke=new o("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Y=new o("DLockwT7X7sxtLmGH9g5kmfcjaBtncdbUmi738m5bvQC"),Ge=new o("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),$=new o("7AFUeLVRjBfzqK3tTGw8hN48KLQWSk6DTE8xprWdPqix");var Ie={SERUM_MARKET:o.default,OPENBOOK_MARKET:new o("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),UTIL1216:o.default,FarmV3:new o("85BFyr98MbCUU9MVTEgzx1nbhWACbJqLzho6zd6DZcWL"),FarmV5:new o("EcLzTrNg9V7qhcdyXDe2qjtPkiGzDM2UbdRaeaadU5r2"),FarmV6:new o("Farm2hJLcqPtPg8M4rR6DMrsRNc5TPm5Cs4bVQrMe2T7"),AmmV4:new o("HWy1jotHpo6UqeQxx49dpYYdQB8wj9Qk9MdxwjLvDHB8"),AmmStable:new o("DDg4VmQaJV9ogWce7LpcjBA9bv22wRp5uaTPa5pGjijF"),CLMM:new o("devi51mZmdwUJGU9hjN27vEz64Gps7uUefqxg27EAtH"),CLMM_LOCK_PROGRAM_ID:new o("DLockwT7X7sxtLmGH9g5kmfcjaBtncdbUmi738m5bvQC"),CLMM_LOCK_AUTH_ID:new o("8qmHNvu2Kr2C7U8mJL4Vz1vTDxMhVuXKREwU7TNoaVEo"),Router:new o("BVChZ3XFEwTMUk1o9i3HAf91H6mFxSwa5X2wFAWhYPhU"),CREATE_CPMM_POOL_PROGRAM:X,CREATE_CPMM_POOL_AUTH:J,CREATE_CPMM_POOL_FEE_ACC:Z,FEE_DESTINATION_ID:new o("3XMrhbv989VxAMi3DErLV9eJht1pHppW5LbKxe9fkEFR"),LOCK_CPMM_PROGRAM:Y,LCOK_CPMM_AUTH:$};import{PublicKey as se}from"@solana/web3.js";import O,{isBN as D}from"bn.js";import{bits as He,BitStructure as qe,blob as ee,Blob as je,cstr as ze,f32 as Qe,f32be as We,f64 as Xe,f64be as Je,greedy as Ze,Layout as te,ns64 as Ye,ns64be as $e,nu64 as et,nu64be as tt,offset as rt,s16 as ot,s16be as nt,s24 as at,s24be as st,s32 as ut,s32be as it,s40 as dt,s40be as ct,s48 as pt,s48be as yt,s8 as mt,seq as re,struct as Lt,Structure as oe,u16 as Pt,u16be as xt,u24 as gt,u24be as ft,u32 as lt,u32be as wt,u40 as _t,u40be as bt,u48 as St,u48be as Tt,u8 as ne,UInt as ae,union as ht,Union as Rt,unionLayoutDiscriminator as Vt,utf8 as Mt}from"@solana/buffer-layout";var b=te,E=oe;var C=ae;var v=ne;var U=re;var P=ee;var x=class extends b{constructor(n,s,a){super(n,a);this.blob=P(n),this.signed=s}decode(n,s=0){let a=new O(this.blob.decode(n,s),10,"le");return this.signed?a.fromTwos(this.span*8).clone():a}encode(n,s,a=0){return typeof n=="number"&&(n=new O(n)),this.signed&&(n=n.toTwos(this.span*8)),this.blob.encode(n.toArrayLike(Buffer,"le",this.span),s,a)}};function c(r){return new C(1,r)}function e(r){return new x(8,!1,r)}function m(r){return new x(16,!1,r)}function k(r){return new x(1,!0,r)}function w(r){return new x(8,!0,r)}var l=class extends b{constructor(n,s,a,p){super(n.span,p);this.layout=n,this.decoder=s,this.encoder=a}decode(n,s){return this.decoder(this.layout.decode(n,s))}encode(n,s,a){return this.layout.encode(this.encoder(n),s,a)}getSpan(n,s){return this.layout.getSpan(n,s)}};function u(r){return new l(P(32),t=>new se(t),t=>t.toBuffer(),r)}function T(r){return new l(v(),ue,ie,r)}function ue(r){if(r===0)return!1;if(r===1)return!0;throw new Error("Invalid bool: "+r)}function ie(r){return r?1:0}var S=class extends E{decode(t,n){return super.decode(t,n)}};function d(r,t,n){return new S(r,t,n)}function i(r,t,n){let s,a=typeof t=="number"?t:D(t)?t.toNumber():new Proxy(t,{get(p,y){if(!s){let L=Reflect.get(p,"count");s=D(L)?L.toNumber():L,Reflect.set(p,"count",s)}return Reflect.get(p,y)},set(p,y,L){return y==="count"&&(s=L),Reflect.set(p,y,L)}});return U(r,a,n)}var zt=d([c("instruction")]),Qt=d([c("instruction")]),de=d([e("rewardState"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardLastUpdateTime"),e("totalReward"),e("totalRewardEmissioned"),e("rewardClaimed"),e("rewardPerSecond"),m("accRewardPerShare"),u("rewardVault"),u("rewardMint"),u("rewardSender"),e("rewardType"),i(e(),15,"padding")]),ce=d([e("state"),e("nonce"),u("lpVault"),u("rewardVault"),u(),u(),e(),e(),e("totalReward"),m("perShareReward"),e("lastSlot"),e("perSlotReward")]),pe=d([e("state"),e("nonce"),u("lpVault"),u("rewardVaultA"),e("totalRewardA"),m("perShareRewardA"),e("perSlotRewardA"),c("option"),u("rewardVaultB"),P(7),e("totalRewardB"),m("perShareRewardB"),e("perSlotRewardB"),e("lastSlot"),u()]),ye=d([e(),e("state"),e("nonce"),e("validRewardTokenNum"),m("rewardMultiplier"),e("rewardPeriodMax"),e("rewardPeriodMin"),e("rewardPeriodExtend"),u("lpMint"),u("lpVault"),i(de,5,"rewardInfos"),u("creator"),u(),i(e(),32,"padding")]),G=new Proxy(ce,{get(r,t,n){return t==="decode"?(...s)=>{let a=r.decode(...s);return{...a,version:3,rewardInfos:[{rewardVault:a.rewardVault,totalReward:a.totalReward,perSlotReward:a.perSlotReward,perShareReward:a.perShareReward}]}}:Reflect.get(r,t,n)}}),I=new Proxy(pe,{get(r,t,n){return t==="decode"?(...s)=>{let a=r.decode(...s);return{...a,version:5,rewardInfos:[{rewardVault:a.rewardVaultA,totalReward:a.totalRewardA,perSlotReward:a.perSlotRewardA,perShareReward:a.perShareRewardA},{rewardVault:a.rewardVaultB,totalReward:a.totalRewardB,perSlotReward:a.perSlotRewardB,perShareReward:a.perShareRewardB}]}}:Reflect.get(r,t,n)}}),N=new Proxy(ye,{get(r,t,n){return t==="decode"?(...s)=>{let a=r.decode(...s);return{...a,version:6,rewardInfos:a.rewardInfos.map(p=>{var y;return{...p,rewardType:((y=Object.entries(j).find(L=>String(L[1])===p.rewardType.toString()))!=null?y:["Standard SPL"])[0]}})}}:Reflect.get(r,t,n)}}),me=d([e("isSet"),e("rewardPerSecond"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardType")]),Wt=d([c("instruction"),e("nonce"),i(me,5,"rewardTimeInfo")]),Xt=d([c("instruction"),e("rewardReopenTime"),e("rewardEndTime"),e("rewardPerSecond")]),Jt=d([c("instruction"),e("isSet"),e("rewardPerSecond"),e("rewardOpenTime"),e("rewardEndTime"),e("rewardType")]),Zt=d([e("state"),u("id"),u("owner"),e("deposited"),i(e(),1,"rewardDebts")]),K=d([e("state"),u("id"),u("owner"),e("deposited"),i(m(),1,"rewardDebts"),e(""),e("voteLockedBalance"),i(e(),15)]),Yt=d([e("state"),u("id"),u("owner"),e("deposited"),i(e(),2,"rewardDebts")]),H=d([e("state"),u("id"),u("owner"),e("deposited"),i(m(),2,"rewardDebts"),i(e(),17)]),q=d([e(),e("state"),u("id"),u("owner"),e("deposited"),i(m(),5,"rewardDebts"),i(e(),16)]),$t=d([c("instruction"),e("amount")]),Le=d([u("mint"),u("grantAuthority"),e("baselineVoteWeightScaledFactor"),e("maxExtraLockupVoteWeightScaledFactor"),e("lockupSaturationSecs"),k("digitShift"),i(c(),7,"reserved1"),i(e(),7,"reserved2")]),er=d([P(8),u("governanceProgramId"),u("realm"),u("realmGoverningTokenMint"),u("realmAuthority"),i(c(),32,"reserved1"),i(Le,4,"votingMints"),w("timeOffset"),c("bump"),i(c(),7,"reserved2"),i(e(),11,"reserved3")]),Pe=d([w("startTime"),w("endTime"),c("kind"),i(c(),15,"reserved")]),xe=d([i(Pe,1,"lockup"),e("amountDeposited_native"),e("amountInitiallyLockedNative"),T("isUsed"),T("allowClawback"),c("votingMintConfigIdx"),i(c(),29,"reserved")]),tr=d([P(8),u("voterAuthority"),u("registrar"),i(xe,32,"deposits"),c("voterBump"),c("voterWweightRecordBump"),i(c(),94,"reserved")]);var dr=V("CobaltX_farm_config"),cr=new z("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),pr=new z("FrspKwj8i3pNmKwXreTveC4fu7KL5ZbGeXdZBe2XViu1"),yr={3:G,5:I,6:N},mr={3:K,5:H,6:q},Lr=r=>[3,4,5,6].indexOf(r)!==-1,Pr=r=>{var y;let{version:t,rewardInfos:n,rewardTokenAccountsPublicKeys:s}=r,a=`rewardInfo:${JSON.stringify(n)}, rewardAccount:${JSON.stringify(s)}`,p={3:()=>{if(n.length!==1||s.length!==1)return`rewardInfos or rewardTokenAccounts lengths not equal 1: ${a}`},5:()=>{if(n.length!==s.length)return`rewardInfos and rewardTokenAccounts lengths not equal: ${a}`},6:()=>{if(!s.length||n.length!==s.length)return`no rewardTokenAccounts or rewardInfos and rewardTokenAccounts lengths not equal: ${a}`}};return(y=p[t])==null?void 0:y.call(p)},j={"Standard SPL":0,"Option tokens":1},xr={[M.toString()]:3,[A.toString()]:4,[B.toString()]:5,[F.toString()]:6};export{cr as FARM_LOCK_MINT,pr as FARM_LOCK_VAULT,xr as FARM_PROGRAM_TO_VERSION,mr as FARM_VERSION_TO_LEDGER_LAYOUT,yr as FARM_VERSION_TO_STATE_LAYOUT,Lr as isValidFarmVersion,j as poolTypeV6,Pr as validateFarmRewards};
//# sourceMappingURL=config.mjs.map