@layerzerolabs/static-chain-info 0.2.86 → 0.2.88

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.cjs CHANGED
@@ -35,6 +35,16 @@ var getEndpointVersionFromUlnVersion = /* @__PURE__ */ HO5BEL2S_cjs.__name((ulnV
35
35
  var getEndpointId = /* @__PURE__ */ HO5BEL2S_cjs.__name((chainName, environment, version) => {
36
36
  return lzDefinitions.chainAndStageToEndpointId(chainName, environment, version);
37
37
  }, "getEndpointId");
38
+ var getChainNamesForEndpoint = /* @__PURE__ */ HO5BEL2S_cjs.__name((environment, version) => {
39
+ return Object.values(layerzeroDefinitions.ChainName).filter((name) => {
40
+ try {
41
+ getEndpointId(name, environment, version);
42
+ return true;
43
+ } catch {
44
+ return false;
45
+ }
46
+ });
47
+ }, "getChainNamesForEndpoint");
38
48
  var getEnvironmentFromEndpointId = /* @__PURE__ */ HO5BEL2S_cjs.__name((endpointId) => {
39
49
  return lzDefinitions.endpointIdToStage(endpointId);
40
50
  }, "getEnvironmentFromEndpointId");
@@ -160,6 +170,7 @@ Object.defineProperty(exports, "staticConfig", {
160
170
  });
161
171
  exports.StaticChainConfigs = StaticChainConfigs;
162
172
  exports.getChainNameFromEndpointId = getChainNameFromEndpointId;
173
+ exports.getChainNamesForEndpoint = getChainNamesForEndpoint;
163
174
  exports.getEndpointId = getEndpointId;
164
175
  exports.getEndpointVersionFromEndpointId = getEndpointVersionFromEndpointId;
165
176
  exports.getEndpointVersionFromUlnVersion = getEndpointVersionFromUlnVersion;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":["getChainNameFromEndpointId","endpointId","chainNameSchema","parse","getNetworkForChainId","chainName","isLzReadEndpointId","Object","values","ChannelId","includes","Number","getEndpointVersionFromEndpointId","EndpointVersion","V2","EndpointV2IdBase","V1","getEndpointVersionFromUlnVersion","ulnVersion","UlnVersion","Error","V301","V300","ReadV1002","V302","getEndpointId","__name","environment","version","chainAndStageToEndpointId","getEnvironmentFromEndpointId","endpointIdToStage","getVId","eid","parseInt","toString","StaticChainConfigs","getAddressSizeInBytes","staticConfig","addressSizeInBytes","getSymbol","symbol","getDecimals","decimals","getMptBaseFee","mptBaseGas","getChainLayer","chainLayer","getChainSubType","chainSubType","getGasPriceDecimals","ChainName","HEDERA"],"mappings":";;;;;;AAkBO,IAAMA,0BAAAA,wCAA8BC,UAAAA,KAAAA;AACvC,EAAA,OAAOC,oCAAAA,CAAgBC,KAAAA,CAAMC,kCAAAA,CAAqBH,UAAAA,EAAYI,SAAS,CAAA;AAC3E,CAAA,EAF0C,4BAAA;AAInC,IAAMC,kBAAAA,wCAAsBL,UAAAA,KAAAA;AAC/B,EAAA,OAAOM,OAAOC,MAAAA,CAAOC,uBAAAA,EAAWC,QAAAA,CAASC,MAAAA,CAAOV,UAAAA,CAAAA,CAAAA;AACpD,CAAA,EAFkC,oBAAA;AAI3B,IAAMW,gCAAAA,wCAAoCX,UAAAA,KAAAA;AAC7C,EAAA,IAAIK,kBAAAA,CAAmBL,UAAAA,CAAAA,EAAa;AAChC,IAAA,OAAOY,oCAAAA,CAAgBC,EAAAA;AAC3B,EAAA;AACA,EAAA,OAAOb,UAAAA,GAAac,8BAAAA,GAAmBF,oCAAAA,CAAgBG,EAAAA,GAAKH,oCAAAA,CAAgBC,EAAAA;AAChF,CAAA,EALgD,kCAAA;AAOzC,IAAMG,gCAAAA,wCAAoCC,UAAAA,KAAAA;AAC7C,EAAA,IAAIA,UAAAA,KAAeC,gCAAWH,EAAAA,EAAI;AAC9B,IAAA,MAAM,IAAII,MAAM,gCAAA,CAAA;AACpB,EAAA;AACA,EAAA,QAAQF,UAAAA;AACJ,IAAA,KAAKC,+BAAAA,CAAWL,EAAAA;AAChB,IAAA,KAAKK,+BAAAA,CAAWE,IAAAA;AACZ,MAAA,OAAOR,oCAAAA,CAAgBG,EAAAA;AAC3B,IAAA,KAAKG,+BAAAA,CAAWG,IAAAA;AAChB,IAAA,KAAKH,+BAAAA,CAAWI,SAAAA;AAChB,IAAA,KAAKJ,+BAAAA,CAAWK,IAAAA;AACZ,MAAA,OAAOX,oCAAAA,CAAgBC,EAAAA;AAC3B,IAAA;AACI,MAAA,MAAM,IAAIM,KAAAA,CAAM,CAAA,oBAAA,EAAuBF,UAAAA,CAAAA,CAAY,CAAA;AAC3D;AACJ,CAAA,EAfgD,kCAAA;AAkBzC,IAAMO,aAAAA,mBAAgBC,mBAAA,CAAA,CACzBrB,SAAAA,EACAsB,WAAAA,EACAC,OAAAA,KAAAA;AAEA,EAAA,OAAOC,uCAAAA,CACHxB,SAAAA,EACAsB,WAAAA,EACAC,OAAAA,CAAAA;AAER,CAAA,EAV6B,eAAA;AAYtB,IAAME,4BAAAA,wCAAgC7B,UAAAA,KAAAA;AACzC,EAAA,OAAO8B,gCAAkB9B,UAAAA,CAAAA;AAC7B,CAAA,EAF4C,8BAAA;AAIrC,IAAM+B,MAAAA,mBAASN,mBAAA,CAAA,CAACrB,SAAAA,EAAsBsB,WAAAA,KAAAA;AAGzC,EAAA,IAAI;AAAC,IAAA,QAAA;AAAU,IAAA,KAAA;AAAO,IAAA,QAAA;AAAU,IAAA,UAAA;AAAY,IAAA,UAAA;AAAY,IAAA;AAAWjB,GAAAA,CAAAA,QAAAA,CAASL,SAAAA,CAAAA,EAAY;AACpF,IAAA,MAAM4B,GAAAA,GAAMR,aAAAA,CAAcpB,SAAAA,EAAWsB,WAAAA,EAAad,qCAAgBC,EAAE,CAAA;AACpE,IAAA,OAAA,CAAQoB,SAASD,GAAAA,CAAIE,QAAAA,EAAQ,CAAA,GAAM,KAAOA,QAAAA,EAAQ;AACtD,EAAA;AACA,EAAA,OAAOV,cAAcpB,SAAAA,EAAWsB,WAAAA,EAAad,oCAAAA,CAAgBG,EAAE,EAAEmB,QAAAA,EAAQ;AAC7E,CAAA,EARsB,QAAA;AAUf,IAAMC,qBAAN,MAAMA;EA5Eb;;;AA6EI,EAAA,OAAOC,sBAAsBhC,SAAAA,EAA8B;AACvD,IAAA,OAAOiC,yBAAAA,CAAajC,SAAAA,CAAAA,CAAWkC,kBAAAA;AACnC,EAAA;AAEA,EAAA,OAAOC,UAAUnC,SAAAA,EAA8B;AAC3C,IAAA,OAAOiC,yBAAAA,CAAajC,SAAAA,CAAAA,CAAWoC,MAAAA;AACnC,EAAA;AAEA,EAAA,OAAOC,YAAYrC,SAAAA,EAA8B;AAC7C,IAAA,OAAOiC,yBAAAA,CAAajC,SAAAA,CAAAA,CAAWsC,QAAAA;AACnC,EAAA;AAEA,EAAA,OAAOC,cAAcvC,SAAAA,EAA8B;AAC/C,IAAA,OAAOiC,yBAAAA,CAAajC,SAAAA,CAAAA,CAAWwC,UAAAA;AACnC,EAAA;AAEA,EAAA,OAAOC,cAAczC,SAAAA,EAA8B;AAC/C,IAAA,OAAOiC,yBAAAA,CAAajC,SAAAA,CAAAA,CAAW0C,UAAAA,IAAc,CAAA;AACjD,EAAA;AAEA,EAAA,OAAOC,gBAAgB3C,SAAAA,EAAgD;AACnE,IAAA,OAAOiC,yBAAAA,CAAajC,SAAAA,CAAAA,CAAW4C,YAAAA;AACnC,EAAA;AAEA,EAAA,OAAOC,oBAAoB7C,SAAAA,EAA8B;AACrD,IAAA,IAAIA,SAAAA,KAAc8C,+BAAUC,MAAAA,EAAQ;AAChC,MAAA,OAAO,EAAA;AACX,IAAA;AACA,IAAA,OAAOd,yBAAAA,CAAajC,SAAAA,CAAAA,CAAWsC,QAAAA;AACnC,EAAA;AACJ","file":"index.cjs","sourcesContent":["import type { Environment } from '@layerzerolabs/layerzero-definitions';\nimport { ChainName, chainNameSchema } from '@layerzerolabs/layerzero-definitions';\nimport { EndpointVersion, UlnVersion } from '@layerzerolabs/layerzero-definitions';\nimport type { Chain, EndpointId, Stage } from '@layerzerolabs/lz-definitions';\nimport {\n chainAndStageToEndpointId,\n ChannelId,\n endpointIdToStage,\n EndpointV2IdBase,\n getNetworkForChainId,\n} from '@layerzerolabs/lz-definitions';\n\nimport { ChainSubType, staticConfig } from './staticChainInfo';\n\nexport { ChainSubType };\n\nexport * from './staticChainInfo';\n\nexport const getChainNameFromEndpointId = (endpointId: EndpointId): ChainName => {\n return chainNameSchema.parse(getNetworkForChainId(endpointId).chainName);\n};\n\nexport const isLzReadEndpointId = (endpointId: EndpointId) => {\n return Object.values(ChannelId).includes(Number(endpointId));\n};\n\nexport const getEndpointVersionFromEndpointId = (endpointId: EndpointId): EndpointVersion => {\n if (isLzReadEndpointId(endpointId)) {\n return EndpointVersion.V2;\n }\n return endpointId < EndpointV2IdBase ? EndpointVersion.V1 : EndpointVersion.V2;\n};\n\nexport const getEndpointVersionFromUlnVersion = (ulnVersion: UlnVersion): EndpointVersion => {\n if (ulnVersion === UlnVersion.V1) {\n throw new Error('UlnVersion.V1 is not supported');\n }\n switch (ulnVersion) {\n case UlnVersion.V2:\n case UlnVersion.V301:\n return EndpointVersion.V1;\n case UlnVersion.V300:\n case UlnVersion.ReadV1002:\n case UlnVersion.V302:\n return EndpointVersion.V2;\n default:\n throw new Error(`Unknown UlnVersion: ${ulnVersion}`);\n }\n};\n\n// Note: This doesn't work for UlnVersion.V1\nexport const getEndpointId = (\n chainName: ChainName,\n environment: Environment,\n version: EndpointVersion,\n): EndpointId => {\n return chainAndStageToEndpointId(\n chainName as unknown as Chain,\n environment as unknown as Stage,\n version,\n );\n};\n\nexport const getEnvironmentFromEndpointId = (endpointId: EndpointId): Environment => {\n return endpointIdToStage(endpointId) as unknown as Environment;\n};\n\nexport const getVId = (chainName: ChainName, environment: Environment): string => {\n // By convention the vid is always the endpointV1 endpoint id\n // TODO: Monorepo doesn't have these chains for EndpointVersion.V1\n if (['solana', 'ton', 'initia', 'movement', 'starknet', 'stellar'].includes(chainName)) {\n const eid = getEndpointId(chainName, environment, EndpointVersion.V2);\n return (parseInt(eid.toString()) % 30000).toString();\n }\n return getEndpointId(chainName, environment, EndpointVersion.V1).toString();\n};\n\nexport class StaticChainConfigs {\n static getAddressSizeInBytes(chainName: ChainName): number {\n return staticConfig[chainName].addressSizeInBytes;\n }\n\n static getSymbol(chainName: ChainName): string {\n return staticConfig[chainName].symbol;\n }\n\n static getDecimals(chainName: ChainName): number {\n return staticConfig[chainName].decimals;\n }\n\n static getMptBaseFee(chainName: ChainName): number {\n return staticConfig[chainName].mptBaseGas!;\n }\n\n static getChainLayer(chainName: ChainName): number {\n return staticConfig[chainName].chainLayer ?? 1;\n }\n\n static getChainSubType(chainName: ChainName): ChainSubType | undefined {\n return staticConfig[chainName].chainSubType;\n }\n\n static getGasPriceDecimals(chainName: ChainName): number {\n if (chainName === ChainName.HEDERA) {\n return 18;\n }\n return staticConfig[chainName].decimals;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":["getChainNameFromEndpointId","endpointId","chainNameSchema","parse","getNetworkForChainId","chainName","isLzReadEndpointId","Object","values","ChannelId","includes","Number","getEndpointVersionFromEndpointId","EndpointVersion","V2","EndpointV2IdBase","V1","getEndpointVersionFromUlnVersion","ulnVersion","UlnVersion","Error","V301","V300","ReadV1002","V302","getEndpointId","__name","environment","version","chainAndStageToEndpointId","getChainNamesForEndpoint","ChainName","filter","name","getEnvironmentFromEndpointId","endpointIdToStage","getVId","eid","parseInt","toString","StaticChainConfigs","getAddressSizeInBytes","staticConfig","addressSizeInBytes","getSymbol","symbol","getDecimals","decimals","getMptBaseFee","mptBaseGas","getChainLayer","chainLayer","getChainSubType","chainSubType","getGasPriceDecimals","HEDERA"],"mappings":";;;;;;AAkBO,IAAMA,0BAAAA,wCAA8BC,UAAAA,KAAAA;AACvC,EAAA,OAAOC,oCAAAA,CAAgBC,KAAAA,CAAMC,kCAAAA,CAAqBH,UAAAA,EAAYI,SAAS,CAAA;AAC3E,CAAA,EAF0C,4BAAA;AAInC,IAAMC,kBAAAA,wCAAsBL,UAAAA,KAAAA;AAC/B,EAAA,OAAOM,OAAOC,MAAAA,CAAOC,uBAAAA,EAAWC,QAAAA,CAASC,MAAAA,CAAOV,UAAAA,CAAAA,CAAAA;AACpD,CAAA,EAFkC,oBAAA;AAI3B,IAAMW,gCAAAA,wCAAoCX,UAAAA,KAAAA;AAC7C,EAAA,IAAIK,kBAAAA,CAAmBL,UAAAA,CAAAA,EAAa;AAChC,IAAA,OAAOY,oCAAAA,CAAgBC,EAAAA;AAC3B,EAAA;AACA,EAAA,OAAOb,UAAAA,GAAac,8BAAAA,GAAmBF,oCAAAA,CAAgBG,EAAAA,GAAKH,oCAAAA,CAAgBC,EAAAA;AAChF,CAAA,EALgD,kCAAA;AAOzC,IAAMG,gCAAAA,wCAAoCC,UAAAA,KAAAA;AAC7C,EAAA,IAAIA,UAAAA,KAAeC,gCAAWH,EAAAA,EAAI;AAC9B,IAAA,MAAM,IAAII,MAAM,gCAAA,CAAA;AACpB,EAAA;AACA,EAAA,QAAQF,UAAAA;AACJ,IAAA,KAAKC,+BAAAA,CAAWL,EAAAA;AAChB,IAAA,KAAKK,+BAAAA,CAAWE,IAAAA;AACZ,MAAA,OAAOR,oCAAAA,CAAgBG,EAAAA;AAC3B,IAAA,KAAKG,+BAAAA,CAAWG,IAAAA;AAChB,IAAA,KAAKH,+BAAAA,CAAWI,SAAAA;AAChB,IAAA,KAAKJ,+BAAAA,CAAWK,IAAAA;AACZ,MAAA,OAAOX,oCAAAA,CAAgBC,EAAAA;AAC3B,IAAA;AACI,MAAA,MAAM,IAAIM,KAAAA,CAAM,CAAA,oBAAA,EAAuBF,UAAAA,CAAAA,CAAY,CAAA;AAC3D;AACJ,CAAA,EAfgD,kCAAA;AAkBzC,IAAMO,aAAAA,mBAAgBC,mBAAA,CAAA,CACzBrB,SAAAA,EACAsB,WAAAA,EACAC,OAAAA,KAAAA;AAEA,EAAA,OAAOC,uCAAAA,CACHxB,SAAAA,EACAsB,WAAAA,EACAC,OAAAA,CAAAA;AAER,CAAA,EAV6B,eAAA;AAYtB,IAAME,wBAAAA,mBAA2BJ,mBAAA,CAAA,CACpCC,WAAAA,EACAC,OAAAA,KAAAA;AAEA,EAAA,OAAOrB,OAAOC,MAAAA,CAAOuB,8BAAAA,CAAAA,CAAWC,MAAAA,CAAO,CAACC,IAAAA,KAAAA;AACpC,IAAA,IAAI;AACAR,MAAAA,aAAAA,CAAcQ,IAAAA,EAAMN,aAAaC,OAAAA,CAAAA;AACjC,MAAA,OAAO,IAAA;IACX,CAAA,CAAA,MAAQ;AACJ,MAAA,OAAO,KAAA;AACX,IAAA;EACJ,CAAA,CAAA;AACJ,CAAA,EAZwC,0BAAA;AAcjC,IAAMM,4BAAAA,wCAAgCjC,UAAAA,KAAAA;AACzC,EAAA,OAAOkC,gCAAkBlC,UAAAA,CAAAA;AAC7B,CAAA,EAF4C,8BAAA;AAIrC,IAAMmC,MAAAA,mBAASV,mBAAA,CAAA,CAACrB,SAAAA,EAAsBsB,WAAAA,KAAAA;AAGzC,EAAA,IAAI;AAAC,IAAA,QAAA;AAAU,IAAA,KAAA;AAAO,IAAA,QAAA;AAAU,IAAA,UAAA;AAAY,IAAA,UAAA;AAAY,IAAA;AAAWjB,GAAAA,CAAAA,QAAAA,CAASL,SAAAA,CAAAA,EAAY;AACpF,IAAA,MAAMgC,GAAAA,GAAMZ,aAAAA,CAAcpB,SAAAA,EAAWsB,WAAAA,EAAad,qCAAgBC,EAAE,CAAA;AACpE,IAAA,OAAA,CAAQwB,SAASD,GAAAA,CAAIE,QAAAA,EAAQ,CAAA,GAAM,KAAOA,QAAAA,EAAQ;AACtD,EAAA;AACA,EAAA,OAAOd,cAAcpB,SAAAA,EAAWsB,WAAAA,EAAad,oCAAAA,CAAgBG,EAAE,EAAEuB,QAAAA,EAAQ;AAC7E,CAAA,EARsB,QAAA;AAUf,IAAMC,qBAAN,MAAMA;EA1Fb;;;AA2FI,EAAA,OAAOC,sBAAsBpC,SAAAA,EAA8B;AACvD,IAAA,OAAOqC,yBAAAA,CAAarC,SAAAA,CAAAA,CAAWsC,kBAAAA;AACnC,EAAA;AAEA,EAAA,OAAOC,UAAUvC,SAAAA,EAA8B;AAC3C,IAAA,OAAOqC,yBAAAA,CAAarC,SAAAA,CAAAA,CAAWwC,MAAAA;AACnC,EAAA;AAEA,EAAA,OAAOC,YAAYzC,SAAAA,EAA8B;AAC7C,IAAA,OAAOqC,yBAAAA,CAAarC,SAAAA,CAAAA,CAAW0C,QAAAA;AACnC,EAAA;AAEA,EAAA,OAAOC,cAAc3C,SAAAA,EAA8B;AAC/C,IAAA,OAAOqC,yBAAAA,CAAarC,SAAAA,CAAAA,CAAW4C,UAAAA;AACnC,EAAA;AAEA,EAAA,OAAOC,cAAc7C,SAAAA,EAA8B;AAC/C,IAAA,OAAOqC,yBAAAA,CAAarC,SAAAA,CAAAA,CAAW8C,UAAAA,IAAc,CAAA;AACjD,EAAA;AAEA,EAAA,OAAOC,gBAAgB/C,SAAAA,EAAgD;AACnE,IAAA,OAAOqC,yBAAAA,CAAarC,SAAAA,CAAAA,CAAWgD,YAAAA;AACnC,EAAA;AAEA,EAAA,OAAOC,oBAAoBjD,SAAAA,EAA8B;AACrD,IAAA,IAAIA,SAAAA,KAAc0B,+BAAUwB,MAAAA,EAAQ;AAChC,MAAA,OAAO,EAAA;AACX,IAAA;AACA,IAAA,OAAOb,yBAAAA,CAAarC,SAAAA,CAAAA,CAAW0C,QAAAA;AACnC,EAAA;AACJ","file":"index.cjs","sourcesContent":["import type { Environment } from '@layerzerolabs/layerzero-definitions';\nimport { ChainName, chainNameSchema } from '@layerzerolabs/layerzero-definitions';\nimport { EndpointVersion, UlnVersion } from '@layerzerolabs/layerzero-definitions';\nimport type { Chain, EndpointId, Stage } from '@layerzerolabs/lz-definitions';\nimport {\n chainAndStageToEndpointId,\n ChannelId,\n endpointIdToStage,\n EndpointV2IdBase,\n getNetworkForChainId,\n} from '@layerzerolabs/lz-definitions';\n\nimport { ChainSubType, staticConfig } from './staticChainInfo';\n\nexport { ChainSubType };\n\nexport * from './staticChainInfo';\n\nexport const getChainNameFromEndpointId = (endpointId: EndpointId): ChainName => {\n return chainNameSchema.parse(getNetworkForChainId(endpointId).chainName);\n};\n\nexport const isLzReadEndpointId = (endpointId: EndpointId) => {\n return Object.values(ChannelId).includes(Number(endpointId));\n};\n\nexport const getEndpointVersionFromEndpointId = (endpointId: EndpointId): EndpointVersion => {\n if (isLzReadEndpointId(endpointId)) {\n return EndpointVersion.V2;\n }\n return endpointId < EndpointV2IdBase ? EndpointVersion.V1 : EndpointVersion.V2;\n};\n\nexport const getEndpointVersionFromUlnVersion = (ulnVersion: UlnVersion): EndpointVersion => {\n if (ulnVersion === UlnVersion.V1) {\n throw new Error('UlnVersion.V1 is not supported');\n }\n switch (ulnVersion) {\n case UlnVersion.V2:\n case UlnVersion.V301:\n return EndpointVersion.V1;\n case UlnVersion.V300:\n case UlnVersion.ReadV1002:\n case UlnVersion.V302:\n return EndpointVersion.V2;\n default:\n throw new Error(`Unknown UlnVersion: ${ulnVersion}`);\n }\n};\n\n// Note: This doesn't work for UlnVersion.V1\nexport const getEndpointId = (\n chainName: ChainName,\n environment: Environment,\n version: EndpointVersion,\n): EndpointId => {\n return chainAndStageToEndpointId(\n chainName as unknown as Chain,\n environment as unknown as Stage,\n version,\n );\n};\n\nexport const getChainNamesForEndpoint = (\n environment: Environment,\n version: EndpointVersion,\n): ChainName[] => {\n return Object.values(ChainName).filter((name) => {\n try {\n getEndpointId(name, environment, version);\n return true;\n } catch {\n return false;\n }\n });\n};\n\nexport const getEnvironmentFromEndpointId = (endpointId: EndpointId): Environment => {\n return endpointIdToStage(endpointId) as unknown as Environment;\n};\n\nexport const getVId = (chainName: ChainName, environment: Environment): string => {\n // By convention the vid is always the endpointV1 endpoint id\n // TODO: Monorepo doesn't have these chains for EndpointVersion.V1\n if (['solana', 'ton', 'initia', 'movement', 'starknet', 'stellar'].includes(chainName)) {\n const eid = getEndpointId(chainName, environment, EndpointVersion.V2);\n return (parseInt(eid.toString()) % 30000).toString();\n }\n return getEndpointId(chainName, environment, EndpointVersion.V1).toString();\n};\n\nexport class StaticChainConfigs {\n static getAddressSizeInBytes(chainName: ChainName): number {\n return staticConfig[chainName].addressSizeInBytes;\n }\n\n static getSymbol(chainName: ChainName): string {\n return staticConfig[chainName].symbol;\n }\n\n static getDecimals(chainName: ChainName): number {\n return staticConfig[chainName].decimals;\n }\n\n static getMptBaseFee(chainName: ChainName): number {\n return staticConfig[chainName].mptBaseGas!;\n }\n\n static getChainLayer(chainName: ChainName): number {\n return staticConfig[chainName].chainLayer ?? 1;\n }\n\n static getChainSubType(chainName: ChainName): ChainSubType | undefined {\n return staticConfig[chainName].chainSubType;\n }\n\n static getGasPriceDecimals(chainName: ChainName): number {\n if (chainName === ChainName.HEDERA) {\n return 18;\n }\n return staticConfig[chainName].decimals;\n }\n}\n"]}
package/dist/index.d.ts CHANGED
@@ -10,6 +10,7 @@ export declare const isLzReadEndpointId: (endpointId: EndpointId) => boolean;
10
10
  export declare const getEndpointVersionFromEndpointId: (endpointId: EndpointId) => EndpointVersion;
11
11
  export declare const getEndpointVersionFromUlnVersion: (ulnVersion: UlnVersion) => EndpointVersion;
12
12
  export declare const getEndpointId: (chainName: ChainName, environment: Environment, version: EndpointVersion) => EndpointId;
13
+ export declare const getChainNamesForEndpoint: (environment: Environment, version: EndpointVersion) => ChainName[];
13
14
  export declare const getEnvironmentFromEndpointId: (endpointId: EndpointId) => Environment;
14
15
  export declare const getVId: (chainName: ChainName, environment: Environment) => string;
15
16
  export declare class StaticChainConfigs {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,SAAS,EAAmB,MAAM,sCAAsC,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,KAAK,EAAS,UAAU,EAAS,MAAM,+BAA+B,CAAC;AAS9E,OAAO,EAAE,YAAY,EAAgB,MAAM,mBAAmB,CAAC;AAE/D,OAAO,EAAE,YAAY,EAAE,CAAC;AAExB,cAAc,mBAAmB,CAAC;AAElC,eAAO,MAAM,0BAA0B,GAAI,YAAY,UAAU,KAAG,SAEnE,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,YAAY,UAAU,YAExD,CAAC;AAEF,eAAO,MAAM,gCAAgC,GAAI,YAAY,UAAU,KAAG,eAKzE,CAAC;AAEF,eAAO,MAAM,gCAAgC,GAAI,YAAY,UAAU,KAAG,eAezE,CAAC;AAGF,eAAO,MAAM,aAAa,GACtB,WAAW,SAAS,EACpB,aAAa,WAAW,EACxB,SAAS,eAAe,KACzB,UAMF,CAAC;AAEF,eAAO,MAAM,4BAA4B,GAAI,YAAY,UAAU,KAAG,WAErE,CAAC;AAEF,eAAO,MAAM,MAAM,GAAI,WAAW,SAAS,EAAE,aAAa,WAAW,KAAG,MAQvE,CAAC;AAEF,qBAAa,kBAAkB;IAC3B,MAAM,CAAC,qBAAqB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM;IAI1D,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM;IAI9C,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM;IAIhD,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM;IAIlD,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM;IAIlD,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG,YAAY,GAAG,SAAS;IAItE,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM;CAM3D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,SAAS,EAAmB,MAAM,sCAAsC,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,KAAK,EAAS,UAAU,EAAS,MAAM,+BAA+B,CAAC;AAS9E,OAAO,EAAE,YAAY,EAAgB,MAAM,mBAAmB,CAAC;AAE/D,OAAO,EAAE,YAAY,EAAE,CAAC;AAExB,cAAc,mBAAmB,CAAC;AAElC,eAAO,MAAM,0BAA0B,GAAI,YAAY,UAAU,KAAG,SAEnE,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,YAAY,UAAU,YAExD,CAAC;AAEF,eAAO,MAAM,gCAAgC,GAAI,YAAY,UAAU,KAAG,eAKzE,CAAC;AAEF,eAAO,MAAM,gCAAgC,GAAI,YAAY,UAAU,KAAG,eAezE,CAAC;AAGF,eAAO,MAAM,aAAa,GACtB,WAAW,SAAS,EACpB,aAAa,WAAW,EACxB,SAAS,eAAe,KACzB,UAMF,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACjC,aAAa,WAAW,EACxB,SAAS,eAAe,KACzB,SAAS,EASX,CAAC;AAEF,eAAO,MAAM,4BAA4B,GAAI,YAAY,UAAU,KAAG,WAErE,CAAC;AAEF,eAAO,MAAM,MAAM,GAAI,WAAW,SAAS,EAAE,aAAa,WAAW,KAAG,MAQvE,CAAC;AAEF,qBAAa,kBAAkB;IAC3B,MAAM,CAAC,qBAAqB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM;IAI1D,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM;IAI9C,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM;IAIhD,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM;IAIlD,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM;IAIlD,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG,YAAY,GAAG,SAAS;IAItE,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM;CAM3D"}
package/dist/index.js CHANGED
@@ -34,6 +34,16 @@ var getEndpointVersionFromUlnVersion = /* @__PURE__ */ __name((ulnVersion) => {
34
34
  var getEndpointId = /* @__PURE__ */ __name((chainName, environment, version) => {
35
35
  return chainAndStageToEndpointId(chainName, environment, version);
36
36
  }, "getEndpointId");
37
+ var getChainNamesForEndpoint = /* @__PURE__ */ __name((environment, version) => {
38
+ return Object.values(ChainName).filter((name) => {
39
+ try {
40
+ getEndpointId(name, environment, version);
41
+ return true;
42
+ } catch {
43
+ return false;
44
+ }
45
+ });
46
+ }, "getChainNamesForEndpoint");
37
47
  var getEnvironmentFromEndpointId = /* @__PURE__ */ __name((endpointId) => {
38
48
  return endpointIdToStage(endpointId);
39
49
  }, "getEnvironmentFromEndpointId");
@@ -81,6 +91,6 @@ var StaticChainConfigs = class {
81
91
  }
82
92
  };
83
93
 
84
- export { StaticChainConfigs, getChainNameFromEndpointId, getEndpointId, getEndpointVersionFromEndpointId, getEndpointVersionFromUlnVersion, getEnvironmentFromEndpointId, getVId, isLzReadEndpointId };
94
+ export { StaticChainConfigs, getChainNameFromEndpointId, getChainNamesForEndpoint, getEndpointId, getEndpointVersionFromEndpointId, getEndpointVersionFromUlnVersion, getEnvironmentFromEndpointId, getVId, isLzReadEndpointId };
85
95
  //# sourceMappingURL=index.js.map
86
96
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":["getChainNameFromEndpointId","endpointId","chainNameSchema","parse","getNetworkForChainId","chainName","isLzReadEndpointId","Object","values","ChannelId","includes","Number","getEndpointVersionFromEndpointId","EndpointVersion","V2","EndpointV2IdBase","V1","getEndpointVersionFromUlnVersion","ulnVersion","UlnVersion","Error","V301","V300","ReadV1002","V302","getEndpointId","environment","version","chainAndStageToEndpointId","getEnvironmentFromEndpointId","endpointIdToStage","getVId","eid","parseInt","toString","StaticChainConfigs","getAddressSizeInBytes","staticConfig","addressSizeInBytes","getSymbol","symbol","getDecimals","decimals","getMptBaseFee","mptBaseGas","getChainLayer","chainLayer","getChainSubType","chainSubType","getGasPriceDecimals","ChainName","HEDERA"],"mappings":"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","file":"index.js","sourcesContent":["import type { Environment } from '@layerzerolabs/layerzero-definitions';\nimport { ChainName, chainNameSchema } from '@layerzerolabs/layerzero-definitions';\nimport { EndpointVersion, UlnVersion } from '@layerzerolabs/layerzero-definitions';\nimport type { Chain, EndpointId, Stage } from '@layerzerolabs/lz-definitions';\nimport {\n chainAndStageToEndpointId,\n ChannelId,\n endpointIdToStage,\n EndpointV2IdBase,\n getNetworkForChainId,\n} from '@layerzerolabs/lz-definitions';\n\nimport { ChainSubType, staticConfig } from './staticChainInfo';\n\nexport { ChainSubType };\n\nexport * from './staticChainInfo';\n\nexport const getChainNameFromEndpointId = (endpointId: EndpointId): ChainName => {\n return chainNameSchema.parse(getNetworkForChainId(endpointId).chainName);\n};\n\nexport const isLzReadEndpointId = (endpointId: EndpointId) => {\n return Object.values(ChannelId).includes(Number(endpointId));\n};\n\nexport const getEndpointVersionFromEndpointId = (endpointId: EndpointId): EndpointVersion => {\n if (isLzReadEndpointId(endpointId)) {\n return EndpointVersion.V2;\n }\n return endpointId < EndpointV2IdBase ? EndpointVersion.V1 : EndpointVersion.V2;\n};\n\nexport const getEndpointVersionFromUlnVersion = (ulnVersion: UlnVersion): EndpointVersion => {\n if (ulnVersion === UlnVersion.V1) {\n throw new Error('UlnVersion.V1 is not supported');\n }\n switch (ulnVersion) {\n case UlnVersion.V2:\n case UlnVersion.V301:\n return EndpointVersion.V1;\n case UlnVersion.V300:\n case UlnVersion.ReadV1002:\n case UlnVersion.V302:\n return EndpointVersion.V2;\n default:\n throw new Error(`Unknown UlnVersion: ${ulnVersion}`);\n }\n};\n\n// Note: This doesn't work for UlnVersion.V1\nexport const getEndpointId = (\n chainName: ChainName,\n environment: Environment,\n version: EndpointVersion,\n): EndpointId => {\n return chainAndStageToEndpointId(\n chainName as unknown as Chain,\n environment as unknown as Stage,\n version,\n );\n};\n\nexport const getEnvironmentFromEndpointId = (endpointId: EndpointId): Environment => {\n return endpointIdToStage(endpointId) as unknown as Environment;\n};\n\nexport const getVId = (chainName: ChainName, environment: Environment): string => {\n // By convention the vid is always the endpointV1 endpoint id\n // TODO: Monorepo doesn't have these chains for EndpointVersion.V1\n if (['solana', 'ton', 'initia', 'movement', 'starknet', 'stellar'].includes(chainName)) {\n const eid = getEndpointId(chainName, environment, EndpointVersion.V2);\n return (parseInt(eid.toString()) % 30000).toString();\n }\n return getEndpointId(chainName, environment, EndpointVersion.V1).toString();\n};\n\nexport class StaticChainConfigs {\n static getAddressSizeInBytes(chainName: ChainName): number {\n return staticConfig[chainName].addressSizeInBytes;\n }\n\n static getSymbol(chainName: ChainName): string {\n return staticConfig[chainName].symbol;\n }\n\n static getDecimals(chainName: ChainName): number {\n return staticConfig[chainName].decimals;\n }\n\n static getMptBaseFee(chainName: ChainName): number {\n return staticConfig[chainName].mptBaseGas!;\n }\n\n static getChainLayer(chainName: ChainName): number {\n return staticConfig[chainName].chainLayer ?? 1;\n }\n\n static getChainSubType(chainName: ChainName): ChainSubType | undefined {\n return staticConfig[chainName].chainSubType;\n }\n\n static getGasPriceDecimals(chainName: ChainName): number {\n if (chainName === ChainName.HEDERA) {\n return 18;\n }\n return staticConfig[chainName].decimals;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":["getChainNameFromEndpointId","endpointId","chainNameSchema","parse","getNetworkForChainId","chainName","isLzReadEndpointId","Object","values","ChannelId","includes","Number","getEndpointVersionFromEndpointId","EndpointVersion","V2","EndpointV2IdBase","V1","getEndpointVersionFromUlnVersion","ulnVersion","UlnVersion","Error","V301","V300","ReadV1002","V302","getEndpointId","environment","version","chainAndStageToEndpointId","getChainNamesForEndpoint","ChainName","filter","name","getEnvironmentFromEndpointId","endpointIdToStage","getVId","eid","parseInt","toString","StaticChainConfigs","getAddressSizeInBytes","staticConfig","addressSizeInBytes","getSymbol","symbol","getDecimals","decimals","getMptBaseFee","mptBaseGas","getChainLayer","chainLayer","getChainSubType","chainSubType","getGasPriceDecimals","HEDERA"],"mappings":"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","file":"index.js","sourcesContent":["import type { Environment } from '@layerzerolabs/layerzero-definitions';\nimport { ChainName, chainNameSchema } from '@layerzerolabs/layerzero-definitions';\nimport { EndpointVersion, UlnVersion } from '@layerzerolabs/layerzero-definitions';\nimport type { Chain, EndpointId, Stage } from '@layerzerolabs/lz-definitions';\nimport {\n chainAndStageToEndpointId,\n ChannelId,\n endpointIdToStage,\n EndpointV2IdBase,\n getNetworkForChainId,\n} from '@layerzerolabs/lz-definitions';\n\nimport { ChainSubType, staticConfig } from './staticChainInfo';\n\nexport { ChainSubType };\n\nexport * from './staticChainInfo';\n\nexport const getChainNameFromEndpointId = (endpointId: EndpointId): ChainName => {\n return chainNameSchema.parse(getNetworkForChainId(endpointId).chainName);\n};\n\nexport const isLzReadEndpointId = (endpointId: EndpointId) => {\n return Object.values(ChannelId).includes(Number(endpointId));\n};\n\nexport const getEndpointVersionFromEndpointId = (endpointId: EndpointId): EndpointVersion => {\n if (isLzReadEndpointId(endpointId)) {\n return EndpointVersion.V2;\n }\n return endpointId < EndpointV2IdBase ? EndpointVersion.V1 : EndpointVersion.V2;\n};\n\nexport const getEndpointVersionFromUlnVersion = (ulnVersion: UlnVersion): EndpointVersion => {\n if (ulnVersion === UlnVersion.V1) {\n throw new Error('UlnVersion.V1 is not supported');\n }\n switch (ulnVersion) {\n case UlnVersion.V2:\n case UlnVersion.V301:\n return EndpointVersion.V1;\n case UlnVersion.V300:\n case UlnVersion.ReadV1002:\n case UlnVersion.V302:\n return EndpointVersion.V2;\n default:\n throw new Error(`Unknown UlnVersion: ${ulnVersion}`);\n }\n};\n\n// Note: This doesn't work for UlnVersion.V1\nexport const getEndpointId = (\n chainName: ChainName,\n environment: Environment,\n version: EndpointVersion,\n): EndpointId => {\n return chainAndStageToEndpointId(\n chainName as unknown as Chain,\n environment as unknown as Stage,\n version,\n );\n};\n\nexport const getChainNamesForEndpoint = (\n environment: Environment,\n version: EndpointVersion,\n): ChainName[] => {\n return Object.values(ChainName).filter((name) => {\n try {\n getEndpointId(name, environment, version);\n return true;\n } catch {\n return false;\n }\n });\n};\n\nexport const getEnvironmentFromEndpointId = (endpointId: EndpointId): Environment => {\n return endpointIdToStage(endpointId) as unknown as Environment;\n};\n\nexport const getVId = (chainName: ChainName, environment: Environment): string => {\n // By convention the vid is always the endpointV1 endpoint id\n // TODO: Monorepo doesn't have these chains for EndpointVersion.V1\n if (['solana', 'ton', 'initia', 'movement', 'starknet', 'stellar'].includes(chainName)) {\n const eid = getEndpointId(chainName, environment, EndpointVersion.V2);\n return (parseInt(eid.toString()) % 30000).toString();\n }\n return getEndpointId(chainName, environment, EndpointVersion.V1).toString();\n};\n\nexport class StaticChainConfigs {\n static getAddressSizeInBytes(chainName: ChainName): number {\n return staticConfig[chainName].addressSizeInBytes;\n }\n\n static getSymbol(chainName: ChainName): string {\n return staticConfig[chainName].symbol;\n }\n\n static getDecimals(chainName: ChainName): number {\n return staticConfig[chainName].decimals;\n }\n\n static getMptBaseFee(chainName: ChainName): number {\n return staticConfig[chainName].mptBaseGas!;\n }\n\n static getChainLayer(chainName: ChainName): number {\n return staticConfig[chainName].chainLayer ?? 1;\n }\n\n static getChainSubType(chainName: ChainName): ChainSubType | undefined {\n return staticConfig[chainName].chainSubType;\n }\n\n static getGasPriceDecimals(chainName: ChainName): number {\n if (chainName === ChainName.HEDERA) {\n return 18;\n }\n return staticConfig[chainName].decimals;\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@layerzerolabs/static-chain-info",
3
- "version": "0.2.86",
3
+ "version": "0.2.88",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "sideEffects": false,
@@ -19,13 +19,13 @@
19
19
  ],
20
20
  "dependencies": {
21
21
  "@layerzerolabs/lz-definitions": "3.0.167",
22
- "@layerzerolabs/layerzero-definitions": "0.2.86"
22
+ "@layerzerolabs/layerzero-definitions": "0.2.88"
23
23
  },
24
24
  "devDependencies": {
25
25
  "tsup": "^8.4.0",
26
26
  "vitest": "^3.2.3",
27
- "@layerzerolabs/typescript-configuration": "0.2.86",
28
- "@layerzerolabs/tsup-configuration": "0.2.86"
27
+ "@layerzerolabs/tsup-configuration": "0.2.88",
28
+ "@layerzerolabs/typescript-configuration": "0.2.88"
29
29
  },
30
30
  "publishConfig": {
31
31
  "access": "public",