@pancakeswap/swap-sdk-solana 1.1.6 → 1.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -94,10 +94,10 @@ function validateAndParsePublicKey({
94
94
  }
95
95
  throw new Error("invalid public key");
96
96
  }
97
- var isSolWSol = (token) => {
97
+ var isSolWSolToken = (token) => {
98
98
  if (!token)
99
99
  return false;
100
- if (token.chainId !== chains.NonEVMChainId.SOLANA)
100
+ if (token.chainId !== chains.NonEVMChainId.SOLANA && token.chainId !== 101)
101
101
  return false;
102
102
  if (token.isNative)
103
103
  return true;
@@ -105,7 +105,9 @@ var isSolWSol = (token) => {
105
105
  };
106
106
  var isSol = (mint) => mint === SOLMint.toBase58();
107
107
  var isWSol = (mint) => mint === WSOLMint.toBase58();
108
+ var isSolWSol = (mint) => isSol(mint) || isWSol(mint);
108
109
  var solToWSol = (key) => key === SOLMint.toBase58() ? WSOLMint.toBase58() : key;
110
+ var wSolToSol = (key) => key === WSOLMint.toBase58() ? SOLMint.toBase58() : key;
109
111
 
110
112
  exports.SOL = SOL;
111
113
  exports.SOLMint = SOLMint;
@@ -116,9 +118,11 @@ exports.WSOL = WSOL;
116
118
  exports.WSOLMint = WSOLMint;
117
119
  exports.isSol = isSol;
118
120
  exports.isSolWSol = isSolWSol;
121
+ exports.isSolWSolToken = isSolWSolToken;
119
122
  exports.isWSol = isWSol;
120
123
  exports.solToWSol = solToWSol;
121
124
  exports.tryParsePublicKey = tryParsePublicKey;
122
125
  exports.validateAndParsePublicKey = validateAndParsePublicKey;
126
+ exports.wSolToSol = wSolToSol;
123
127
  //# sourceMappingURL=out.js.map
124
128
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/constants.ts","../src/entities/native.ts","../src/utils.ts"],"names":["PublicKey","NonEVMChainId"],"mappings":";AAAA,SAAS,qBAAqB;AAC9B,SAAS,wBAAwB;AACjC,SAAS,iBAAiB;AAC1B,SAAS,gBAAgB;AAGlB,IAAM,WAAW,IAAI,UAAU,6CAA6C;AAC5E,IAAM,UAAU,UAAU;AAE1B,IAAM,WAAsB;AAAA,EACjC,SAAS,cAAc;AAAA,EACvB,SAAS,UAAU,QAAQ,SAAS;AAAA,EACpC,WAAW,iBAAiB,SAAS;AAAA,EACrC,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,SAAS;AAAA,EACT,MAAM,CAAC;AAAA,EACP,UAAU;AAAA,EACV,MAAM;AAAA,EACN,YAAY;AAAA,IACV,aAAa;AAAA,EACf;AACF;AAEO,IAAM,aAAwB;AAAA,EACnC,SAAS,cAAc;AAAA,EACvB,SAAS;AAAA,EACT,WAAW,iBAAiB,SAAS;AAAA,EACrC,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,SAAS;AAAA,EACT,MAAM,CAAC;AAAA,EACP,UAAU;AAAA,EACV,MAAM;AAAA,EACN,YAAY;AAAA,IACV,aAAa;AAAA,EACf;AACF;AAEO,IAAM,OAAiB,IAAI,SAAS,UAAU;;;ACzCrD,SAAS,yBAAmC;AAOrC,IAAM,YAAN,cAAwB,kBAAkB;AAAA,EAO/C,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,GAQG;AACD,UAAM,SAAS,UAAU,QAAQ,IAAI;AACrC,SAAK,YAAY;AACjB,SAAK,UAAU;AACf,SAAK,UAAU;AAAA,EACjB;AAAA;AAAA,EAGA,IAAW,UAAoB;AAC7B,WAAO;AAAA,EACT;AAAA,EAEO,OAAO,OAA8C;AAC1D,WAAO,MAAM,YAAY,MAAM,YAAY,KAAK;AAAA,EAClD;AACF;AAEO,IAAM,MAAM,IAAI,UAAU,QAAQ;;;AC/CzC,SAAS,aAAAA,kBAAiB;AAE1B,SAAS,iBAAAC,sBAAqB;AAIvB,SAAS,kBAAkB,GAA+B;AAC/D,MAAI;AACF,WAAO,IAAID,WAAU,CAAC;AAAA,EACxB,SAAS,GAAP;AACA,WAAO;AAAA,EACT;AACF;AACO,SAAS,0BAA0B;AAAA,EACxC,WAAW;AAAA,EACX;AACF,GAGc;AACZ,QAAM,YAAY,kBAAkB,UAAU,SAAS,CAAC;AAExD,MAAI,qBAAqBA,YAAW;AAClC,QAAI,gBAAgB,UAAU,OAAO,OAAO;AAAG,aAAO;AACtD,WAAO;AAAA,EACT;AAEA,MAAI,gBAAgB,UAAU,SAAS,MAAM,QAAQ,SAAS;AAAG,WAAO;AAExE,MAAI,OAAO,cAAc,UAAU;AACjC,QAAI,cAAcA,WAAU,QAAQ,SAAS;AAAG,aAAOA,WAAU;AACjE,QAAI;AACF,YAAM,MAAM,IAAIA,WAAU,SAAS;AACnC,aAAO;AAAA,IACT,QAAE;AACA,YAAM,IAAI,MAAM,oBAAoB;AAAA,IACtC;AAAA,EACF;AAEA,QAAM,IAAI,MAAM,oBAAoB;AACtC;AAEO,IAAM,YAAY,CAAC,UAAmC;AAC3D,MAAI,CAAC;AAAO,WAAO;AACnB,MAAI,MAAM,YAAYC,eAAc;AAAQ,WAAO;AACnD,MAAI,MAAM;AAAU,WAAO;AAC3B,SAAO,MAAM,QAAQ,SAAS,MAAM,WAAW,WAAW,MAAM,QAAQ,SAAS,MAAM,SAAS;AAClG;AACO,IAAM,QAAQ,CAAC,SAAiB,SAAS,QAAQ,SAAS;AAC1D,IAAM,SAAS,CAAC,SAAiB,SAAS,SAAS,SAAS;AAC5D,IAAM,YAAY,CAAC,QAAyB,QAAQ,QAAQ,SAAS,IAAI,SAAS,SAAS,IAAI","sourcesContent":["import { NonEVMChainId } from '@pancakeswap/chains'\nimport { TOKEN_PROGRAM_ID } from '@solana/spl-token'\nimport { PublicKey } from '@solana/web3.js'\nimport { SPLToken } from '@pancakeswap/swap-sdk-core'\nimport { TokenInfo } from './types'\n\nexport const WSOLMint = new PublicKey('So11111111111111111111111111111111111111112')\nexport const SOLMint = PublicKey.default\n\nexport const SOL_INFO: TokenInfo = {\n chainId: NonEVMChainId.SOLANA,\n address: PublicKey.default.toBase58(),\n programId: TOKEN_PROGRAM_ID.toBase58(),\n decimals: 9,\n symbol: 'SOL',\n name: 'Solana',\n logoURI: `https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png`,\n tags: [],\n priority: 2,\n type: 'raydium',\n extensions: {\n coingeckoId: 'solana',\n },\n}\n\nexport const TOKEN_WSOL: TokenInfo = {\n chainId: NonEVMChainId.SOLANA,\n address: 'So11111111111111111111111111111111111111112',\n programId: TOKEN_PROGRAM_ID.toBase58(),\n decimals: 9,\n symbol: 'WSOL',\n name: 'Wrapped SOL',\n logoURI: `https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png`,\n tags: [],\n priority: 2,\n type: 'raydium',\n extensions: {\n coingeckoId: 'solana',\n },\n}\n\nexport const WSOL: SPLToken = new SPLToken(TOKEN_WSOL)\n","import { SPLNativeCurrency, SPLToken } from '@pancakeswap/swap-sdk-core'\nimport { SOL_INFO, WSOL } from '../constants'\n\n/**\n *\n * Native is the main usage of a 'native' currency\n */\nexport class SPLNative extends SPLNativeCurrency {\n public readonly programId: string\n\n public readonly address: string\n\n public readonly logoURI: string\n\n constructor({\n chainId,\n decimals,\n name,\n symbol,\n programId,\n address,\n logoURI,\n }: {\n chainId: number\n decimals: number\n symbol: string\n name: string\n programId: string\n address: string\n logoURI: string\n }) {\n super(chainId, decimals, symbol, name)\n this.programId = programId\n this.address = address\n this.logoURI = logoURI\n }\n\n // eslint-disable-next-line class-methods-use-this\n public get wrapped(): SPLToken {\n return WSOL\n }\n\n public equals(other: SPLToken | SPLNativeCurrency): boolean {\n return other.isNative && other.chainId === this.chainId\n }\n}\n\nexport const SOL = new SPLNative(SOL_INFO)\n","import { PublicKey } from '@solana/web3.js'\nimport { UnifiedCurrency } from '@pancakeswap/swap-sdk-core'\nimport { NonEVMChainId } from '@pancakeswap/chains'\nimport { PublicKeyish } from './types'\nimport { SOL_INFO, SOLMint, TOKEN_WSOL, WSOLMint } from './constants'\n\nexport function tryParsePublicKey(v: string): PublicKey | string {\n try {\n return new PublicKey(v)\n } catch (e) {\n return v\n }\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 const isSolWSol = (token?: UnifiedCurrency | null) => {\n if (!token) return false\n if (token.chainId !== NonEVMChainId.SOLANA) return false\n if (token.isNative) return true\n return token.address.toString() === TOKEN_WSOL.address || token.address.toString() === SOL_INFO.address\n}\nexport const isSol = (mint: string) => mint === SOLMint.toBase58()\nexport const isWSol = (mint: string) => mint === WSOLMint.toBase58()\nexport const solToWSol = (key: string): string => (key === SOLMint.toBase58() ? WSOLMint.toBase58() : key)\n"]}
1
+ {"version":3,"sources":["../src/constants.ts","../src/entities/native.ts","../src/utils.ts"],"names":["PublicKey","NonEVMChainId"],"mappings":"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","sourcesContent":["import { NonEVMChainId } from '@pancakeswap/chains'\nimport { TOKEN_PROGRAM_ID } from '@solana/spl-token'\nimport { PublicKey } from '@solana/web3.js'\nimport { SPLToken } from '@pancakeswap/swap-sdk-core'\nimport { TokenInfo } from './types'\n\nexport const WSOLMint = new PublicKey('So11111111111111111111111111111111111111112')\nexport const SOLMint = PublicKey.default\n\nexport const SOL_INFO: TokenInfo = {\n chainId: NonEVMChainId.SOLANA,\n address: PublicKey.default.toBase58(),\n programId: TOKEN_PROGRAM_ID.toBase58(),\n decimals: 9,\n symbol: 'SOL',\n name: 'Solana',\n logoURI: `https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png`,\n tags: [],\n priority: 2,\n type: 'raydium',\n extensions: {\n coingeckoId: 'solana',\n },\n}\n\nexport const TOKEN_WSOL: TokenInfo = {\n chainId: NonEVMChainId.SOLANA,\n address: 'So11111111111111111111111111111111111111112',\n programId: TOKEN_PROGRAM_ID.toBase58(),\n decimals: 9,\n symbol: 'WSOL',\n name: 'Wrapped SOL',\n logoURI: `https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png`,\n tags: [],\n priority: 2,\n type: 'raydium',\n extensions: {\n coingeckoId: 'solana',\n },\n}\n\nexport const WSOL: SPLToken = new SPLToken(TOKEN_WSOL)\n","import { SPLNativeCurrency, SPLToken } from '@pancakeswap/swap-sdk-core'\nimport { SOL_INFO, WSOL } from '../constants'\n\n/**\n *\n * Native is the main usage of a 'native' currency\n */\nexport class SPLNative extends SPLNativeCurrency {\n public readonly programId: string\n\n public readonly address: string\n\n public readonly logoURI: string\n\n constructor({\n chainId,\n decimals,\n name,\n symbol,\n programId,\n address,\n logoURI,\n }: {\n chainId: number\n decimals: number\n symbol: string\n name: string\n programId: string\n address: string\n logoURI: string\n }) {\n super(chainId, decimals, symbol, name)\n this.programId = programId\n this.address = address\n this.logoURI = logoURI\n }\n\n // eslint-disable-next-line class-methods-use-this\n public get wrapped(): SPLToken {\n return WSOL\n }\n\n public equals(other: SPLToken | SPLNativeCurrency): boolean {\n return other.isNative && other.chainId === this.chainId\n }\n}\n\nexport const SOL = new SPLNative(SOL_INFO)\n","import { PublicKey } from '@solana/web3.js'\nimport { UnifiedCurrency } from '@pancakeswap/swap-sdk-core'\nimport { NonEVMChainId } from '@pancakeswap/chains'\nimport { PublicKeyish } from './types'\nimport { SOL_INFO, SOLMint, TOKEN_WSOL, WSOLMint } from './constants'\n\nexport function tryParsePublicKey(v: string): PublicKey | string {\n try {\n return new PublicKey(v)\n } catch (e) {\n return v\n }\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 const isSolWSolToken = (token?: UnifiedCurrency | null) => {\n if (!token) return false\n if (token.chainId !== NonEVMChainId.SOLANA && token.chainId !== 101) return false\n if (token.isNative) return true\n return token.address.toString() === TOKEN_WSOL.address || token.address.toString() === SOL_INFO.address\n}\nexport const isSol = (mint: string) => mint === SOLMint.toBase58()\nexport const isWSol = (mint: string) => mint === WSOLMint.toBase58()\nexport const isSolWSol = (mint: string) => isSol(mint) || isWSol(mint)\n\nexport const solToWSol = (key: string): string => (key === SOLMint.toBase58() ? WSOLMint.toBase58() : key)\nexport const wSolToSol = (key: string): string => (key === WSOLMint.toBase58() ? SOLMint.toBase58() : key)\n"]}
package/dist/index.mjs CHANGED
@@ -92,10 +92,10 @@ function validateAndParsePublicKey({
92
92
  }
93
93
  throw new Error("invalid public key");
94
94
  }
95
- var isSolWSol = (token) => {
95
+ var isSolWSolToken = (token) => {
96
96
  if (!token)
97
97
  return false;
98
- if (token.chainId !== NonEVMChainId.SOLANA)
98
+ if (token.chainId !== NonEVMChainId.SOLANA && token.chainId !== 101)
99
99
  return false;
100
100
  if (token.isNative)
101
101
  return true;
@@ -103,8 +103,10 @@ var isSolWSol = (token) => {
103
103
  };
104
104
  var isSol = (mint) => mint === SOLMint.toBase58();
105
105
  var isWSol = (mint) => mint === WSOLMint.toBase58();
106
+ var isSolWSol = (mint) => isSol(mint) || isWSol(mint);
106
107
  var solToWSol = (key) => key === SOLMint.toBase58() ? WSOLMint.toBase58() : key;
108
+ var wSolToSol = (key) => key === WSOLMint.toBase58() ? SOLMint.toBase58() : key;
107
109
 
108
- export { SOL, SOLMint, SOL_INFO, SPLNative, TOKEN_WSOL, WSOL, WSOLMint, isSol, isSolWSol, isWSol, solToWSol, tryParsePublicKey, validateAndParsePublicKey };
110
+ export { SOL, SOLMint, SOL_INFO, SPLNative, TOKEN_WSOL, WSOL, WSOLMint, isSol, isSolWSol, isSolWSolToken, isWSol, solToWSol, tryParsePublicKey, validateAndParsePublicKey, wSolToSol };
109
111
  //# sourceMappingURL=out.js.map
110
112
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/constants.ts","../src/entities/native.ts","../src/utils.ts"],"names":["PublicKey","NonEVMChainId"],"mappings":";AAAA,SAAS,qBAAqB;AAC9B,SAAS,wBAAwB;AACjC,SAAS,iBAAiB;AAC1B,SAAS,gBAAgB;AAGlB,IAAM,WAAW,IAAI,UAAU,6CAA6C;AAC5E,IAAM,UAAU,UAAU;AAE1B,IAAM,WAAsB;AAAA,EACjC,SAAS,cAAc;AAAA,EACvB,SAAS,UAAU,QAAQ,SAAS;AAAA,EACpC,WAAW,iBAAiB,SAAS;AAAA,EACrC,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,SAAS;AAAA,EACT,MAAM,CAAC;AAAA,EACP,UAAU;AAAA,EACV,MAAM;AAAA,EACN,YAAY;AAAA,IACV,aAAa;AAAA,EACf;AACF;AAEO,IAAM,aAAwB;AAAA,EACnC,SAAS,cAAc;AAAA,EACvB,SAAS;AAAA,EACT,WAAW,iBAAiB,SAAS;AAAA,EACrC,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,SAAS;AAAA,EACT,MAAM,CAAC;AAAA,EACP,UAAU;AAAA,EACV,MAAM;AAAA,EACN,YAAY;AAAA,IACV,aAAa;AAAA,EACf;AACF;AAEO,IAAM,OAAiB,IAAI,SAAS,UAAU;;;ACzCrD,SAAS,yBAAmC;AAOrC,IAAM,YAAN,cAAwB,kBAAkB;AAAA,EAO/C,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,GAQG;AACD,UAAM,SAAS,UAAU,QAAQ,IAAI;AACrC,SAAK,YAAY;AACjB,SAAK,UAAU;AACf,SAAK,UAAU;AAAA,EACjB;AAAA;AAAA,EAGA,IAAW,UAAoB;AAC7B,WAAO;AAAA,EACT;AAAA,EAEO,OAAO,OAA8C;AAC1D,WAAO,MAAM,YAAY,MAAM,YAAY,KAAK;AAAA,EAClD;AACF;AAEO,IAAM,MAAM,IAAI,UAAU,QAAQ;;;AC/CzC,SAAS,aAAAA,kBAAiB;AAE1B,SAAS,iBAAAC,sBAAqB;AAIvB,SAAS,kBAAkB,GAA+B;AAC/D,MAAI;AACF,WAAO,IAAID,WAAU,CAAC;AAAA,EACxB,SAAS,GAAP;AACA,WAAO;AAAA,EACT;AACF;AACO,SAAS,0BAA0B;AAAA,EACxC,WAAW;AAAA,EACX;AACF,GAGc;AACZ,QAAM,YAAY,kBAAkB,UAAU,SAAS,CAAC;AAExD,MAAI,qBAAqBA,YAAW;AAClC,QAAI,gBAAgB,UAAU,OAAO,OAAO;AAAG,aAAO;AACtD,WAAO;AAAA,EACT;AAEA,MAAI,gBAAgB,UAAU,SAAS,MAAM,QAAQ,SAAS;AAAG,WAAO;AAExE,MAAI,OAAO,cAAc,UAAU;AACjC,QAAI,cAAcA,WAAU,QAAQ,SAAS;AAAG,aAAOA,WAAU;AACjE,QAAI;AACF,YAAM,MAAM,IAAIA,WAAU,SAAS;AACnC,aAAO;AAAA,IACT,QAAE;AACA,YAAM,IAAI,MAAM,oBAAoB;AAAA,IACtC;AAAA,EACF;AAEA,QAAM,IAAI,MAAM,oBAAoB;AACtC;AAEO,IAAM,YAAY,CAAC,UAAmC;AAC3D,MAAI,CAAC;AAAO,WAAO;AACnB,MAAI,MAAM,YAAYC,eAAc;AAAQ,WAAO;AACnD,MAAI,MAAM;AAAU,WAAO;AAC3B,SAAO,MAAM,QAAQ,SAAS,MAAM,WAAW,WAAW,MAAM,QAAQ,SAAS,MAAM,SAAS;AAClG;AACO,IAAM,QAAQ,CAAC,SAAiB,SAAS,QAAQ,SAAS;AAC1D,IAAM,SAAS,CAAC,SAAiB,SAAS,SAAS,SAAS;AAC5D,IAAM,YAAY,CAAC,QAAyB,QAAQ,QAAQ,SAAS,IAAI,SAAS,SAAS,IAAI","sourcesContent":["import { NonEVMChainId } from '@pancakeswap/chains'\nimport { TOKEN_PROGRAM_ID } from '@solana/spl-token'\nimport { PublicKey } from '@solana/web3.js'\nimport { SPLToken } from '@pancakeswap/swap-sdk-core'\nimport { TokenInfo } from './types'\n\nexport const WSOLMint = new PublicKey('So11111111111111111111111111111111111111112')\nexport const SOLMint = PublicKey.default\n\nexport const SOL_INFO: TokenInfo = {\n chainId: NonEVMChainId.SOLANA,\n address: PublicKey.default.toBase58(),\n programId: TOKEN_PROGRAM_ID.toBase58(),\n decimals: 9,\n symbol: 'SOL',\n name: 'Solana',\n logoURI: `https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png`,\n tags: [],\n priority: 2,\n type: 'raydium',\n extensions: {\n coingeckoId: 'solana',\n },\n}\n\nexport const TOKEN_WSOL: TokenInfo = {\n chainId: NonEVMChainId.SOLANA,\n address: 'So11111111111111111111111111111111111111112',\n programId: TOKEN_PROGRAM_ID.toBase58(),\n decimals: 9,\n symbol: 'WSOL',\n name: 'Wrapped SOL',\n logoURI: `https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png`,\n tags: [],\n priority: 2,\n type: 'raydium',\n extensions: {\n coingeckoId: 'solana',\n },\n}\n\nexport const WSOL: SPLToken = new SPLToken(TOKEN_WSOL)\n","import { SPLNativeCurrency, SPLToken } from '@pancakeswap/swap-sdk-core'\nimport { SOL_INFO, WSOL } from '../constants'\n\n/**\n *\n * Native is the main usage of a 'native' currency\n */\nexport class SPLNative extends SPLNativeCurrency {\n public readonly programId: string\n\n public readonly address: string\n\n public readonly logoURI: string\n\n constructor({\n chainId,\n decimals,\n name,\n symbol,\n programId,\n address,\n logoURI,\n }: {\n chainId: number\n decimals: number\n symbol: string\n name: string\n programId: string\n address: string\n logoURI: string\n }) {\n super(chainId, decimals, symbol, name)\n this.programId = programId\n this.address = address\n this.logoURI = logoURI\n }\n\n // eslint-disable-next-line class-methods-use-this\n public get wrapped(): SPLToken {\n return WSOL\n }\n\n public equals(other: SPLToken | SPLNativeCurrency): boolean {\n return other.isNative && other.chainId === this.chainId\n }\n}\n\nexport const SOL = new SPLNative(SOL_INFO)\n","import { PublicKey } from '@solana/web3.js'\nimport { UnifiedCurrency } from '@pancakeswap/swap-sdk-core'\nimport { NonEVMChainId } from '@pancakeswap/chains'\nimport { PublicKeyish } from './types'\nimport { SOL_INFO, SOLMint, TOKEN_WSOL, WSOLMint } from './constants'\n\nexport function tryParsePublicKey(v: string): PublicKey | string {\n try {\n return new PublicKey(v)\n } catch (e) {\n return v\n }\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 const isSolWSol = (token?: UnifiedCurrency | null) => {\n if (!token) return false\n if (token.chainId !== NonEVMChainId.SOLANA) return false\n if (token.isNative) return true\n return token.address.toString() === TOKEN_WSOL.address || token.address.toString() === SOL_INFO.address\n}\nexport const isSol = (mint: string) => mint === SOLMint.toBase58()\nexport const isWSol = (mint: string) => mint === WSOLMint.toBase58()\nexport const solToWSol = (key: string): string => (key === SOLMint.toBase58() ? WSOLMint.toBase58() : key)\n"]}
1
+ {"version":3,"sources":["../src/constants.ts","../src/entities/native.ts","../src/utils.ts"],"names":["PublicKey","NonEVMChainId"],"mappings":"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","sourcesContent":["import { NonEVMChainId } from '@pancakeswap/chains'\nimport { TOKEN_PROGRAM_ID } from '@solana/spl-token'\nimport { PublicKey } from '@solana/web3.js'\nimport { SPLToken } from '@pancakeswap/swap-sdk-core'\nimport { TokenInfo } from './types'\n\nexport const WSOLMint = new PublicKey('So11111111111111111111111111111111111111112')\nexport const SOLMint = PublicKey.default\n\nexport const SOL_INFO: TokenInfo = {\n chainId: NonEVMChainId.SOLANA,\n address: PublicKey.default.toBase58(),\n programId: TOKEN_PROGRAM_ID.toBase58(),\n decimals: 9,\n symbol: 'SOL',\n name: 'Solana',\n logoURI: `https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png`,\n tags: [],\n priority: 2,\n type: 'raydium',\n extensions: {\n coingeckoId: 'solana',\n },\n}\n\nexport const TOKEN_WSOL: TokenInfo = {\n chainId: NonEVMChainId.SOLANA,\n address: 'So11111111111111111111111111111111111111112',\n programId: TOKEN_PROGRAM_ID.toBase58(),\n decimals: 9,\n symbol: 'WSOL',\n name: 'Wrapped SOL',\n logoURI: `https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png`,\n tags: [],\n priority: 2,\n type: 'raydium',\n extensions: {\n coingeckoId: 'solana',\n },\n}\n\nexport const WSOL: SPLToken = new SPLToken(TOKEN_WSOL)\n","import { SPLNativeCurrency, SPLToken } from '@pancakeswap/swap-sdk-core'\nimport { SOL_INFO, WSOL } from '../constants'\n\n/**\n *\n * Native is the main usage of a 'native' currency\n */\nexport class SPLNative extends SPLNativeCurrency {\n public readonly programId: string\n\n public readonly address: string\n\n public readonly logoURI: string\n\n constructor({\n chainId,\n decimals,\n name,\n symbol,\n programId,\n address,\n logoURI,\n }: {\n chainId: number\n decimals: number\n symbol: string\n name: string\n programId: string\n address: string\n logoURI: string\n }) {\n super(chainId, decimals, symbol, name)\n this.programId = programId\n this.address = address\n this.logoURI = logoURI\n }\n\n // eslint-disable-next-line class-methods-use-this\n public get wrapped(): SPLToken {\n return WSOL\n }\n\n public equals(other: SPLToken | SPLNativeCurrency): boolean {\n return other.isNative && other.chainId === this.chainId\n }\n}\n\nexport const SOL = new SPLNative(SOL_INFO)\n","import { PublicKey } from '@solana/web3.js'\nimport { UnifiedCurrency } from '@pancakeswap/swap-sdk-core'\nimport { NonEVMChainId } from '@pancakeswap/chains'\nimport { PublicKeyish } from './types'\nimport { SOL_INFO, SOLMint, TOKEN_WSOL, WSOLMint } from './constants'\n\nexport function tryParsePublicKey(v: string): PublicKey | string {\n try {\n return new PublicKey(v)\n } catch (e) {\n return v\n }\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 const isSolWSolToken = (token?: UnifiedCurrency | null) => {\n if (!token) return false\n if (token.chainId !== NonEVMChainId.SOLANA && token.chainId !== 101) return false\n if (token.isNative) return true\n return token.address.toString() === TOKEN_WSOL.address || token.address.toString() === SOL_INFO.address\n}\nexport const isSol = (mint: string) => mint === SOLMint.toBase58()\nexport const isWSol = (mint: string) => mint === WSOLMint.toBase58()\nexport const isSolWSol = (mint: string) => isSol(mint) || isWSol(mint)\n\nexport const solToWSol = (key: string): string => (key === SOLMint.toBase58() ? WSOLMint.toBase58() : key)\nexport const wSolToSol = (key: string): string => (key === WSOLMint.toBase58() ? SOLMint.toBase58() : key)\n"]}
package/dist/utils.d.ts CHANGED
@@ -6,8 +6,10 @@ export declare function validateAndParsePublicKey({ publicKey: orgPubKey, transf
6
6
  publicKey: PublicKeyish;
7
7
  transformSol?: boolean;
8
8
  }): PublicKey;
9
- export declare const isSolWSol: (token?: UnifiedCurrency | null) => boolean;
9
+ export declare const isSolWSolToken: (token?: UnifiedCurrency | null) => boolean;
10
10
  export declare const isSol: (mint: string) => boolean;
11
11
  export declare const isWSol: (mint: string) => boolean;
12
+ export declare const isSolWSol: (mint: string) => boolean;
12
13
  export declare const solToWSol: (key: string) => string;
14
+ export declare const wSolToSol: (key: string) => string;
13
15
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAE5D,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAGtC,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAM/D;AACD,wBAAgB,yBAAyB,CAAC,EACxC,SAAS,EAAE,SAAS,EACpB,YAAY,GACb,EAAE;IACD,SAAS,EAAE,YAAY,CAAA;IACvB,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,GAAG,SAAS,CAqBZ;AAED,eAAO,MAAM,SAAS,WAAY,eAAe,GAAG,IAAI,YAKvD,CAAA;AACD,eAAO,MAAM,KAAK,SAAU,MAAM,YAAgC,CAAA;AAClE,eAAO,MAAM,MAAM,SAAU,MAAM,YAAiC,CAAA;AACpE,eAAO,MAAM,SAAS,QAAS,MAAM,KAAG,MAAkE,CAAA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAE5D,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAGtC,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAM/D;AACD,wBAAgB,yBAAyB,CAAC,EACxC,SAAS,EAAE,SAAS,EACpB,YAAY,GACb,EAAE;IACD,SAAS,EAAE,YAAY,CAAA;IACvB,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,GAAG,SAAS,CAqBZ;AAED,eAAO,MAAM,cAAc,WAAY,eAAe,GAAG,IAAI,YAK5D,CAAA;AACD,eAAO,MAAM,KAAK,SAAU,MAAM,YAAgC,CAAA;AAClE,eAAO,MAAM,MAAM,SAAU,MAAM,YAAiC,CAAA;AACpE,eAAO,MAAM,SAAS,SAAU,MAAM,YAAgC,CAAA;AAEtE,eAAO,MAAM,SAAS,QAAS,MAAM,KAAG,MAAkE,CAAA;AAC1G,eAAO,MAAM,SAAS,QAAS,MAAM,KAAG,MAAkE,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pancakeswap/swap-sdk-solana",
3
- "version": "1.1.6",
3
+ "version": "1.1.7",
4
4
  "description": "An SDK for Pancakeswap Solana",
5
5
  "repository": {
6
6
  "type": "git",
@@ -19,8 +19,8 @@
19
19
  "@solana/web3.js": "1.98.4",
20
20
  "tiny-invariant": "^1.3.0",
21
21
  "tiny-warning": "^1.0.3",
22
- "@pancakeswap/chains": "0.7.0",
23
- "@pancakeswap/swap-sdk-core": "1.5.1"
22
+ "@pancakeswap/swap-sdk-core": "1.6.0",
23
+ "@pancakeswap/chains": "0.8.0"
24
24
  },
25
25
  "devDependencies": {
26
26
  "tsup": "^6.7.0",