@layerzerolabs/static-chain-info 0.0.34 → 0.0.39
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/.turbo/turbo-build.log +10 -10
- package/.turbo/turbo-checkdeps.log +1 -1
- package/dist/index.cjs +2 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/package.json +7 -7
- package/src/index.ts +1 -1
package/.turbo/turbo-build.log
CHANGED
|
@@ -10,17 +10,17 @@
|
|
|
10
10
|
[34mCLI[39m Cleaning output folder
|
|
11
11
|
[34mCJS[39m Build start
|
|
12
12
|
[34mESM[39m Build start
|
|
13
|
-
[
|
|
14
|
-
[32mESM[39m [1mdist/3CVYOI5Q.js [22m[32m33.45 KB[39m
|
|
15
|
-
[32mESM[39m [1mdist/index.js [22m[32m5.20 KB[39m
|
|
16
|
-
[32mESM[39m [1mdist/staticChainInfo.js.map [22m[32m79.00 B[39m
|
|
17
|
-
[32mESM[39m [1mdist/3CVYOI5Q.js.map [22m[32m79.32 KB[39m
|
|
18
|
-
[32mESM[39m [1mdist/index.js.map [22m[32m12.29 KB[39m
|
|
19
|
-
[32mESM[39m ⚡️ Build success in 401ms
|
|
13
|
+
[32mCJS[39m [1mdist/index.cjs [22m[32m6.62 KB[39m
|
|
20
14
|
[32mCJS[39m [1mdist/staticChainInfo.cjs [22m[32m541.00 B[39m
|
|
21
|
-
[32mCJS[39m [1mdist/index.cjs [22m[32m6.61 KB[39m
|
|
22
15
|
[32mCJS[39m [1mdist/7QMGGKXF.cjs [22m[32m37.87 KB[39m
|
|
16
|
+
[32mCJS[39m [1mdist/index.cjs.map [22m[32m12.36 KB[39m
|
|
23
17
|
[32mCJS[39m [1mdist/staticChainInfo.cjs.map [22m[32m80.00 B[39m
|
|
24
|
-
[32mCJS[39m [1mdist/index.cjs.map [22m[32m12.34 KB[39m
|
|
25
18
|
[32mCJS[39m [1mdist/7QMGGKXF.cjs.map [22m[32m79.53 KB[39m
|
|
26
|
-
[32mCJS[39m ⚡️ Build success in
|
|
19
|
+
[32mCJS[39m ⚡️ Build success in 439ms
|
|
20
|
+
[32mESM[39m [1mdist/index.js [22m[32m5.21 KB[39m
|
|
21
|
+
[32mESM[39m [1mdist/staticChainInfo.js [22m[32m158.00 B[39m
|
|
22
|
+
[32mESM[39m [1mdist/3CVYOI5Q.js [22m[32m33.45 KB[39m
|
|
23
|
+
[32mESM[39m [1mdist/index.js.map [22m[32m12.31 KB[39m
|
|
24
|
+
[32mESM[39m [1mdist/staticChainInfo.js.map [22m[32m79.00 B[39m
|
|
25
|
+
[32mESM[39m [1mdist/3CVYOI5Q.js.map [22m[32m79.32 KB[39m
|
|
26
|
+
[32mESM[39m ⚡️ Build success in 439ms
|
|
@@ -4,5 +4,5 @@
|
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
> @layerzerolabs/depcheck@1.0.1 depcheck /home/runner/work/monorepo-internal/monorepo-internal/tools/repo/depcheck
|
|
7
|
-
> tsx ./src/index.ts
|
|
7
|
+
> tsx ./src/index.ts validate --catalog --missing-dependencies --only @layerzerolabs/static-chain-info
|
|
8
8
|
|
package/dist/index.cjs
CHANGED
|
@@ -116,7 +116,8 @@ function getAddressEncodedByChain(chainName, address) {
|
|
|
116
116
|
"aptos",
|
|
117
117
|
"movement",
|
|
118
118
|
"initia",
|
|
119
|
-
"ton"
|
|
119
|
+
"ton",
|
|
120
|
+
"sui"
|
|
120
121
|
].includes(chainName)) {
|
|
121
122
|
const addressSizeInBytes = StaticChainConfigs.getAddressSizeInBytes(chainName);
|
|
122
123
|
return commonUtils.hexZeroPad(commonUtils.ensure0xPrefixed(address), addressSizeInBytes).toLowerCase();
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":["getChainName","chainId","getNetworkForChainId","parseInt","toString","chainName","isLzReadEndpointId","endpointId","Object","values","ChannelId","includes","Number","getLZEndpointVersionFromChainId","EndpointVersion","V2","EndpointV2IdBase","V1","chainIdToEndpointVersion","asNumber","isInteger","Error","getEnvFromChainId","getUlnVersionFromChainId","ulnVersionString","UlnVersion","getEndpointVersionFromUlnVersion","ulnVersion","V301","V300","ReadV1002","V302","getChainId","__name","environment","ulnVer","getChainIdForNetwork","valueOf","getChainIdForEndpointVersion","version","ChainName","STARKNET","chainAndStageToEndpointId","getVId","eid","StaticChainConfigs","getAddressSizeInBytesFromChainId","getAddressSizeInBytes","staticConfig","addressSizeInBytes","denormalizeHexAddressForChain","address","denormalizeHexAddress","getSymbol","symbol","getDecimals","decimals","getMptBaseFee","mptBaseGas","getChainLayer","chainLayer","getChainSubType","chainSubType","getAddressEncodedByChain","SOLANA","isBase58","hexToBase58","hexZeroPad","ensure0xPrefixed","toLowerCase","slice"],"mappings":"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","file":"index.cjs","sourcesContent":["import {\n denormalizeHexAddress,\n type HexAddress,\n type NormalizedHexAddress,\n} from '@layerzerolabs/common-chain-model';\nimport { ensure0xPrefixed, hexToBase58, hexZeroPad, isBase58 } from '@layerzerolabs/common-utils';\nimport type { Environment } from '@layerzerolabs/layerzero-definitions';\nimport { ChainName } 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 EndpointV2IdBase,\n getChainIdForNetwork,\n getNetworkForChainId,\n} from '@layerzerolabs/lz-definitions';\n\nimport { ChainSubType, staticConfig } from './staticChainInfo';\n\nexport { ChainSubType };\n\nexport * from './staticChainInfo';\n\nexport const getChainName = (chainId: string | number | bigint): ChainName => {\n return getNetworkForChainId(parseInt(chainId.toString()))?.chainName! as unknown as ChainName;\n};\n\nexport const isLzReadEndpointId = (endpointId: number | bigint | string) => {\n return Object.values(ChannelId).includes(Number(endpointId));\n};\n\nexport const getLZEndpointVersionFromChainId = (chainId: number): EndpointVersion => {\n if (isLzReadEndpointId(chainId)) {\n return EndpointVersion.V2;\n }\n return chainId < EndpointV2IdBase ? EndpointVersion.V1 : EndpointVersion.V2;\n};\n\nexport const chainIdToEndpointVersion = (chainId: string | number): EndpointVersion => {\n const asNumber = Number(chainId);\n if (!Number.isInteger(asNumber) || asNumber < 0)\n throw new Error('Argument must be positive integer!');\n return getLZEndpointVersionFromChainId(asNumber);\n};\n\nexport const getEnvFromChainId = (chainId: string): string => {\n return getNetworkForChainId(parseInt(chainId))!['env'];\n};\n\nexport const getUlnVersionFromChainId = (chainId: string): UlnVersion => {\n const ulnVersionString = getNetworkForChainId(parseInt(chainId))!['ulnVersion'];\n return { '2': UlnVersion.V2 }[ulnVersionString]!; // V1 will not be supported anymore\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/**\n * @deprecated Use getChainIdForEndpointVersion instead\n */\nexport const getChainId = (\n chainName: ChainName,\n environment: Environment,\n ulnVersion: UlnVersion,\n): string => {\n const ulnVer = {\n [UlnVersion.V1]: '1',\n [UlnVersion.V2]: '2',\n [UlnVersion.V300]: '3.0.2', // simpleMessageLib should get V302 chainIds\n [UlnVersion.V301]: '3.0.1',\n [UlnVersion.V302]: '3.0.2',\n [UlnVersion.ReadV1002]: '10.0.2',\n }[ulnVersion];\n\n return getChainIdForNetwork(chainName, environment, ulnVer).valueOf().toString();\n};\n\n// Note: This doesn't work for UlnVersion.V1\nexport const getChainIdForEndpointVersion = (\n chainName: ChainName,\n environment: Environment,\n version: EndpointVersion,\n): EndpointId => {\n // FIXME-STARKNET: Remove this once we have a proper ChainId for Starknet\n if (chainName === ChainName.STARKNET) {\n return 80085 as EndpointId;\n }\n\n // TODO: This is essentially 'getChainIdForNetwork' but skipping the UlnVersion -> EndpointVersion step, refactor monorepo to export this function\n return chainAndStageToEndpointId(\n chainName as unknown as Chain,\n environment as unknown as Stage,\n version,\n );\n};\n\nexport const getVId = (chainName: ChainName, environment: Environment): string => {\n // By convention the vid is alwayd the endpointV1 chainId\n // TODO: Monorepo doesnt have these chains for EndpointVersion.V1\n if (['solana', 'ton', 'initia', 'movement'].includes(chainName)) {\n const eid = getChainIdForEndpointVersion(chainName, environment, EndpointVersion.V2);\n return (parseInt(eid.toString()) % 30000).toString();\n }\n return getChainIdForEndpointVersion(chainName, environment, EndpointVersion.V1).toString();\n};\n\nexport class StaticChainConfigs {\n static getChainName(chainId: string | number): ChainName {\n return getChainName(chainId);\n }\n\n static getAddressSizeInBytesFromChainId(chainId: string | number): number {\n return StaticChainConfigs.getAddressSizeInBytes(StaticChainConfigs.getChainName(chainId));\n }\n\n static getAddressSizeInBytes(chainName: ChainName): number {\n return staticConfig[chainName].addressSizeInBytes;\n }\n\n static denormalizeHexAddressForChain(\n chainName: ChainName,\n address: NormalizedHexAddress,\n ): HexAddress {\n return denormalizeHexAddress(address, this.getAddressSizeInBytes(chainName));\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\n// TODO should be replaces with AddressParserSDK once it is written https://linear.app/layerzerolabs/issue/BE-1876\nexport function getAddressEncodedByChain(chainName: ChainName, address: HexAddress): string {\n // SOLANA addresses is base58 encoded and should not be lower cased\n // or web3.js cannot convert it to PublicKey\n if (chainName === ChainName.SOLANA) {\n return isBase58(address) ? address : hexToBase58(address);\n } else if (['aptos', 'movement', 'initia', 'ton'].includes(chainName)) {\n const addressSizeInBytes = StaticChainConfigs.getAddressSizeInBytes(chainName);\n // APTOS addresses is bytes32 hex encoded\n return hexZeroPad(ensure0xPrefixed(address), addressSizeInBytes).toLowerCase();\n }\n // EVM addresses are 20 bytes\n // The getAddress(...).toLowerCase() does not change the address in this case but it does some validation\n return hexZeroPad(ensure0xPrefixed(address), 32).slice(-40).toLowerCase();\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":["getChainName","chainId","getNetworkForChainId","parseInt","toString","chainName","isLzReadEndpointId","endpointId","Object","values","ChannelId","includes","Number","getLZEndpointVersionFromChainId","EndpointVersion","V2","EndpointV2IdBase","V1","chainIdToEndpointVersion","asNumber","isInteger","Error","getEnvFromChainId","getUlnVersionFromChainId","ulnVersionString","UlnVersion","getEndpointVersionFromUlnVersion","ulnVersion","V301","V300","ReadV1002","V302","getChainId","__name","environment","ulnVer","getChainIdForNetwork","valueOf","getChainIdForEndpointVersion","version","ChainName","STARKNET","chainAndStageToEndpointId","getVId","eid","StaticChainConfigs","getAddressSizeInBytesFromChainId","getAddressSizeInBytes","staticConfig","addressSizeInBytes","denormalizeHexAddressForChain","address","denormalizeHexAddress","getSymbol","symbol","getDecimals","decimals","getMptBaseFee","mptBaseGas","getChainLayer","chainLayer","getChainSubType","chainSubType","getAddressEncodedByChain","SOLANA","isBase58","hexToBase58","hexZeroPad","ensure0xPrefixed","toLowerCase","slice"],"mappings":"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","file":"index.cjs","sourcesContent":["import {\n denormalizeHexAddress,\n type HexAddress,\n type NormalizedHexAddress,\n} from '@layerzerolabs/common-chain-model';\nimport { ensure0xPrefixed, hexToBase58, hexZeroPad, isBase58 } from '@layerzerolabs/common-utils';\nimport type { Environment } from '@layerzerolabs/layerzero-definitions';\nimport { ChainName } 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 EndpointV2IdBase,\n getChainIdForNetwork,\n getNetworkForChainId,\n} from '@layerzerolabs/lz-definitions';\n\nimport { ChainSubType, staticConfig } from './staticChainInfo';\n\nexport { ChainSubType };\n\nexport * from './staticChainInfo';\n\nexport const getChainName = (chainId: string | number | bigint): ChainName => {\n return getNetworkForChainId(parseInt(chainId.toString()))?.chainName! as unknown as ChainName;\n};\n\nexport const isLzReadEndpointId = (endpointId: number | bigint | string) => {\n return Object.values(ChannelId).includes(Number(endpointId));\n};\n\nexport const getLZEndpointVersionFromChainId = (chainId: number): EndpointVersion => {\n if (isLzReadEndpointId(chainId)) {\n return EndpointVersion.V2;\n }\n return chainId < EndpointV2IdBase ? EndpointVersion.V1 : EndpointVersion.V2;\n};\n\nexport const chainIdToEndpointVersion = (chainId: string | number): EndpointVersion => {\n const asNumber = Number(chainId);\n if (!Number.isInteger(asNumber) || asNumber < 0)\n throw new Error('Argument must be positive integer!');\n return getLZEndpointVersionFromChainId(asNumber);\n};\n\nexport const getEnvFromChainId = (chainId: string): string => {\n return getNetworkForChainId(parseInt(chainId))!['env'];\n};\n\nexport const getUlnVersionFromChainId = (chainId: string): UlnVersion => {\n const ulnVersionString = getNetworkForChainId(parseInt(chainId))!['ulnVersion'];\n return { '2': UlnVersion.V2 }[ulnVersionString]!; // V1 will not be supported anymore\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/**\n * @deprecated Use getChainIdForEndpointVersion instead\n */\nexport const getChainId = (\n chainName: ChainName,\n environment: Environment,\n ulnVersion: UlnVersion,\n): string => {\n const ulnVer = {\n [UlnVersion.V1]: '1',\n [UlnVersion.V2]: '2',\n [UlnVersion.V300]: '3.0.2', // simpleMessageLib should get V302 chainIds\n [UlnVersion.V301]: '3.0.1',\n [UlnVersion.V302]: '3.0.2',\n [UlnVersion.ReadV1002]: '10.0.2',\n }[ulnVersion];\n\n return getChainIdForNetwork(chainName, environment, ulnVer).valueOf().toString();\n};\n\n// Note: This doesn't work for UlnVersion.V1\nexport const getChainIdForEndpointVersion = (\n chainName: ChainName,\n environment: Environment,\n version: EndpointVersion,\n): EndpointId => {\n // FIXME-STARKNET: Remove this once we have a proper ChainId for Starknet\n if (chainName === ChainName.STARKNET) {\n return 80085 as EndpointId;\n }\n\n // TODO: This is essentially 'getChainIdForNetwork' but skipping the UlnVersion -> EndpointVersion step, refactor monorepo to export this function\n return chainAndStageToEndpointId(\n chainName as unknown as Chain,\n environment as unknown as Stage,\n version,\n );\n};\n\nexport const getVId = (chainName: ChainName, environment: Environment): string => {\n // By convention the vid is alwayd the endpointV1 chainId\n // TODO: Monorepo doesnt have these chains for EndpointVersion.V1\n if (['solana', 'ton', 'initia', 'movement'].includes(chainName)) {\n const eid = getChainIdForEndpointVersion(chainName, environment, EndpointVersion.V2);\n return (parseInt(eid.toString()) % 30000).toString();\n }\n return getChainIdForEndpointVersion(chainName, environment, EndpointVersion.V1).toString();\n};\n\nexport class StaticChainConfigs {\n static getChainName(chainId: string | number): ChainName {\n return getChainName(chainId);\n }\n\n static getAddressSizeInBytesFromChainId(chainId: string | number): number {\n return StaticChainConfigs.getAddressSizeInBytes(StaticChainConfigs.getChainName(chainId));\n }\n\n static getAddressSizeInBytes(chainName: ChainName): number {\n return staticConfig[chainName].addressSizeInBytes;\n }\n\n static denormalizeHexAddressForChain(\n chainName: ChainName,\n address: NormalizedHexAddress,\n ): HexAddress {\n return denormalizeHexAddress(address, this.getAddressSizeInBytes(chainName));\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\n// TODO should be replaces with AddressParserSDK once it is written https://linear.app/layerzerolabs/issue/BE-1876\nexport function getAddressEncodedByChain(chainName: ChainName, address: HexAddress): string {\n // SOLANA addresses is base58 encoded and should not be lower cased\n // or web3.js cannot convert it to PublicKey\n if (chainName === ChainName.SOLANA) {\n return isBase58(address) ? address : hexToBase58(address);\n } else if (['aptos', 'movement', 'initia', 'ton', 'sui'].includes(chainName)) {\n const addressSizeInBytes = StaticChainConfigs.getAddressSizeInBytes(chainName);\n // APTOS addresses is bytes32 hex encoded\n return hexZeroPad(ensure0xPrefixed(address), addressSizeInBytes).toLowerCase();\n }\n // EVM addresses are 20 bytes\n // The getAddress(...).toLowerCase() does not change the address in this case but it does some validation\n return hexZeroPad(ensure0xPrefixed(address), 32).slice(-40).toLowerCase();\n}\n"]}
|
package/dist/index.js
CHANGED
|
@@ -115,7 +115,8 @@ function getAddressEncodedByChain(chainName, address) {
|
|
|
115
115
|
"aptos",
|
|
116
116
|
"movement",
|
|
117
117
|
"initia",
|
|
118
|
-
"ton"
|
|
118
|
+
"ton",
|
|
119
|
+
"sui"
|
|
119
120
|
].includes(chainName)) {
|
|
120
121
|
const addressSizeInBytes = StaticChainConfigs.getAddressSizeInBytes(chainName);
|
|
121
122
|
return hexZeroPad(ensure0xPrefixed(address), addressSizeInBytes).toLowerCase();
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":["getChainName","chainId","getNetworkForChainId","parseInt","toString","chainName","isLzReadEndpointId","endpointId","Object","values","ChannelId","includes","Number","getLZEndpointVersionFromChainId","EndpointVersion","V2","EndpointV2IdBase","V1","chainIdToEndpointVersion","asNumber","isInteger","Error","getEnvFromChainId","getUlnVersionFromChainId","ulnVersionString","UlnVersion","getEndpointVersionFromUlnVersion","ulnVersion","V301","V300","ReadV1002","V302","getChainId","environment","ulnVer","getChainIdForNetwork","valueOf","getChainIdForEndpointVersion","version","ChainName","STARKNET","chainAndStageToEndpointId","getVId","eid","StaticChainConfigs","getAddressSizeInBytesFromChainId","getAddressSizeInBytes","staticConfig","addressSizeInBytes","denormalizeHexAddressForChain","address","denormalizeHexAddress","getSymbol","symbol","getDecimals","decimals","getMptBaseFee","mptBaseGas","getChainLayer","chainLayer","getChainSubType","chainSubType","getAddressEncodedByChain","SOLANA","isBase58","hexToBase58","hexZeroPad","ensure0xPrefixed","toLowerCase","slice"],"mappings":";;;;;;;AAwBO,IAAMA,YAAAA,2BAAgBC,OAAAA,KAAAA;AACzB,EAAA,OAAOC,qBAAqBC,QAAAA,CAASF,OAAAA,CAAQG,QAAAA,EAAQ,CAAA,CAAA,EAAMC,SAAAA;AAC/D,CAAA,EAF4B,cAAA;AAIrB,IAAMC,kBAAAA,2BAAsBC,UAAAA,KAAAA;AAC/B,EAAA,OAAOC,OAAOC,MAAAA,CAAOC,SAAAA,EAAWC,QAAAA,CAASC,MAAAA,CAAOL,UAAAA,CAAAA,CAAAA;AACpD,CAAA,EAFkC,oBAAA;AAI3B,IAAMM,+BAAAA,2BAAmCZ,OAAAA,KAAAA;AAC5C,EAAA,IAAIK,kBAAAA,CAAmBL,OAAAA,CAAAA,EAAU;AAC7B,IAAA,OAAOa,eAAAA,CAAgBC,EAAAA;AAC3B,EAAA;AACA,EAAA,OAAOd,OAAAA,GAAUe,gBAAAA,GAAmBF,eAAAA,CAAgBG,EAAAA,GAAKH,eAAAA,CAAgBC,EAAAA;AAC7E,CAAA,EAL+C,iCAAA;AAOxC,IAAMG,wBAAAA,2BAA4BjB,OAAAA,KAAAA;AACrC,EAAA,MAAMkB,QAAAA,GAAWP,OAAOX,OAAAA,CAAAA;AACxB,EAAA,IAAI,CAACW,MAAAA,CAAOQ,SAAAA,CAAUD,QAAAA,CAAAA,IAAaA,WAAW,CAAA,EAC1C,MAAM,IAAIE,KAAAA,CAAM,oCAAA,CAAA;AACpB,EAAA,OAAOR,gCAAgCM,QAAAA,CAAAA;AAC3C,CAAA,EALwC,0BAAA;AAOjC,IAAMG,iBAAAA,2BAAqBrB,OAAAA,KAAAA;AAC9B,EAAA,OAAOC,oBAAAA,CAAqBC,QAAAA,CAASF,OAAAA,CAAAA,EAAW,KAAA,CAAA;AACpD,CAAA,EAFiC,mBAAA;AAI1B,IAAMsB,wBAAAA,2BAA4BtB,OAAAA,KAAAA;AACrC,EAAA,MAAMuB,mBAAmBtB,oBAAAA,CAAqBC,QAAAA,CAASF,OAAAA,CAAAA,EAAW,YAAA,CAAA;AAClE,EAAA,OAAO;AAAE,IAAA,GAAA,EAAKwB,UAAAA,CAAWV;AAAG,GAAA,CAAES,gBAAAA,CAAAA;AAClC,CAAA,EAHwC,0BAAA;AAKjC,IAAME,gCAAAA,2BAAoCC,UAAAA,KAAAA;AAC7C,EAAA,IAAIA,UAAAA,KAAeF,WAAWR,EAAAA,EAAI;AAC9B,IAAA,MAAM,IAAII,MAAM,gCAAA,CAAA;AACpB,EAAA;AACA,EAAA,QAAQM,UAAAA;AACJ,IAAA,KAAKF,UAAAA,CAAWV,EAAAA;AAChB,IAAA,KAAKU,UAAAA,CAAWG,IAAAA;AACZ,MAAA,OAAOd,eAAAA,CAAgBG,EAAAA;AAC3B,IAAA,KAAKQ,UAAAA,CAAWI,IAAAA;AAChB,IAAA,KAAKJ,UAAAA,CAAWK,SAAAA;AAChB,IAAA,KAAKL,UAAAA,CAAWM,IAAAA;AACZ,MAAA,OAAOjB,eAAAA,CAAgBC,EAAAA;AAC3B,IAAA;AACI,MAAA,MAAM,IAAIM,KAAAA,CAAM,CAAA,oBAAA,EAAuBM,UAAAA,CAAAA,CAAY,CAAA;AAC3D;AACJ,CAAA,EAfgD,kCAAA;AAoBzC,IAAMK,UAAAA,mBAAa,MAAA,CAAA,CACtB3B,SAAAA,EACA4B,WAAAA,EACAN,UAAAA,KAAAA;AAEA,EAAA,MAAMO,MAAAA,GAAS;IACX,CAACT,UAAAA,CAAWR,EAAE,GAAG,GAAA;IACjB,CAACQ,UAAAA,CAAWV,EAAE,GAAG,GAAA;IACjB,CAACU,UAAAA,CAAWI,IAAI,GAAG,OAAA;IACnB,CAACJ,UAAAA,CAAWG,IAAI,GAAG,OAAA;IACnB,CAACH,UAAAA,CAAWM,IAAI,GAAG,OAAA;IACnB,CAACN,UAAAA,CAAWK,SAAS,GAAG;AAC5B,GAAA,CAAEH,UAAAA,CAAAA;AAEF,EAAA,OAAOQ,qBAAqB9B,SAAAA,EAAW4B,WAAAA,EAAaC,MAAAA,CAAAA,CAAQE,OAAAA,GAAUhC,QAAAA,EAAQ;AAClF,CAAA,EAf0B,YAAA;AAkBnB,IAAMiC,4BAAAA,mBAA+B,MAAA,CAAA,CACxChC,SAAAA,EACA4B,WAAAA,EACAK,OAAAA,KAAAA;AAGA,EAAA,IAAIjC,SAAAA,KAAckC,UAAUC,QAAAA,EAAU;AAClC,IAAA,OAAO,KAAA;AACX,EAAA;AAGA,EAAA,OAAOC,yBAAAA,CACHpC,SAAAA,EACA4B,WAAAA,EACAK,OAAAA,CAAAA;AAER,CAAA,EAhB4C,8BAAA;AAkBrC,IAAMI,MAAAA,mBAAS,MAAA,CAAA,CAACrC,SAAAA,EAAsB4B,WAAAA,KAAAA;AAGzC,EAAA,IAAI;AAAC,IAAA,QAAA;AAAU,IAAA,KAAA;AAAO,IAAA,QAAA;AAAU,IAAA;AAAYtB,GAAAA,CAAAA,QAAAA,CAASN,SAAAA,CAAAA,EAAY;AAC7D,IAAA,MAAMsC,GAAAA,GAAMN,4BAAAA,CAA6BhC,SAAAA,EAAW4B,WAAAA,EAAanB,gBAAgBC,EAAE,CAAA;AACnF,IAAA,OAAA,CAAQZ,SAASwC,GAAAA,CAAIvC,QAAAA,EAAQ,CAAA,GAAM,KAAOA,QAAAA,EAAQ;AACtD,EAAA;AACA,EAAA,OAAOiC,6BAA6BhC,SAAAA,EAAW4B,WAAAA,EAAanB,eAAAA,CAAgBG,EAAE,EAAEb,QAAAA,EAAQ;AAC5F,CAAA,EARsB,QAAA;AAUf,IAAMwC,kBAAAA,GAAN,MAAMA,mBAAAA,CAAAA;EAzHb;;;AA0HI,EAAA,OAAO5C,aAAaC,OAAAA,EAAqC;AACrD,IAAA,OAAOD,aAAaC,OAAAA,CAAAA;AACxB,EAAA;AAEA,EAAA,OAAO4C,iCAAiC5C,OAAAA,EAAkC;AACtE,IAAA,OAAO2C,mBAAAA,CAAmBE,qBAAAA,CAAsBF,mBAAAA,CAAmB5C,YAAAA,CAAaC,OAAAA,CAAAA,CAAAA;AACpF,EAAA;AAEA,EAAA,OAAO6C,sBAAsBzC,SAAAA,EAA8B;AACvD,IAAA,OAAO0C,YAAAA,CAAa1C,SAAAA,CAAAA,CAAW2C,kBAAAA;AACnC,EAAA;EAEA,OAAOC,6BAAAA,CACH5C,WACA6C,OAAAA,EACU;AACV,IAAA,OAAOC,qBAAAA,CAAsBD,OAAAA,EAAS,IAAA,CAAKJ,qBAAAA,CAAsBzC,SAAAA,CAAAA,CAAAA;AACrE,EAAA;AAEA,EAAA,OAAO+C,UAAU/C,SAAAA,EAA8B;AAC3C,IAAA,OAAO0C,YAAAA,CAAa1C,SAAAA,CAAAA,CAAWgD,MAAAA;AACnC,EAAA;AAEA,EAAA,OAAOC,YAAYjD,SAAAA,EAA8B;AAC7C,IAAA,OAAO0C,YAAAA,CAAa1C,SAAAA,CAAAA,CAAWkD,QAAAA;AACnC,EAAA;AAEA,EAAA,OAAOC,cAAcnD,SAAAA,EAA8B;AAC/C,IAAA,OAAO0C,YAAAA,CAAa1C,SAAAA,CAAAA,CAAWoD,UAAAA;AACnC,EAAA;AAEA,EAAA,OAAOC,cAAcrD,SAAAA,EAA8B;AAC/C,IAAA,OAAO0C,YAAAA,CAAa1C,SAAAA,CAAAA,CAAWsD,UAAAA,IAAc,CAAA;AACjD,EAAA;AAEA,EAAA,OAAOC,gBAAgBvD,SAAAA,EAAgD;AACnE,IAAA,OAAO0C,YAAAA,CAAa1C,SAAAA,CAAAA,CAAWwD,YAAAA;AACnC,EAAA;AACJ;AAGO,SAASC,wBAAAA,CAAyBzD,WAAsB6C,OAAAA,EAAmB;AAG9E,EAAA,IAAI7C,SAAAA,KAAckC,UAAUwB,MAAAA,EAAQ;AAChC,IAAA,OAAOC,QAAAA,CAASd,OAAAA,CAAAA,GAAWA,OAAAA,GAAUe,YAAYf,OAAAA,CAAAA;EACrD,CAAA,MAAA,IAAW;AAAC,IAAA,OAAA;AAAS,IAAA,UAAA;AAAY,IAAA,QAAA;AAAU,IAAA;AAAOvC,GAAAA,CAAAA,QAAAA,CAASN,SAAAA,CAAAA,EAAY;AACnE,IAAA,MAAM2C,kBAAAA,GAAqBJ,kBAAAA,CAAmBE,qBAAAA,CAAsBzC,SAAAA,CAAAA;AAEpE,IAAA,OAAO6D,WAAWC,gBAAAA,CAAiBjB,OAAAA,CAAAA,EAAUF,kBAAAA,EAAoBoB,WAAAA,EAAW;AAChF,EAAA;AAGA,EAAA,OAAOF,UAAAA,CAAWC,iBAAiBjB,OAAAA,CAAAA,EAAU,EAAA,CAAA,CAAImB,KAAAA,CAAM,GAAC,CAAA,CAAID,WAAAA,EAAW;AAC3E;AAbgBN,MAAAA,CAAAA,wBAAAA,EAAAA,0BAAAA,CAAAA","file":"index.js","sourcesContent":["import {\n denormalizeHexAddress,\n type HexAddress,\n type NormalizedHexAddress,\n} from '@layerzerolabs/common-chain-model';\nimport { ensure0xPrefixed, hexToBase58, hexZeroPad, isBase58 } from '@layerzerolabs/common-utils';\nimport type { Environment } from '@layerzerolabs/layerzero-definitions';\nimport { ChainName } 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 EndpointV2IdBase,\n getChainIdForNetwork,\n getNetworkForChainId,\n} from '@layerzerolabs/lz-definitions';\n\nimport { ChainSubType, staticConfig } from './staticChainInfo';\n\nexport { ChainSubType };\n\nexport * from './staticChainInfo';\n\nexport const getChainName = (chainId: string | number | bigint): ChainName => {\n return getNetworkForChainId(parseInt(chainId.toString()))?.chainName! as unknown as ChainName;\n};\n\nexport const isLzReadEndpointId = (endpointId: number | bigint | string) => {\n return Object.values(ChannelId).includes(Number(endpointId));\n};\n\nexport const getLZEndpointVersionFromChainId = (chainId: number): EndpointVersion => {\n if (isLzReadEndpointId(chainId)) {\n return EndpointVersion.V2;\n }\n return chainId < EndpointV2IdBase ? EndpointVersion.V1 : EndpointVersion.V2;\n};\n\nexport const chainIdToEndpointVersion = (chainId: string | number): EndpointVersion => {\n const asNumber = Number(chainId);\n if (!Number.isInteger(asNumber) || asNumber < 0)\n throw new Error('Argument must be positive integer!');\n return getLZEndpointVersionFromChainId(asNumber);\n};\n\nexport const getEnvFromChainId = (chainId: string): string => {\n return getNetworkForChainId(parseInt(chainId))!['env'];\n};\n\nexport const getUlnVersionFromChainId = (chainId: string): UlnVersion => {\n const ulnVersionString = getNetworkForChainId(parseInt(chainId))!['ulnVersion'];\n return { '2': UlnVersion.V2 }[ulnVersionString]!; // V1 will not be supported anymore\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/**\n * @deprecated Use getChainIdForEndpointVersion instead\n */\nexport const getChainId = (\n chainName: ChainName,\n environment: Environment,\n ulnVersion: UlnVersion,\n): string => {\n const ulnVer = {\n [UlnVersion.V1]: '1',\n [UlnVersion.V2]: '2',\n [UlnVersion.V300]: '3.0.2', // simpleMessageLib should get V302 chainIds\n [UlnVersion.V301]: '3.0.1',\n [UlnVersion.V302]: '3.0.2',\n [UlnVersion.ReadV1002]: '10.0.2',\n }[ulnVersion];\n\n return getChainIdForNetwork(chainName, environment, ulnVer).valueOf().toString();\n};\n\n// Note: This doesn't work for UlnVersion.V1\nexport const getChainIdForEndpointVersion = (\n chainName: ChainName,\n environment: Environment,\n version: EndpointVersion,\n): EndpointId => {\n // FIXME-STARKNET: Remove this once we have a proper ChainId for Starknet\n if (chainName === ChainName.STARKNET) {\n return 80085 as EndpointId;\n }\n\n // TODO: This is essentially 'getChainIdForNetwork' but skipping the UlnVersion -> EndpointVersion step, refactor monorepo to export this function\n return chainAndStageToEndpointId(\n chainName as unknown as Chain,\n environment as unknown as Stage,\n version,\n );\n};\n\nexport const getVId = (chainName: ChainName, environment: Environment): string => {\n // By convention the vid is alwayd the endpointV1 chainId\n // TODO: Monorepo doesnt have these chains for EndpointVersion.V1\n if (['solana', 'ton', 'initia', 'movement'].includes(chainName)) {\n const eid = getChainIdForEndpointVersion(chainName, environment, EndpointVersion.V2);\n return (parseInt(eid.toString()) % 30000).toString();\n }\n return getChainIdForEndpointVersion(chainName, environment, EndpointVersion.V1).toString();\n};\n\nexport class StaticChainConfigs {\n static getChainName(chainId: string | number): ChainName {\n return getChainName(chainId);\n }\n\n static getAddressSizeInBytesFromChainId(chainId: string | number): number {\n return StaticChainConfigs.getAddressSizeInBytes(StaticChainConfigs.getChainName(chainId));\n }\n\n static getAddressSizeInBytes(chainName: ChainName): number {\n return staticConfig[chainName].addressSizeInBytes;\n }\n\n static denormalizeHexAddressForChain(\n chainName: ChainName,\n address: NormalizedHexAddress,\n ): HexAddress {\n return denormalizeHexAddress(address, this.getAddressSizeInBytes(chainName));\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\n// TODO should be replaces with AddressParserSDK once it is written https://linear.app/layerzerolabs/issue/BE-1876\nexport function getAddressEncodedByChain(chainName: ChainName, address: HexAddress): string {\n // SOLANA addresses is base58 encoded and should not be lower cased\n // or web3.js cannot convert it to PublicKey\n if (chainName === ChainName.SOLANA) {\n return isBase58(address) ? address : hexToBase58(address);\n } else if (['aptos', 'movement', 'initia', 'ton'].includes(chainName)) {\n const addressSizeInBytes = StaticChainConfigs.getAddressSizeInBytes(chainName);\n // APTOS addresses is bytes32 hex encoded\n return hexZeroPad(ensure0xPrefixed(address), addressSizeInBytes).toLowerCase();\n }\n // EVM addresses are 20 bytes\n // The getAddress(...).toLowerCase() does not change the address in this case but it does some validation\n return hexZeroPad(ensure0xPrefixed(address), 32).slice(-40).toLowerCase();\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":["getChainName","chainId","getNetworkForChainId","parseInt","toString","chainName","isLzReadEndpointId","endpointId","Object","values","ChannelId","includes","Number","getLZEndpointVersionFromChainId","EndpointVersion","V2","EndpointV2IdBase","V1","chainIdToEndpointVersion","asNumber","isInteger","Error","getEnvFromChainId","getUlnVersionFromChainId","ulnVersionString","UlnVersion","getEndpointVersionFromUlnVersion","ulnVersion","V301","V300","ReadV1002","V302","getChainId","environment","ulnVer","getChainIdForNetwork","valueOf","getChainIdForEndpointVersion","version","ChainName","STARKNET","chainAndStageToEndpointId","getVId","eid","StaticChainConfigs","getAddressSizeInBytesFromChainId","getAddressSizeInBytes","staticConfig","addressSizeInBytes","denormalizeHexAddressForChain","address","denormalizeHexAddress","getSymbol","symbol","getDecimals","decimals","getMptBaseFee","mptBaseGas","getChainLayer","chainLayer","getChainSubType","chainSubType","getAddressEncodedByChain","SOLANA","isBase58","hexToBase58","hexZeroPad","ensure0xPrefixed","toLowerCase","slice"],"mappings":"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","file":"index.js","sourcesContent":["import {\n denormalizeHexAddress,\n type HexAddress,\n type NormalizedHexAddress,\n} from '@layerzerolabs/common-chain-model';\nimport { ensure0xPrefixed, hexToBase58, hexZeroPad, isBase58 } from '@layerzerolabs/common-utils';\nimport type { Environment } from '@layerzerolabs/layerzero-definitions';\nimport { ChainName } 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 EndpointV2IdBase,\n getChainIdForNetwork,\n getNetworkForChainId,\n} from '@layerzerolabs/lz-definitions';\n\nimport { ChainSubType, staticConfig } from './staticChainInfo';\n\nexport { ChainSubType };\n\nexport * from './staticChainInfo';\n\nexport const getChainName = (chainId: string | number | bigint): ChainName => {\n return getNetworkForChainId(parseInt(chainId.toString()))?.chainName! as unknown as ChainName;\n};\n\nexport const isLzReadEndpointId = (endpointId: number | bigint | string) => {\n return Object.values(ChannelId).includes(Number(endpointId));\n};\n\nexport const getLZEndpointVersionFromChainId = (chainId: number): EndpointVersion => {\n if (isLzReadEndpointId(chainId)) {\n return EndpointVersion.V2;\n }\n return chainId < EndpointV2IdBase ? EndpointVersion.V1 : EndpointVersion.V2;\n};\n\nexport const chainIdToEndpointVersion = (chainId: string | number): EndpointVersion => {\n const asNumber = Number(chainId);\n if (!Number.isInteger(asNumber) || asNumber < 0)\n throw new Error('Argument must be positive integer!');\n return getLZEndpointVersionFromChainId(asNumber);\n};\n\nexport const getEnvFromChainId = (chainId: string): string => {\n return getNetworkForChainId(parseInt(chainId))!['env'];\n};\n\nexport const getUlnVersionFromChainId = (chainId: string): UlnVersion => {\n const ulnVersionString = getNetworkForChainId(parseInt(chainId))!['ulnVersion'];\n return { '2': UlnVersion.V2 }[ulnVersionString]!; // V1 will not be supported anymore\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/**\n * @deprecated Use getChainIdForEndpointVersion instead\n */\nexport const getChainId = (\n chainName: ChainName,\n environment: Environment,\n ulnVersion: UlnVersion,\n): string => {\n const ulnVer = {\n [UlnVersion.V1]: '1',\n [UlnVersion.V2]: '2',\n [UlnVersion.V300]: '3.0.2', // simpleMessageLib should get V302 chainIds\n [UlnVersion.V301]: '3.0.1',\n [UlnVersion.V302]: '3.0.2',\n [UlnVersion.ReadV1002]: '10.0.2',\n }[ulnVersion];\n\n return getChainIdForNetwork(chainName, environment, ulnVer).valueOf().toString();\n};\n\n// Note: This doesn't work for UlnVersion.V1\nexport const getChainIdForEndpointVersion = (\n chainName: ChainName,\n environment: Environment,\n version: EndpointVersion,\n): EndpointId => {\n // FIXME-STARKNET: Remove this once we have a proper ChainId for Starknet\n if (chainName === ChainName.STARKNET) {\n return 80085 as EndpointId;\n }\n\n // TODO: This is essentially 'getChainIdForNetwork' but skipping the UlnVersion -> EndpointVersion step, refactor monorepo to export this function\n return chainAndStageToEndpointId(\n chainName as unknown as Chain,\n environment as unknown as Stage,\n version,\n );\n};\n\nexport const getVId = (chainName: ChainName, environment: Environment): string => {\n // By convention the vid is alwayd the endpointV1 chainId\n // TODO: Monorepo doesnt have these chains for EndpointVersion.V1\n if (['solana', 'ton', 'initia', 'movement'].includes(chainName)) {\n const eid = getChainIdForEndpointVersion(chainName, environment, EndpointVersion.V2);\n return (parseInt(eid.toString()) % 30000).toString();\n }\n return getChainIdForEndpointVersion(chainName, environment, EndpointVersion.V1).toString();\n};\n\nexport class StaticChainConfigs {\n static getChainName(chainId: string | number): ChainName {\n return getChainName(chainId);\n }\n\n static getAddressSizeInBytesFromChainId(chainId: string | number): number {\n return StaticChainConfigs.getAddressSizeInBytes(StaticChainConfigs.getChainName(chainId));\n }\n\n static getAddressSizeInBytes(chainName: ChainName): number {\n return staticConfig[chainName].addressSizeInBytes;\n }\n\n static denormalizeHexAddressForChain(\n chainName: ChainName,\n address: NormalizedHexAddress,\n ): HexAddress {\n return denormalizeHexAddress(address, this.getAddressSizeInBytes(chainName));\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\n// TODO should be replaces with AddressParserSDK once it is written https://linear.app/layerzerolabs/issue/BE-1876\nexport function getAddressEncodedByChain(chainName: ChainName, address: HexAddress): string {\n // SOLANA addresses is base58 encoded and should not be lower cased\n // or web3.js cannot convert it to PublicKey\n if (chainName === ChainName.SOLANA) {\n return isBase58(address) ? address : hexToBase58(address);\n } else if (['aptos', 'movement', 'initia', 'ton', 'sui'].includes(chainName)) {\n const addressSizeInBytes = StaticChainConfigs.getAddressSizeInBytes(chainName);\n // APTOS addresses is bytes32 hex encoded\n return hexZeroPad(ensure0xPrefixed(address), addressSizeInBytes).toLowerCase();\n }\n // EVM addresses are 20 bytes\n // The getAddress(...).toLowerCase() does not change the address in this case but it does some validation\n return hexZeroPad(ensure0xPrefixed(address), 32).slice(-40).toLowerCase();\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@layerzerolabs/static-chain-info",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.39",
|
|
4
4
|
"private": false,
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -15,16 +15,16 @@
|
|
|
15
15
|
"module": "./dist/index.js",
|
|
16
16
|
"types": "./dist/index.d.ts",
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@layerzerolabs/lz-definitions": "3.0.
|
|
19
|
-
"@layerzerolabs/common-chain-model": "0.0.
|
|
20
|
-
"@layerzerolabs/common-utils": "0.0.
|
|
21
|
-
"@layerzerolabs/layerzero-definitions": "0.0.
|
|
18
|
+
"@layerzerolabs/lz-definitions": "3.0.134",
|
|
19
|
+
"@layerzerolabs/common-chain-model": "0.0.39",
|
|
20
|
+
"@layerzerolabs/common-utils": "0.0.39",
|
|
21
|
+
"@layerzerolabs/layerzero-definitions": "0.0.39"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
24
|
"tsup": "^8.4.0",
|
|
25
25
|
"vitest": "^3.2.3",
|
|
26
|
-
"@layerzerolabs/tsup-configuration": "0.0.
|
|
27
|
-
"@layerzerolabs/typescript-configuration": "0.0.
|
|
26
|
+
"@layerzerolabs/tsup-configuration": "0.0.39",
|
|
27
|
+
"@layerzerolabs/typescript-configuration": "0.0.39"
|
|
28
28
|
},
|
|
29
29
|
"publishConfig": {
|
|
30
30
|
"access": "restricted",
|
package/src/index.ts
CHANGED
|
@@ -166,7 +166,7 @@ export function getAddressEncodedByChain(chainName: ChainName, address: HexAddre
|
|
|
166
166
|
// or web3.js cannot convert it to PublicKey
|
|
167
167
|
if (chainName === ChainName.SOLANA) {
|
|
168
168
|
return isBase58(address) ? address : hexToBase58(address);
|
|
169
|
-
} else if (['aptos', 'movement', 'initia', 'ton'].includes(chainName)) {
|
|
169
|
+
} else if (['aptos', 'movement', 'initia', 'ton', 'sui'].includes(chainName)) {
|
|
170
170
|
const addressSizeInBytes = StaticChainConfigs.getAddressSizeInBytes(chainName);
|
|
171
171
|
// APTOS addresses is bytes32 hex encoded
|
|
172
172
|
return hexZeroPad(ensure0xPrefixed(address), addressSizeInBytes).toLowerCase();
|