{"version":3,"sources":["../../src/common/pubKey.ts"],"sourcesContent":["import { AccountMeta, PublicKey, SystemProgram, SYSVAR_RENT_PUBKEY } from \"@solana/web3.js\";\nimport { TOKEN_PROGRAM_ID } from \"@solana/spl-token\";\n\ninterface AccountMetaProps {\n  pubkey: PublicKey;\n  isSigner?: boolean;\n  isWritable?: boolean;\n}\n\nexport function accountMeta({ pubkey, isSigner = false, isWritable = true }: AccountMetaProps): AccountMeta {\n  return {\n    pubkey,\n    isWritable,\n    isSigner,\n  };\n}\n\nexport const commonSystemAccountMeta = [\n  accountMeta({ pubkey: TOKEN_PROGRAM_ID, isWritable: false }),\n  accountMeta({ pubkey: SystemProgram.programId, isWritable: false }),\n  accountMeta({ pubkey: SYSVAR_RENT_PUBKEY, isWritable: false }),\n];\n\nexport type PublicKeyish = PublicKey | string;\n\nexport function validateAndParsePublicKey({\n  publicKey: orgPubKey,\n  transformSol,\n}: {\n  publicKey: PublicKeyish;\n  transformSol?: boolean;\n}): PublicKey {\n  const publicKey = tryParsePublicKey(orgPubKey.toString());\n\n  if (publicKey instanceof PublicKey) {\n    if (transformSol && publicKey.equals(SOLMint)) return WSOLMint;\n    return publicKey;\n  }\n\n  if (transformSol && publicKey.toString() === SOLMint.toBase58()) return WSOLMint;\n\n  if (typeof publicKey === \"string\") {\n    if (publicKey === PublicKey.default.toBase58()) return PublicKey.default;\n    try {\n      const key = new PublicKey(publicKey);\n      return key;\n    } catch {\n      throw new Error(\"invalid public key\");\n    }\n  }\n\n  throw new Error(\"invalid public key\");\n}\n\nexport function tryParsePublicKey(v: string): PublicKey | string {\n  try {\n    return new PublicKey(v);\n  } catch (e) {\n    return v;\n  }\n}\n\nexport const MEMO_PROGRAM_ID = new PublicKey(\"MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr\");\nexport const MEMO_PROGRAM_ID2 = new PublicKey(\"MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr\");\nexport const RENT_PROGRAM_ID = new PublicKey(\"SysvarRent111111111111111111111111111111111\");\nexport const CLOCK_PROGRAM_ID = new PublicKey(\"SysvarC1ock11111111111111111111111111111111\");\nexport const METADATA_PROGRAM_ID = new PublicKey(\"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\");\nexport const INSTRUCTION_PROGRAM_ID = new PublicKey(\"Sysvar1nstructions1111111111111111111111111\");\nexport const SYSTEM_PROGRAM_ID = SystemProgram.programId;\n\nexport const USDCMint = new PublicKey(\"a2Gt18uJC8puJT9JRYQLU6rPi6okxQb4WqCjwtYshZB\");\nexport const USDTMint = new PublicKey(\"bXSKiFqYrALF9gJy1KqHm8tv4QXk8nCgbLN8WRsGEbh\");\nexport const WSOLMint = new PublicKey(\"So11111111111111111111111111111111111111112\");\nexport const SOLMint = PublicKey.default;\nexport const BONKMint = new PublicKey(\"71kRXzJMvSeArtXYNEWa8KAjpRJosdMQ7Dpgy5Jt5zfd\");\nexport const SOL_Mint = new PublicKey(\"ERFzpDteGNo8LTDKW1WwVGrkRMmA2y9WZHXNHxMA6BSV\");\n\nexport function solToWSol(mint: PublicKeyish): PublicKey {\n  return validateAndParsePublicKey({ publicKey: mint, transformSol: true });\n}\n"],"mappings":"AAAA,OAAsB,aAAAA,EAAW,iBAAAC,EAAe,sBAAAC,MAA0B,kBAC1E,OAAS,oBAAAC,MAAwB,oBAQ1B,SAASC,EAAY,CAAE,OAAAC,EAAQ,SAAAC,EAAW,GAAO,WAAAC,EAAa,EAAK,EAAkC,CAC1G,MAAO,CACL,OAAAF,EACA,WAAAE,EACA,SAAAD,CACF,CACF,CAEO,IAAME,EAA0B,CACrCJ,EAAY,CAAE,OAAQD,EAAkB,WAAY,EAAM,CAAC,EAC3DC,EAAY,CAAE,OAAQH,EAAc,UAAW,WAAY,EAAM,CAAC,EAClEG,EAAY,CAAE,OAAQF,EAAoB,WAAY,EAAM,CAAC,CAC/D,EAIO,SAASO,EAA0B,CACxC,UAAWC,EACX,aAAAC,CACF,EAGc,CACZ,IAAMC,EAAYC,EAAkBH,EAAU,SAAS,CAAC,EAExD,GAAIE,aAAqBZ,EACvB,OAAIW,GAAgBC,EAAU,OAAOE,CAAO,EAAUC,EAC/CH,EAGT,GAAID,GAAgBC,EAAU,SAAS,IAAME,EAAQ,SAAS,EAAG,OAAOC,EAExE,GAAI,OAAOH,GAAc,SAAU,CACjC,GAAIA,IAAcZ,EAAU,QAAQ,SAAS,EAAG,OAAOA,EAAU,QACjE,GAAI,CAEF,OADY,IAAIA,EAAUY,CAAS,CAErC,MAAE,CACA,MAAM,IAAI,MAAM,oBAAoB,CACtC,CACF,CAEA,MAAM,IAAI,MAAM,oBAAoB,CACtC,CAEO,SAASC,EAAkBG,EAA+B,CAC/D,GAAI,CACF,OAAO,IAAIhB,EAAUgB,CAAC,CACxB,MAAE,CACA,OAAOA,CACT,CACF,CAEO,IAAMC,EAAkB,IAAIjB,EAAU,6CAA6C,EAC7EkB,EAAmB,IAAIlB,EAAU,6CAA6C,EAC9EmB,EAAkB,IAAInB,EAAU,6CAA6C,EAC7EoB,EAAmB,IAAIpB,EAAU,6CAA6C,EAC9EqB,EAAsB,IAAIrB,EAAU,6CAA6C,EACjFsB,EAAyB,IAAItB,EAAU,6CAA6C,EACpFuB,EAAoBtB,EAAc,UAElCuB,EAAW,IAAIxB,EAAU,6CAA6C,EACtEyB,EAAW,IAAIzB,EAAU,6CAA6C,EACtEe,EAAW,IAAIf,EAAU,6CAA6C,EACtEc,EAAUd,EAAU,QACpB0B,EAAW,IAAI1B,EAAU,8CAA8C,EACvE2B,EAAW,IAAI3B,EAAU,8CAA8C,EAE7E,SAAS4B,EAAUC,EAA+B,CACvD,OAAOpB,EAA0B,CAAE,UAAWoB,EAAM,aAAc,EAAK,CAAC,CAC1E","names":["PublicKey","SystemProgram","SYSVAR_RENT_PUBKEY","TOKEN_PROGRAM_ID","accountMeta","pubkey","isSigner","isWritable","commonSystemAccountMeta","validateAndParsePublicKey","orgPubKey","transformSol","publicKey","tryParsePublicKey","SOLMint","WSOLMint","v","MEMO_PROGRAM_ID","MEMO_PROGRAM_ID2","RENT_PROGRAM_ID","CLOCK_PROGRAM_ID","METADATA_PROGRAM_ID","INSTRUCTION_PROGRAM_ID","SYSTEM_PROGRAM_ID","USDCMint","USDTMint","BONKMint","SOL_Mint","solToWSol","mint"]}