sablier 3.7.4 → 3.8.0
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/CHANGELOG.md +21 -0
- package/dist/cjs/evm/chains/builder.js +1 -1
- package/dist/cjs/evm/chains/builder.js.map +1 -1
- package/dist/cjs/evm/chains/chains.js +2 -2
- package/dist/cjs/evm/chains/chains.js.map +1 -1
- package/dist/cjs/evm/chains/custom.js +6 -6
- package/dist/cjs/evm/chains/custom.js.map +1 -1
- package/dist/cjs/evm/chains/specs.js +10 -0
- package/dist/cjs/evm/chains/specs.js.map +1 -1
- package/dist/cjs/evm/comptroller/deployments.js +3 -0
- package/dist/cjs/evm/comptroller/deployments.js.map +1 -1
- package/dist/cjs/evm/contracts/queries.js +1 -1
- package/dist/cjs/evm/contracts/queries.js.map +1 -1
- package/dist/cjs/evm/releases/airdrops/v3.0/deployments.js +7 -0
- package/dist/cjs/evm/releases/airdrops/v3.0/deployments.js.map +1 -1
- package/dist/cjs/evm/releases/features.js +4 -4
- package/dist/cjs/evm/releases/features.js.map +1 -1
- package/dist/cjs/evm/releases/flow/v3.0/deployments.js +4 -0
- package/dist/cjs/evm/releases/flow/v3.0/deployments.js.map +1 -1
- package/dist/cjs/evm/releases/lockup/v4.0/deployments.js +7 -0
- package/dist/cjs/evm/releases/lockup/v4.0/deployments.js.map +1 -1
- package/dist/cjs/evm/types.js.map +1 -1
- package/dist/cjs/internal/factories/queries.js +1 -1
- package/dist/cjs/internal/factories/queries.js.map +1 -1
- package/dist/cjs/solana/chains/chains.js +13 -13
- package/dist/cjs/solana/chains/chains.js.map +1 -1
- package/dist/cjs/solana/programs/queries.js +1 -1
- package/dist/cjs/solana/programs/queries.js.map +1 -1
- package/dist/esm/evm/chains/builder.js +1 -1
- package/dist/esm/evm/chains/builder.js.map +1 -1
- package/dist/esm/evm/chains/chains.js +1 -1
- package/dist/esm/evm/chains/chains.js.map +1 -1
- package/dist/esm/evm/chains/custom.js +6 -6
- package/dist/esm/evm/chains/custom.js.map +1 -1
- package/dist/esm/evm/chains/specs.js +11 -1
- package/dist/esm/evm/chains/specs.js.map +1 -1
- package/dist/esm/evm/comptroller/deployments.js +3 -0
- package/dist/esm/evm/comptroller/deployments.js.map +1 -1
- package/dist/esm/evm/contracts/queries.js +1 -1
- package/dist/esm/evm/contracts/queries.js.map +1 -1
- package/dist/esm/evm/releases/airdrops/v3.0/deployments.js +7 -0
- package/dist/esm/evm/releases/airdrops/v3.0/deployments.js.map +1 -1
- package/dist/esm/evm/releases/features.js +4 -4
- package/dist/esm/evm/releases/features.js.map +1 -1
- package/dist/esm/evm/releases/flow/v3.0/deployments.js +4 -0
- package/dist/esm/evm/releases/flow/v3.0/deployments.js.map +1 -1
- package/dist/esm/evm/releases/lockup/v4.0/deployments.js +7 -0
- package/dist/esm/evm/releases/lockup/v4.0/deployments.js.map +1 -1
- package/dist/esm/evm/types.js.map +1 -1
- package/dist/esm/internal/factories/queries.js +1 -1
- package/dist/esm/internal/factories/queries.js.map +1 -1
- package/dist/esm/solana/chains/chains.js +13 -13
- package/dist/esm/solana/chains/chains.js.map +1 -1
- package/dist/esm/solana/programs/queries.js +1 -1
- package/dist/esm/solana/programs/queries.js.map +1 -1
- package/dist/types/evm/chains/chains.d.ts +1 -1
- package/dist/types/evm/chains/chains.d.ts.map +1 -1
- package/dist/types/evm/chains/specs.d.ts +449 -0
- package/dist/types/evm/chains/specs.d.ts.map +1 -1
- package/dist/types/evm/comptroller/deployments.d.ts.map +1 -1
- package/dist/types/evm/releases/airdrops/v3.0/deployments.d.ts.map +1 -1
- package/dist/types/evm/releases/features.d.ts +4 -0
- package/dist/types/evm/releases/features.d.ts.map +1 -1
- package/dist/types/evm/releases/flow/v3.0/deployments.d.ts.map +1 -1
- package/dist/types/evm/releases/lockup/v4.0/deployments.d.ts.map +1 -1
- package/dist/types/evm/types.d.ts +1 -0
- package/dist/types/evm/types.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../../src/internal/factories/queries.ts"],"names":[],"mappings":"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","sourcesContent":["import { getPath } from \"@/src/internal/utils/object-path.js\";\n\n/**\n * Factory function to create releases queries with platform-specific configuration.\n * This eliminates code duplication between EVM and Solana implementations.\n */\nexport function createReleasesQueries<\n TProtocol extends string,\n TVersion extends string,\n TRelease extends {\n version: TVersion;\n deployments: Array<{ chainId: number }>;\n isLatest?: boolean;\n },\n>(config: {\n releases: Record<TProtocol, Record<string, TRelease>>;\n ProtocolEnum: Record<string, TProtocol>;\n}) {\n const { releases, ProtocolEnum } = config;\n\n return {\n get: (opts: { protocol: TProtocol; version: TVersion }): TRelease | undefined => {\n const { protocol, version } = opts;\n return getPath<TRelease>(releases, [protocol, version]);\n },\n /**\n * Get all releases for a protocol.\n * - {} ⇒ all releases for all protocols\n * - {protocol} ⇒ all releases for that protocol\n */\n getAll: (opts?: { protocol?: TProtocol }): TRelease[] => {\n const { protocol } = opts || {};\n if (protocol) {\n return Object.values(releases[protocol]) as TRelease[];\n }\n // Recursively get all releases from all protocols in the enum\n return Object.values(ProtocolEnum).flatMap((protocolName) =>\n Object.values(releases[protocolName])\n ) as TRelease[];\n },\n /**\n * Get the first release:\n * - {protocol} ⇒ first overall\n * - {protocol,chainId} ⇒ first on that chain\n */\n getFirst: (opts: { protocol: TProtocol; chainId?: number }): TRelease | undefined => {\n const { protocol, chainId } = opts;\n const list = Object.values(releases[protocol]) as TRelease[];\n\n if (chainId) {\n return list.find((r) => r.deployments.some((d) => d.chainId === chainId));\n }\n\n return list[0];\n },\n /**\n * Get the latest release for a protocol.\n * - {protocol}\n */\n getLatest: (opts: { protocol: TProtocol }): TRelease => {\n const list = Object.values(releases[opts.protocol]) as TRelease[];\n const latest = list.at(-1);\n if (!latest || !latest.isLatest) {\n throw new Error(\n `Sablier SDK: No latest release found for Sablier ${opts.protocol}. Please report on GitHub.`\n );\n }\n return latest;\n },\n };\n}\n\n/**\n * Factory function to create contract queries with platform-specific configuration.\n * This eliminates code duplication between EVM and Solana implementations.\n *\n * @template TProtocol - The protocol type\n * @template TContract - The contract/program type with name and address fields\n * @template TDeployment - The deployment type containing contracts or programs\n * @template TRelease - The release type\n * @template TCatalog - The catalog type for reverse lookups\n * @template TAliasCatalog - The alias catalog type for alias-based lookups\n */\nexport function createContractsQueries<\n TProtocol extends string,\n TContract extends { name: string; address: string; alias?: string },\n TDeployment extends { chainId: number; contracts?: TContract[]; programs?: TContract[] },\n TRelease extends { version: string; deployments: TDeployment[] },\n TCatalog,\n TAliasCatalog = undefined,\n>(config: {\n getAliasCatalog?: () => TAliasCatalog;\n catalog: TCatalog;\n releasesQueries: {\n getAll: (opts?: { protocol?: TProtocol }) => TRelease[];\n getLatest: (opts: { protocol: TProtocol }) => TRelease;\n };\n protocols: TProtocol[];\n normalizeAddress: (address: string) => string;\n /** Field name for contracts (e.g., 'contracts' for EVM, 'programs' for Solana) */\n contractsField: \"contracts\" | \"programs\";\n}) {\n const { getAliasCatalog, catalog, releasesQueries, protocols, normalizeAddress, contractsField } =\n config;\n\n // Helper to safely get contracts/programs from deployment\n const getItems = (deployment: TDeployment | undefined): TContract[] => {\n if (!deployment) {\n return [];\n }\n return (deployment[contractsField] as TContract[]) || [];\n };\n\n // Helper to find deployment by chainId and get its contracts\n const getDeploymentItems = (release: TRelease, chainId: number): TContract[] => {\n const dep = release.deployments.find((d) => d.chainId === chainId) as TDeployment | undefined;\n return getItems(dep);\n };\n\n // Helper to find contract by name in a release\n const findByName = (release: TRelease, chainId: number, name: string): TContract | undefined => {\n return getDeploymentItems(release, chainId).find((c) => c.name === name);\n };\n\n // Helper to find contract by address in a release\n const findByAddress = (\n release: TRelease,\n chainId: number,\n address: string\n ): TContract | undefined => {\n return getDeploymentItems(release, chainId).find(\n (c) => normalizeAddress(c.address) === address\n );\n };\n\n // Helper to check if release contains address on chain\n const releaseHasAddress = (release: TRelease, chainId: number, address: string): boolean => {\n return getDeploymentItems(release, chainId).some(\n (c) => normalizeAddress(c.address) === address\n );\n };\n\n // Helper to search catalog across all protocols\n const searchCatalog = (chainId: number, address: string): TContract | undefined => {\n for (const p of protocols) {\n const contract = getPath<TContract>(catalog, [p, chainId, address]);\n if (contract) {\n return contract;\n }\n }\n return undefined;\n };\n\n // Helper to find contract by address scoped to protocol (with duplicate check)\n const findByAddressInProtocol = (\n protocol: TProtocol,\n chainId: number,\n address: string,\n originalAddress: string\n ): TContract | undefined => {\n const releases = releasesQueries.getAll({ protocol });\n const matches = releases.filter((rel) => releaseHasAddress(rel, chainId, address));\n\n if (matches.length > 1) {\n const versions = matches.map((r) => r.version).join(\", \");\n throw new Error(\n `Sablier SDK: Contract ${originalAddress} exists in multiple releases (${versions}) for \"${protocol}\". ` +\n \"Specify release: { chainId, contractAddress, release }\"\n );\n }\n\n return getPath<TContract>(catalog, [protocol, chainId, address]);\n };\n\n // Helper to filter deployments by chainId and extract contracts\n const filterDeploymentsAndGetItems = (\n deployments: TDeployment[],\n chainId?: number\n ): TContract[] | undefined => {\n const filtered = chainId ? deployments.filter((d) => d.chainId === chainId) : deployments;\n if (chainId && filtered.length === 0) {\n return undefined;\n }\n return filtered.flatMap(getItems);\n };\n\n return {\n /**\n * Get a single contract using the following options:\n *\n * - { chainId, contractName, release }\n * - { chainId, contractAddress, protocol }\n * - { chainId, contractAddress, release }\n * - { chainId, contractAddress, protocol, release }\n *\n * Note: If a contract address exists in multiple releases for the same protocol, you must specify the release.\n */\n get: (opts: {\n chainId: number;\n contractAddress?: string;\n contractName?: string;\n protocol?: TProtocol;\n release?: TRelease;\n }): TContract | undefined => {\n const { chainId, contractAddress, contractName, protocol, release } = opts;\n\n // Validation\n if (contractAddress && contractName) {\n throw new Error(\"Sablier SDK: Cannot specify both contractAddress and contractName\");\n }\n\n // Query by name requires release\n if (contractName) {\n if (!release) {\n throw new Error(\"Sablier SDK: contractName requires release to be specified\");\n }\n return findByName(release, chainId, contractName);\n }\n\n // Query by address\n if (!contractAddress) {\n return undefined;\n }\n\n const address = normalizeAddress(contractAddress);\n\n // Scoped to specific release\n if (release) {\n return findByAddress(release, chainId, address);\n }\n\n // Scoped to protocol - check for duplicates across releases\n if (protocol) {\n return findByAddressInProtocol(protocol, chainId, address, contractAddress);\n }\n\n // Fallback: search all protocols\n return searchCatalog(chainId, address);\n },\n\n /**\n * Get many contracts.\n * - no options ⇒ all\n * - { chainId } ⇒ all for that chain\n * - { protocol } ⇒ all for that protocol\n * - { protocol, chainId } ⇒ all for that protocol and chain\n * - { release } ⇒ all deployments of that release\n * - { release, chainId } ⇒ all for that release and chain\n */\n getAll: (opts?: {\n chainId?: number;\n protocol?: TProtocol;\n release?: TRelease;\n }): TContract[] | undefined => {\n const { protocol, chainId, release } = opts || {};\n\n if (protocol && release) {\n throw new Error(\"Sablier SDK: Cannot specify both protocol and release as query options\");\n }\n\n // by protocol\n if (protocol) {\n const releases = releasesQueries.getAll({ protocol });\n const deployments = releases.flatMap((r) => r.deployments);\n return filterDeploymentsAndGetItems(deployments, chainId);\n }\n\n // by explicit release\n if (release) {\n return filterDeploymentsAndGetItems(release.deployments, chainId);\n }\n\n // by chain id or no filters\n const deployments = releasesQueries.getAll().flatMap((r) => r.deployments);\n return filterDeploymentsAndGetItems(deployments, chainId);\n },\n\n /**\n * Get a contract by its alias.\n * Aliases are version-specific (e.g., LK = Lockup v2.0, LK2 = Lockup v3.0, LK3 = Lockup v4.0).\n *\n * @example\n * contractsQueries.getByAlias({ alias: \"LK2\", chainId: 1 })\n * contractsQueries.getByAlias({ alias: \"FL3\", chainId: 137, protocol: \"flow\" })\n */\n getByAlias: (opts: {\n alias: string;\n chainId: number;\n protocol?: TProtocol;\n }): TContract | undefined => {\n const { alias, chainId, protocol } = opts;\n\n if (!getAliasCatalog) {\n return undefined;\n }\n\n const aliasCatalog = getAliasCatalog();\n if (!aliasCatalog) {\n return undefined;\n }\n\n if (protocol) {\n return getPath<TContract>(aliasCatalog, [protocol, chainId, alias]);\n }\n\n // Search all protocols\n for (const p of protocols) {\n const contract = getPath<TContract>(aliasCatalog, [p, chainId, alias]);\n if (contract) {\n return contract;\n }\n }\n return undefined;\n },\n\n /**\n * Get the latest contract by name for a protocol.\n * - { chainId, contractName, protocol }\n */\n getLatestByName: (opts: {\n chainId: number;\n contractName: string;\n protocol: TProtocol;\n }): TContract | undefined => {\n const { chainId, contractName, protocol } = opts;\n const release = releasesQueries.getLatest({ protocol });\n const dep = release.deployments.find((d) => d.chainId === chainId) as TDeployment | undefined;\n const items = getItems(dep);\n return items.find((c) => c.name === contractName);\n },\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../../src/internal/factories/queries.ts"],"names":[],"mappings":"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","sourcesContent":["import { getPath } from \"@/src/internal/utils/object-path.js\";\n\n/**\n * Factory function to create releases queries with platform-specific configuration.\n * This eliminates code duplication between EVM and Solana implementations.\n */\nexport function createReleasesQueries<\n TProtocol extends string,\n TVersion extends string,\n TRelease extends {\n version: TVersion;\n deployments: Array<{ chainId: number }>;\n isLatest?: boolean;\n },\n>(config: {\n releases: Record<TProtocol, Record<string, TRelease>>;\n ProtocolEnum: Record<string, TProtocol>;\n}) {\n const { releases, ProtocolEnum } = config;\n\n return {\n get: (opts: { protocol: TProtocol; version: TVersion }): TRelease | undefined => {\n const { protocol, version } = opts;\n return getPath<TRelease>(releases, [protocol, version]);\n },\n /**\n * Get all releases for a protocol.\n * - {} ⇒ all releases for all protocols\n * - {protocol} ⇒ all releases for that protocol\n */\n getAll: (opts?: { protocol?: TProtocol }): TRelease[] => {\n const { protocol } = opts || {};\n if (protocol) {\n return Object.values(releases[protocol]) as TRelease[];\n }\n // Recursively get all releases from all protocols in the enum\n return Object.values(ProtocolEnum).flatMap((protocolName) =>\n Object.values(releases[protocolName])\n ) as TRelease[];\n },\n /**\n * Get the first release:\n * - {protocol} ⇒ first overall\n * - {protocol,chainId} ⇒ first on that chain\n */\n getFirst: (opts: { protocol: TProtocol; chainId?: number }): TRelease | undefined => {\n const { protocol, chainId } = opts;\n const list = Object.values(releases[protocol]) as TRelease[];\n\n if (chainId) {\n return list.find((r) => r.deployments.some((d) => d.chainId === chainId));\n }\n\n return list[0];\n },\n /**\n * Get the latest release for a protocol.\n * - {protocol}\n */\n getLatest: (opts: { protocol: TProtocol }): TRelease => {\n const list = Object.values(releases[opts.protocol]) as TRelease[];\n const latest = list.at(-1);\n if (!latest?.isLatest) {\n throw new Error(\n `Sablier SDK: No latest release found for Sablier ${opts.protocol}. Please report on GitHub.`\n );\n }\n return latest;\n },\n };\n}\n\n/**\n * Factory function to create contract queries with platform-specific configuration.\n * This eliminates code duplication between EVM and Solana implementations.\n *\n * @template TProtocol - The protocol type\n * @template TContract - The contract/program type with name and address fields\n * @template TDeployment - The deployment type containing contracts or programs\n * @template TRelease - The release type\n * @template TCatalog - The catalog type for reverse lookups\n * @template TAliasCatalog - The alias catalog type for alias-based lookups\n */\nexport function createContractsQueries<\n TProtocol extends string,\n TContract extends { name: string; address: string; alias?: string },\n TDeployment extends { chainId: number; contracts?: TContract[]; programs?: TContract[] },\n TRelease extends { version: string; deployments: TDeployment[] },\n TCatalog,\n TAliasCatalog = undefined,\n>(config: {\n getAliasCatalog?: () => TAliasCatalog;\n catalog: TCatalog;\n releasesQueries: {\n getAll: (opts?: { protocol?: TProtocol }) => TRelease[];\n getLatest: (opts: { protocol: TProtocol }) => TRelease;\n };\n protocols: TProtocol[];\n normalizeAddress: (address: string) => string;\n /** Field name for contracts (e.g., 'contracts' for EVM, 'programs' for Solana) */\n contractsField: \"contracts\" | \"programs\";\n}) {\n const { getAliasCatalog, catalog, releasesQueries, protocols, normalizeAddress, contractsField } =\n config;\n\n // Helper to safely get contracts/programs from deployment\n const getItems = (deployment: TDeployment | undefined): TContract[] => {\n if (!deployment) {\n return [];\n }\n return (deployment[contractsField] as TContract[]) || [];\n };\n\n // Helper to find deployment by chainId and get its contracts\n const getDeploymentItems = (release: TRelease, chainId: number): TContract[] => {\n const dep = release.deployments.find((d) => d.chainId === chainId) as TDeployment | undefined;\n return getItems(dep);\n };\n\n // Helper to find contract by name in a release\n const findByName = (release: TRelease, chainId: number, name: string): TContract | undefined => {\n return getDeploymentItems(release, chainId).find((c) => c.name === name);\n };\n\n // Helper to find contract by address in a release\n const findByAddress = (\n release: TRelease,\n chainId: number,\n address: string\n ): TContract | undefined => {\n return getDeploymentItems(release, chainId).find(\n (c) => normalizeAddress(c.address) === address\n );\n };\n\n // Helper to check if release contains address on chain\n const releaseHasAddress = (release: TRelease, chainId: number, address: string): boolean => {\n return getDeploymentItems(release, chainId).some(\n (c) => normalizeAddress(c.address) === address\n );\n };\n\n // Helper to search catalog across all protocols\n const searchCatalog = (chainId: number, address: string): TContract | undefined => {\n for (const p of protocols) {\n const contract = getPath<TContract>(catalog, [p, chainId, address]);\n if (contract) {\n return contract;\n }\n }\n return undefined;\n };\n\n // Helper to find contract by address scoped to protocol (with duplicate check)\n const findByAddressInProtocol = (\n protocol: TProtocol,\n chainId: number,\n address: string,\n originalAddress: string\n ): TContract | undefined => {\n const releases = releasesQueries.getAll({ protocol });\n const matches = releases.filter((rel) => releaseHasAddress(rel, chainId, address));\n\n if (matches.length > 1) {\n const versions = matches.map((r) => r.version).join(\", \");\n throw new Error(\n `Sablier SDK: Contract ${originalAddress} exists in multiple releases (${versions}) for \"${protocol}\". ` +\n \"Specify release: { chainId, contractAddress, release }\"\n );\n }\n\n return getPath<TContract>(catalog, [protocol, chainId, address]);\n };\n\n // Helper to filter deployments by chainId and extract contracts\n const filterDeploymentsAndGetItems = (\n deployments: TDeployment[],\n chainId?: number\n ): TContract[] | undefined => {\n const filtered = chainId ? deployments.filter((d) => d.chainId === chainId) : deployments;\n if (chainId && filtered.length === 0) {\n return undefined;\n }\n return filtered.flatMap(getItems);\n };\n\n return {\n /**\n * Get a single contract using the following options:\n *\n * - { chainId, contractName, release }\n * - { chainId, contractAddress, protocol }\n * - { chainId, contractAddress, release }\n * - { chainId, contractAddress, protocol, release }\n *\n * Note: If a contract address exists in multiple releases for the same protocol, you must specify the release.\n */\n get: (opts: {\n chainId: number;\n contractAddress?: string;\n contractName?: string;\n protocol?: TProtocol;\n release?: TRelease;\n }): TContract | undefined => {\n const { chainId, contractAddress, contractName, protocol, release } = opts;\n\n // Validation\n if (contractAddress && contractName) {\n throw new Error(\"Sablier SDK: Cannot specify both contractAddress and contractName\");\n }\n\n // Query by name requires release\n if (contractName) {\n if (!release) {\n throw new Error(\"Sablier SDK: contractName requires release to be specified\");\n }\n return findByName(release, chainId, contractName);\n }\n\n // Query by address\n if (!contractAddress) {\n return undefined;\n }\n\n const address = normalizeAddress(contractAddress);\n\n // Scoped to specific release\n if (release) {\n return findByAddress(release, chainId, address);\n }\n\n // Scoped to protocol - check for duplicates across releases\n if (protocol) {\n return findByAddressInProtocol(protocol, chainId, address, contractAddress);\n }\n\n // Fallback: search all protocols\n return searchCatalog(chainId, address);\n },\n\n /**\n * Get many contracts.\n * - no options ⇒ all\n * - { chainId } ⇒ all for that chain\n * - { protocol } ⇒ all for that protocol\n * - { protocol, chainId } ⇒ all for that protocol and chain\n * - { release } ⇒ all deployments of that release\n * - { release, chainId } ⇒ all for that release and chain\n */\n getAll: (opts?: {\n chainId?: number;\n protocol?: TProtocol;\n release?: TRelease;\n }): TContract[] | undefined => {\n const { protocol, chainId, release } = opts || {};\n\n if (protocol && release) {\n throw new Error(\"Sablier SDK: Cannot specify both protocol and release as query options\");\n }\n\n // by protocol\n if (protocol) {\n const releases = releasesQueries.getAll({ protocol });\n const deployments = releases.flatMap((r) => r.deployments);\n return filterDeploymentsAndGetItems(deployments, chainId);\n }\n\n // by explicit release\n if (release) {\n return filterDeploymentsAndGetItems(release.deployments, chainId);\n }\n\n // by chain id or no filters\n const deployments = releasesQueries.getAll().flatMap((r) => r.deployments);\n return filterDeploymentsAndGetItems(deployments, chainId);\n },\n\n /**\n * Get a contract by its alias.\n * Aliases are version-specific (e.g., LK = Lockup v2.0, LK2 = Lockup v3.0, LK3 = Lockup v4.0).\n *\n * @example\n * contractsQueries.getByAlias({ alias: \"LK2\", chainId: 1 })\n * contractsQueries.getByAlias({ alias: \"FL3\", chainId: 137, protocol: \"flow\" })\n */\n getByAlias: (opts: {\n alias: string;\n chainId: number;\n protocol?: TProtocol;\n }): TContract | undefined => {\n const { alias, chainId, protocol } = opts;\n\n if (!getAliasCatalog) {\n return undefined;\n }\n\n const aliasCatalog = getAliasCatalog();\n if (!aliasCatalog) {\n return undefined;\n }\n\n if (protocol) {\n return getPath<TContract>(aliasCatalog, [protocol, chainId, alias]);\n }\n\n // Search all protocols\n for (const p of protocols) {\n const contract = getPath<TContract>(aliasCatalog, [p, chainId, alias]);\n if (contract) {\n return contract;\n }\n }\n return undefined;\n },\n\n /**\n * Get the latest contract by name for a protocol.\n * - { chainId, contractName, protocol }\n */\n getLatestByName: (opts: {\n chainId: number;\n contractName: string;\n protocol: TProtocol;\n }): TContract | undefined => {\n const { chainId, contractName, protocol } = opts;\n const release = releasesQueries.getLatest({ protocol });\n const dep = release.deployments.find((d) => d.chainId === chainId) as TDeployment | undefined;\n const items = getItems(dep);\n return items.find((c) => c.name === contractName);\n },\n };\n}\n"]}
|
|
@@ -5,6 +5,12 @@ exports.CHAIN_ID_SOLANA_MAINNET_BETA = 900_000_010;
|
|
|
5
5
|
exports.CHAIN_ID_SOLANA_DEVNET = 900_000_020;
|
|
6
6
|
exports.SOLANA_CHAIN_IDS = new Set([exports.CHAIN_ID_SOLANA_MAINNET_BETA, exports.CHAIN_ID_SOLANA_DEVNET]);
|
|
7
7
|
exports.solanaDevnet = {
|
|
8
|
+
contracts: {},
|
|
9
|
+
id: exports.CHAIN_ID_SOLANA_DEVNET,
|
|
10
|
+
isSupportedByUI: true,
|
|
11
|
+
isTestnet: true,
|
|
12
|
+
name: "Devnet",
|
|
13
|
+
slug: "solana-devnet",
|
|
8
14
|
blockExplorers: {
|
|
9
15
|
default: { name: "Orb", url: "https://orb.helius.dev?cluster=devnet" },
|
|
10
16
|
solanaFm: { name: "Solana FM", url: "https://solana.fm?cluster=devnet-alpha" },
|
|
@@ -14,16 +20,11 @@ exports.solanaDevnet = {
|
|
|
14
20
|
feed: "99B2bTijsU6f1GCT73HmdR7HCFFjGMBcPZY6jZ96ynrR",
|
|
15
21
|
program: "HEvSKofvBgfaexv23kMabbYqxasxU3mQ4ibBMEmJWHny",
|
|
16
22
|
},
|
|
17
|
-
contracts: {},
|
|
18
23
|
definition: {
|
|
19
24
|
chainCode: "SOLDEV",
|
|
20
25
|
chainId: exports.CHAIN_ID_SOLANA_DEVNET,
|
|
21
26
|
cluster: "devnet",
|
|
22
27
|
},
|
|
23
|
-
id: exports.CHAIN_ID_SOLANA_DEVNET,
|
|
24
|
-
isSupportedByUI: true,
|
|
25
|
-
isTestnet: true,
|
|
26
|
-
name: "Devnet",
|
|
27
28
|
nativeCurrency: {
|
|
28
29
|
coinGeckoId: "solana",
|
|
29
30
|
decimals: 9,
|
|
@@ -39,9 +40,15 @@ exports.solanaDevnet = {
|
|
|
39
40
|
http: ["https://api.devnet-beta.solana.com/"],
|
|
40
41
|
},
|
|
41
42
|
},
|
|
42
|
-
slug: "solana-devnet",
|
|
43
43
|
};
|
|
44
44
|
exports.solanaMainnetBeta = {
|
|
45
|
+
coinGeckoPlatformId: "solana",
|
|
46
|
+
contracts: {},
|
|
47
|
+
id: exports.CHAIN_ID_SOLANA_MAINNET_BETA,
|
|
48
|
+
isSupportedByUI: true,
|
|
49
|
+
isTestnet: false,
|
|
50
|
+
name: "Solana",
|
|
51
|
+
slug: "solana-mainnet-beta",
|
|
45
52
|
blockExplorers: {
|
|
46
53
|
default: { name: "Orb", url: "https://orb.helius.dev" },
|
|
47
54
|
solanaFm: { name: "Solana FM", url: "https://solana.fm" },
|
|
@@ -51,17 +58,11 @@ exports.solanaMainnetBeta = {
|
|
|
51
58
|
feed: "99B2bTijsU6f1GCT73HmdR7HCFFjGMBcPZY6jZ96ynrR",
|
|
52
59
|
program: "HEvSKofvBgfaexv23kMabbYqxasxU3mQ4ibBMEmJWHny",
|
|
53
60
|
},
|
|
54
|
-
coinGeckoPlatformId: "solana",
|
|
55
|
-
contracts: {},
|
|
56
61
|
definition: {
|
|
57
62
|
chainCode: "SOL",
|
|
58
63
|
chainId: exports.CHAIN_ID_SOLANA_MAINNET_BETA,
|
|
59
64
|
cluster: "mainnet-beta",
|
|
60
65
|
},
|
|
61
|
-
id: exports.CHAIN_ID_SOLANA_MAINNET_BETA,
|
|
62
|
-
isSupportedByUI: true,
|
|
63
|
-
isTestnet: false,
|
|
64
|
-
name: "Solana",
|
|
65
66
|
nativeCurrency: {
|
|
66
67
|
coinGeckoId: "solana",
|
|
67
68
|
decimals: 9,
|
|
@@ -77,6 +78,5 @@ exports.solanaMainnetBeta = {
|
|
|
77
78
|
http: ["https://api.mainnet-beta.solana.com/"],
|
|
78
79
|
},
|
|
79
80
|
},
|
|
80
|
-
slug: "solana-mainnet-beta",
|
|
81
81
|
};
|
|
82
82
|
//# sourceMappingURL=chains.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chains.js","sourceRoot":"","sources":["../../../../src/solana/chains/chains.ts"],"names":[],"mappings":";;;AAKa,QAAA,4BAA4B,GAAG,WAAW,CAAC;AAC3C,QAAA,sBAAsB,GAAG,WAAW,CAAC;AAErC,QAAA,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,oCAA4B,EAAE,8BAAsB,CAAC,CAAC,CAAC;AAEnF,QAAA,YAAY,GAAyB;IAChD,cAAc,EAAE;QACd,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,uCAAuC,EAAE;QACtE,QAAQ,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,wCAAwC,EAAE;QAC9E,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,mCAAmC,EAAE;KACvE;IACD,SAAS,EAAE;QACT,IAAI,EAAE,8CAA8C;QACpD,OAAO,EAAE,8CAA8C;KACxD;IACD,
|
|
1
|
+
{"version":3,"file":"chains.js","sourceRoot":"","sources":["../../../../src/solana/chains/chains.ts"],"names":[],"mappings":";;;AAKa,QAAA,4BAA4B,GAAG,WAAW,CAAC;AAC3C,QAAA,sBAAsB,GAAG,WAAW,CAAC;AAErC,QAAA,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,oCAA4B,EAAE,8BAAsB,CAAC,CAAC,CAAC;AAEnF,QAAA,YAAY,GAAyB;IAChD,SAAS,EAAE,EAAE;IACb,EAAE,EAAE,8BAAsB;IAC1B,eAAe,EAAE,IAAI;IACrB,SAAS,EAAE,IAAI;IACf,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,eAAe;IACrB,cAAc,EAAE;QACd,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,uCAAuC,EAAE;QACtE,QAAQ,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,wCAAwC,EAAE;QAC9E,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,mCAAmC,EAAE;KACvE;IACD,SAAS,EAAE;QACT,IAAI,EAAE,8CAA8C;QACpD,OAAO,EAAE,8CAA8C;KACxD;IACD,UAAU,EAAE;QACV,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,8BAAsB;QAC/B,OAAO,EAAE,QAAQ;KAClB;IACD,cAAc,EAAE;QACd,WAAW,EAAE,QAAQ;QACrB,QAAQ,EAAE,CAAC;QACX,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,KAAK;KACd;IACD,GAAG,EAAE;QACH,QAAQ,EAAE,CAAC,qCAAqC,CAAC;QACjD,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,0CAA0C,GAAG,EAAE;KACjE;IACD,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,CAAC,qCAAqC,CAAC;SAC9C;KACF;CACO,CAAC;AAEE,QAAA,iBAAiB,GAAyB;IACrD,mBAAmB,EAAE,QAAQ;IAC7B,SAAS,EAAE,EAAE;IACb,EAAE,EAAE,oCAA4B;IAChC,eAAe,EAAE,IAAI;IACrB,SAAS,EAAE,KAAK;IAChB,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,qBAAqB;IAC3B,cAAc,EAAE;QACd,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,wBAAwB,EAAE;QACvD,QAAQ,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,mBAAmB,EAAE;QACzD,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,oBAAoB,EAAE;KACxD;IACD,SAAS,EAAE;QACT,IAAI,EAAE,8CAA8C;QACpD,OAAO,EAAE,8CAA8C;KACxD;IACD,UAAU,EAAE;QACV,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,oCAA4B;QACrC,OAAO,EAAE,cAAc;KACxB;IACD,cAAc,EAAE;QACd,WAAW,EAAE,QAAQ;QACrB,QAAQ,EAAE,CAAC;QACX,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,KAAK;KACd;IACD,GAAG,EAAE;QACH,QAAQ,EAAE,CAAC,sCAAsC,CAAC;QAClD,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,2CAA2C,GAAG,EAAE;KAClE;IACD,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,CAAC,sCAAsC,CAAC;SAC/C;KACF;CACO,CAAC","sourcesContent":["import type { Sablier } from \"@/src/types.js\";\n\n/**\n * Solana does not have chain IDs. These are made-up numbers so that we can use the same type for EVM and Solana chains.\n */\nexport const CHAIN_ID_SOLANA_MAINNET_BETA = 900_000_010;\nexport const CHAIN_ID_SOLANA_DEVNET = 900_000_020;\n\nexport const SOLANA_CHAIN_IDS = new Set([CHAIN_ID_SOLANA_MAINNET_BETA, CHAIN_ID_SOLANA_DEVNET]);\n\nexport const solanaDevnet: Sablier.Solana.Chain = {\n contracts: {},\n id: CHAIN_ID_SOLANA_DEVNET,\n isSupportedByUI: true,\n isTestnet: true,\n name: \"Devnet\",\n slug: \"solana-devnet\",\n blockExplorers: {\n default: { name: \"Orb\", url: \"https://orb.helius.dev?cluster=devnet\" },\n solanaFm: { name: \"Solana FM\", url: \"https://solana.fm?cluster=devnet-alpha\" },\n solscan: { name: \"Solscan\", url: \"https://solscan.io?cluster=devnet\" },\n },\n chainlink: {\n feed: \"99B2bTijsU6f1GCT73HmdR7HCFFjGMBcPZY6jZ96ynrR\",\n program: \"HEvSKofvBgfaexv23kMabbYqxasxU3mQ4ibBMEmJWHny\",\n },\n definition: {\n chainCode: \"SOLDEV\",\n chainId: CHAIN_ID_SOLANA_DEVNET,\n cluster: \"devnet\",\n },\n nativeCurrency: {\n coinGeckoId: \"solana\",\n decimals: 9,\n name: \"Solana\",\n symbol: \"SOL\",\n },\n rpc: {\n defaults: [\"https://api.devnet-beta.solana.com/\"],\n helius: (key) => `https://devnet.helius-rpc.com/?api-key=${key}`,\n },\n rpcUrls: {\n default: {\n http: [\"https://api.devnet-beta.solana.com/\"],\n },\n },\n} as const;\n\nexport const solanaMainnetBeta: Sablier.Solana.Chain = {\n coinGeckoPlatformId: \"solana\",\n contracts: {},\n id: CHAIN_ID_SOLANA_MAINNET_BETA,\n isSupportedByUI: true,\n isTestnet: false,\n name: \"Solana\",\n slug: \"solana-mainnet-beta\",\n blockExplorers: {\n default: { name: \"Orb\", url: \"https://orb.helius.dev\" },\n solanaFm: { name: \"Solana FM\", url: \"https://solana.fm\" },\n solscan: { name: \"Solscan\", url: \"https://solscan.io\" },\n },\n chainlink: {\n feed: \"99B2bTijsU6f1GCT73HmdR7HCFFjGMBcPZY6jZ96ynrR\",\n program: \"HEvSKofvBgfaexv23kMabbYqxasxU3mQ4ibBMEmJWHny\",\n },\n definition: {\n chainCode: \"SOL\",\n chainId: CHAIN_ID_SOLANA_MAINNET_BETA,\n cluster: \"mainnet-beta\",\n },\n nativeCurrency: {\n coinGeckoId: \"solana\",\n decimals: 9,\n name: \"Solana\",\n symbol: \"SOL\",\n },\n rpc: {\n defaults: [\"https://api.mainnet-beta.solana.com/\"],\n helius: (key) => `https://mainnet.helius-rpc.com/?api-key=${key}`,\n },\n rpcUrls: {\n default: {\n http: [\"https://api.mainnet-beta.solana.com/\"],\n },\n },\n} as const;\n"]}
|
|
@@ -10,8 +10,8 @@ exports.programsQueries = (0, queries_js_1.createContractsQueries)({
|
|
|
10
10
|
catalog: catalog_js_1.catalog,
|
|
11
11
|
contractsField: "programs",
|
|
12
12
|
getAliasCatalog: alias_catalog_js_1.getAliasCatalog,
|
|
13
|
-
normalizeAddress: (address) => address,
|
|
14
13
|
protocols: [enums_js_1.Protocol.Airdrops, enums_js_1.Protocol.Lockup],
|
|
14
|
+
normalizeAddress: (address) => address,
|
|
15
15
|
releasesQueries: queries_js_2.releasesQueries,
|
|
16
16
|
});
|
|
17
17
|
//# sourceMappingURL=queries.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../../src/solana/programs/queries.ts"],"names":[],"mappings":";;;AAAA,oEAA6E;AAC7E,oDAAiD;AACjD,iEAAmE;AAEnE,yDAAqD;AACrD,6CAAuC;AAE1B,QAAA,eAAe,GAAG,IAAA,mCAAsB,EAOnD;IACA,OAAO,EAAP,oBAAO;IACP,cAAc,EAAE,UAAU;IAC1B,eAAe,EAAf,kCAAe;IACf,
|
|
1
|
+
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../../src/solana/programs/queries.ts"],"names":[],"mappings":";;;AAAA,oEAA6E;AAC7E,oDAAiD;AACjD,iEAAmE;AAEnE,yDAAqD;AACrD,6CAAuC;AAE1B,QAAA,eAAe,GAAG,IAAA,mCAAsB,EAOnD;IACA,OAAO,EAAP,oBAAO;IACP,cAAc,EAAE,UAAU;IAC1B,eAAe,EAAf,kCAAe;IACf,SAAS,EAAE,CAAC,mBAAQ,CAAC,QAAQ,EAAE,mBAAQ,CAAC,MAAM,CAAC;IAC/C,gBAAgB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO;IACtC,eAAe,EAAf,4BAAe;CAChB,CAAC,CAAC","sourcesContent":["import { createContractsQueries } from \"@/src/internal/factories/queries.js\";\nimport { Protocol } from \"@/src/solana/enums.js\";\nimport { releasesQueries } from \"@/src/solana/releases/queries.js\";\nimport type { Sablier } from \"@/src/types.js\";\nimport { getAliasCatalog } from \"./alias-catalog.js\";\nimport { catalog } from \"./catalog.js\";\n\nexport const programsQueries = createContractsQueries<\n Sablier.Solana.Protocol,\n Sablier.Solana.Program,\n Sablier.Solana.Deployment,\n Sablier.Solana.Release,\n Sablier.Solana.ProgramCatalog,\n Sablier.Solana.AliasCatalog\n>({\n catalog,\n contractsField: \"programs\",\n getAliasCatalog,\n protocols: [Protocol.Airdrops, Protocol.Lockup],\n normalizeAddress: (address) => address, // Solana addresses are case-sensitive\n releasesQueries,\n});\n"]}
|
|
@@ -39,6 +39,7 @@ const buildChain = (key, spec) => {
|
|
|
39
39
|
isTestnet,
|
|
40
40
|
isZK: Boolean(spec.meta.isZk),
|
|
41
41
|
name: spec.meta.name ?? chain.name,
|
|
42
|
+
slug: spec.meta.slug ?? key,
|
|
42
43
|
nativeCurrency: {
|
|
43
44
|
...chain.nativeCurrency,
|
|
44
45
|
coinGeckoId: spec.nativeCurrency.coinGeckoId,
|
|
@@ -50,7 +51,6 @@ const buildChain = (key, spec) => {
|
|
|
50
51
|
infura: infuraNetwork ? (apiKey) => infuraUrl(infuraNetwork, apiKey) : undefined,
|
|
51
52
|
routemesh: routemeshEnabled ? (apiKey) => routemeshUrl(chain.id, apiKey) : undefined,
|
|
52
53
|
},
|
|
53
|
-
slug: spec.meta.slug ?? key,
|
|
54
54
|
};
|
|
55
55
|
};
|
|
56
56
|
export const buildChains = (specs) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../../src/evm/chains/builder.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../../src/evm/chains/builder.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Chain as ViemChain } from \"viem\";\nimport { defineChain as viemDefine } from \"viem\";\nimport type { Sablier } from \"@/src/types.js\";\nimport { alchemyUrl, infuraUrl, routemeshUrl } from \"./providers.js\";\n\nexport type ChainSpec = {\n base: ViemChain;\n meta: {\n // Optional display overrides and metadata specific to Sablier.\n coinGeckoPlatformId?: string;\n name?: string;\n isZk?: boolean;\n ui?: \"SUPPORTED\" | \"NOT_SUPPORTED\";\n slug?: string;\n };\n nativeCurrency: {\n // CoinGecko API ID for price lookups.\n coinGeckoId: string;\n // Wrapper contract for native token (if applicable).\n wrapperContract?: string;\n };\n rpc?: {\n alchemy?: string;\n infura?: string;\n routemesh?: boolean;\n };\n overrides?: Partial<ViemChain>;\n};\n\n/**\n * Merge a base viem chain with overrides while preserving core structure.\n *\n * We use `viemDefine` to keep any derived properties consistent with viem's\n * expected shape, while also allowing us to override partial fields like\n * block explorers or RPC URLs without losing the base chain data.\n */\nconst mergeChain = (base: ViemChain, overrides?: Partial<ViemChain>): ViemChain => {\n if (!overrides) {\n return base;\n }\n\n // Shallow merge: nested objects like blockExplorers are replaced, not deep-merged.\n // viemDefine normalizes the chain object and preserves derived fields.\n return viemDefine({\n ...base,\n ...overrides,\n blockExplorers: overrides.blockExplorers ?? base.blockExplorers,\n contracts: overrides.contracts ?? base.contracts,\n nativeCurrency: overrides.nativeCurrency ?? base.nativeCurrency,\n rpcUrls: overrides.rpcUrls ?? base.rpcUrls,\n });\n};\n\n/**\n * Build a Sablier chain from a spec, enforcing required metadata invariants.\n *\n * This centralizes validation (e.g. CoinGecko id presence), derives UI support\n * defaults, and wires provider RPC generators so the spec table can stay lean.\n */\nconst buildChain = (key: string, spec: ChainSpec): Sablier.EVM.Chain => {\n const chain = mergeChain(spec.base, spec.overrides);\n\n // Ensure viem-provided fields we rely on are present.\n if (!chain.blockExplorers) {\n throw new Error(`Chain ${chain.name} has no block explorers`);\n }\n\n const defaultRPCs = chain.rpcUrls.default.http;\n if (!defaultRPCs) {\n throw new Error(`Chain ${chain.name} has no default RPC`);\n }\n\n // CoinGecko id is required for pricing across the SDK.\n if (!spec.nativeCurrency.coinGeckoId) {\n throw new Error(`Chain ${chain.name} has no coinGecko ID`);\n }\n\n const alchemyNetwork = spec.rpc?.alchemy;\n const infuraNetwork = spec.rpc?.infura;\n const routemeshEnabled = spec.rpc?.routemesh !== false;\n\n // UI support is opt-in for testnets. Mainnets are supported by default unless flagged.\n const isTestnet = Boolean(chain.testnet);\n const uiOverride = spec.meta.ui;\n const isSupportedByUI = uiOverride ? uiOverride === \"SUPPORTED\" : !isTestnet;\n\n return {\n ...chain,\n blockExplorers: chain.blockExplorers,\n coinGeckoPlatformId: spec.meta.coinGeckoPlatformId,\n isSupportedByUI,\n isTestnet,\n isZK: Boolean(spec.meta.isZk),\n name: spec.meta.name ?? chain.name,\n slug: spec.meta.slug ?? key,\n nativeCurrency: {\n ...chain.nativeCurrency,\n coinGeckoId: spec.nativeCurrency.coinGeckoId,\n wrapperContract: spec.nativeCurrency.wrapperContract,\n },\n rpc: {\n // Provider URLs are generated from network slugs to avoid duplication.\n alchemy: alchemyNetwork ? (apiKey) => alchemyUrl(alchemyNetwork, apiKey) : undefined,\n defaults: defaultRPCs as string[],\n infura: infuraNetwork ? (apiKey) => infuraUrl(infuraNetwork, apiKey) : undefined,\n routemesh: routemeshEnabled ? (apiKey) => routemeshUrl(chain.id, apiKey) : undefined,\n },\n };\n};\n\n/**\n * Build the full chain registry from the specs object.\n *\n * We intentionally derive the registry from a single spec source so the type,\n * metadata, and provider configuration are assembled in one pass. This keeps\n * exports consistent and makes it hard to forget required metadata when a new\n * chain is added.\n */\nexport const buildChains = <T extends Record<string, ChainSpec>>(\n specs: T\n): { [K in keyof T]: Sablier.EVM.Chain } => {\n const entries = Object.entries(specs).map(([key, spec]) => [key, buildChain(key, spec)]);\n\n return Object.fromEntries(entries) as { [K in keyof T]: Sablier.EVM.Chain };\n};\n"]}
|
|
@@ -2,5 +2,5 @@ import { buildChains } from "./builder.js";
|
|
|
2
2
|
import { chainSpecs } from "./specs.js";
|
|
3
3
|
const chains = buildChains(chainSpecs);
|
|
4
4
|
export const { abstract, arbitrum, arbitrumSepolia, avalanche, base, baseSepolia, berachain, blast, bsc, coreDao, gnosis, hyperevm, lightlink, linea, lineaSepolia, mainnet, mode, morph, optimism, optimismSepolia, polygon, ronin, scroll, sepolia, sonic, superseed, superseedSepolia, taiko, unichain, xdc, } = chains;
|
|
5
|
-
export const { chiliz, denergy, monad, sei, sophon, tangle, zksync, zksyncSepolia } = chains;
|
|
5
|
+
export const { battlechainTestnet, chiliz, denergy, monad, sei, sophon, tangle, zksync, zksyncSepolia, } = chains;
|
|
6
6
|
//# sourceMappingURL=chains.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chains.js","sourceRoot":"","sources":["../../../../src/evm/chains/chains.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;AAMvC,MAAM,CAAC,MAAM,EACX,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,SAAS,EACT,IAAI,EACJ,WAAW,EACX,SAAS,EACT,KAAK,EAEL,GAAG,EACH,OAAO,EACP,MAAM,EACN,QAAQ,EACR,SAAS,EACT,KAAK,EACL,YAAY,EACZ,OAAO,EACP,IAAI,EAEJ,KAAK,EACL,QAAQ,EACR,eAAe,EACf,OAAO,EACP,KAAK,EACL,MAAM,EACN,OAAO,EACP,KAAK,EACL,SAAS,EACT,gBAAgB,EAChB,KAAK,EACL,QAAQ,EACR,GAAG,GACJ,GAAG,MAAM,CAAC;AAMX,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"chains.js","sourceRoot":"","sources":["../../../../src/evm/chains/chains.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;AAMvC,MAAM,CAAC,MAAM,EACX,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,SAAS,EACT,IAAI,EACJ,WAAW,EACX,SAAS,EACT,KAAK,EAEL,GAAG,EACH,OAAO,EACP,MAAM,EACN,QAAQ,EACR,SAAS,EACT,KAAK,EACL,YAAY,EACZ,OAAO,EACP,IAAI,EAEJ,KAAK,EACL,QAAQ,EACR,eAAe,EACf,OAAO,EACP,KAAK,EACL,MAAM,EACN,OAAO,EACP,KAAK,EACL,SAAS,EACT,gBAAgB,EAChB,KAAK,EACL,QAAQ,EACR,GAAG,GACJ,GAAG,MAAM,CAAC;AAMX,MAAM,CAAC,MAAM,EACX,kBAAkB,EAClB,MAAM,EACN,OAAO,EACP,KAAK,EACL,GAAG,EACH,MAAM,EACN,MAAM,EACN,MAAM,EACN,aAAa,GACd,GAAG,MAAM,CAAC","sourcesContent":["import { buildChains } from \"./builder.js\";\nimport { chainSpecs } from \"./specs.js\";\n\nconst chains = buildChains(chainSpecs);\n\n/* -------------------------------------------------------------------------- */\n/* NORMAL DEFINITIONS */\n/* -------------------------------------------------------------------------- */\n\nexport const {\n abstract,\n arbitrum,\n arbitrumSepolia,\n avalanche,\n base,\n baseSepolia,\n berachain,\n blast,\n\n bsc,\n coreDao,\n gnosis,\n hyperevm,\n lightlink,\n linea,\n lineaSepolia,\n mainnet,\n mode,\n\n morph,\n optimism,\n optimismSepolia,\n polygon,\n ronin,\n scroll,\n sepolia,\n sonic,\n superseed,\n superseedSepolia,\n taiko,\n unichain,\n xdc,\n} = chains;\n\n/* -------------------------------------------------------------------------- */\n/* CUSTOM DEFINITIONS */\n/* -------------------------------------------------------------------------- */\n\nexport const {\n battlechainTestnet,\n chiliz,\n denergy,\n monad,\n sei,\n sophon,\n tangle,\n zksync,\n zksyncSepolia,\n} = chains;\n"]}
|
|
@@ -3,11 +3,12 @@ const DENERGY_CHAIN_ID = 369_369;
|
|
|
3
3
|
const DENERGY_NATIVE_CURRENCY_SYMBOL = "WATT";
|
|
4
4
|
const TANGLE_NATIVE_CURRENCY_SYMBOL = "TNT";
|
|
5
5
|
export const denergy = viemDefine({
|
|
6
|
+
id: DENERGY_CHAIN_ID,
|
|
7
|
+
name: "Denergy",
|
|
8
|
+
testnet: false,
|
|
6
9
|
blockExplorers: {
|
|
7
10
|
default: { name: "Explorer", url: "https://explorer.denergychain.com" },
|
|
8
11
|
},
|
|
9
|
-
id: DENERGY_CHAIN_ID,
|
|
10
|
-
name: "Denergy",
|
|
11
12
|
nativeCurrency: {
|
|
12
13
|
decimals: 18,
|
|
13
14
|
name: "Watt",
|
|
@@ -18,9 +19,11 @@ export const denergy = viemDefine({
|
|
|
18
19
|
http: ["https://rpc.d.energy"],
|
|
19
20
|
},
|
|
20
21
|
},
|
|
21
|
-
testnet: false,
|
|
22
22
|
});
|
|
23
23
|
export const tangle = viemDefine({
|
|
24
|
+
id: 5845,
|
|
25
|
+
name: "Tangle",
|
|
26
|
+
testnet: false,
|
|
24
27
|
blockExplorers: {
|
|
25
28
|
default: { name: "Explorer", url: "https://explorer.tangle.tools" },
|
|
26
29
|
},
|
|
@@ -30,8 +33,6 @@ export const tangle = viemDefine({
|
|
|
30
33
|
blockCreated: 2_790_914,
|
|
31
34
|
},
|
|
32
35
|
},
|
|
33
|
-
id: 5845,
|
|
34
|
-
name: "Tangle",
|
|
35
36
|
nativeCurrency: {
|
|
36
37
|
decimals: 18,
|
|
37
38
|
name: "Tangle",
|
|
@@ -42,6 +43,5 @@ export const tangle = viemDefine({
|
|
|
42
43
|
http: ["https://rpc.tangle.tools"],
|
|
43
44
|
},
|
|
44
45
|
},
|
|
45
|
-
testnet: false,
|
|
46
46
|
});
|
|
47
47
|
//# sourceMappingURL=custom.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom.js","sourceRoot":"","sources":["../../../../src/evm/chains/custom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,UAAU,EAAE,MAAM,MAAM,CAAC;AAEjD,MAAM,gBAAgB,GAAG,OAAO,CAAC;AACjC,MAAM,8BAA8B,GAAG,MAAM,CAAC;AAC9C,MAAM,6BAA6B,GAAG,KAAK,CAAC;AAE5C,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAAC;IAChC,cAAc,EAAE;QACd,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,mCAAmC,EAAE;KACxE;IACD,
|
|
1
|
+
{"version":3,"file":"custom.js","sourceRoot":"","sources":["../../../../src/evm/chains/custom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,UAAU,EAAE,MAAM,MAAM,CAAC;AAEjD,MAAM,gBAAgB,GAAG,OAAO,CAAC;AACjC,MAAM,8BAA8B,GAAG,MAAM,CAAC;AAC9C,MAAM,6BAA6B,GAAG,KAAK,CAAC;AAE5C,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAAC;IAChC,EAAE,EAAE,gBAAgB;IACpB,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,KAAK;IACd,cAAc,EAAE;QACd,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,mCAAmC,EAAE;KACxE;IACD,cAAc,EAAE;QACd,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,8BAA8B;KACvC;IACD,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,CAAC,sBAAsB,CAAC;SAC/B;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAAC;IAC/B,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,KAAK;IACd,cAAc,EAAE;QACd,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,+BAA+B,EAAE;KACpE;IACD,SAAS,EAAE;QACT,UAAU,EAAE;YACV,OAAO,EAAE,4CAA4C;YACrD,YAAY,EAAE,SAAS;SACxB;KACF;IACD,cAAc,EAAE;QACd,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,6BAA6B;KACtC;IACD,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,CAAC,0BAA0B,CAAC;SACnC;KACF;CACF,CAAC,CAAC","sourcesContent":["import { defineChain as viemDefine } from \"viem\";\n\nconst DENERGY_CHAIN_ID = 369_369;\nconst DENERGY_NATIVE_CURRENCY_SYMBOL = \"WATT\";\nconst TANGLE_NATIVE_CURRENCY_SYMBOL = \"TNT\";\n\nexport const denergy = viemDefine({\n id: DENERGY_CHAIN_ID,\n name: \"Denergy\",\n testnet: false,\n blockExplorers: {\n default: { name: \"Explorer\", url: \"https://explorer.denergychain.com\" },\n },\n nativeCurrency: {\n decimals: 18,\n name: \"Watt\",\n symbol: DENERGY_NATIVE_CURRENCY_SYMBOL,\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.d.energy\"],\n },\n },\n});\n\nexport const tangle = viemDefine({\n id: 5845,\n name: \"Tangle\",\n testnet: false,\n blockExplorers: {\n default: { name: \"Explorer\", url: \"https://explorer.tangle.tools\" },\n },\n contracts: {\n multicall3: {\n address: \"0xd595D34ed96b253E7c7a934a7624F330a8411953\",\n blockCreated: 2_790_914,\n },\n },\n nativeCurrency: {\n decimals: 18,\n name: \"Tangle\",\n symbol: TANGLE_NATIVE_CURRENCY_SYMBOL,\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.tangle.tools\"],\n },\n },\n});\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { abstract as _abstract, arbitrum as _arbitrum, arbitrumSepolia as _arbitrumSepolia, avalanche as _avalanche, base as _base, baseSepolia as _baseSepolia, berachain as _berachain, blast as _blast, bsc as _bsc, chiliz as _chiliz, coreDao as _coreDao, gnosis as _gnosis, hyperEvm as _hyperEvm, lightlinkPhoenix as _lightlinkPhoenix, linea as _linea, lineaSepolia as _lineaSepolia, mainnet as _mainnet, mode as _mode, monad as _monad, morph as _morph, optimism as _optimism, optimismSepolia as _optimismSepolia, polygon as _polygon, ronin as _ronin, scroll as _scroll, sei as _sei, sepolia as _sepolia, sonic as _sonic, sophon as _sophon, superseed as _superseed, superseedSepolia as _superseedSepolia, taiko as _taiko, unichain as _unichain, xdc as _xdc, zksync as _zksync, zksyncSepoliaTestnet as _zksyncSepoliaTestnet, } from "viem/chains";
|
|
1
|
+
import { abstract as _abstract, arbitrum as _arbitrum, arbitrumSepolia as _arbitrumSepolia, avalanche as _avalanche, base as _base, baseSepolia as _baseSepolia, battlechainTestnet as _battlechainTestnet, berachain as _berachain, blast as _blast, bsc as _bsc, chiliz as _chiliz, coreDao as _coreDao, gnosis as _gnosis, hyperEvm as _hyperEvm, lightlinkPhoenix as _lightlinkPhoenix, linea as _linea, lineaSepolia as _lineaSepolia, mainnet as _mainnet, mode as _mode, monad as _monad, morph as _morph, optimism as _optimism, optimismSepolia as _optimismSepolia, polygon as _polygon, ronin as _ronin, scroll as _scroll, sei as _sei, sepolia as _sepolia, sonic as _sonic, sophon as _sophon, superseed as _superseed, superseedSepolia as _superseedSepolia, taiko as _taiko, unichain as _unichain, xdc as _xdc, zksync as _zksync, zksyncSepoliaTestnet as _zksyncSepoliaTestnet, } from "viem/chains";
|
|
2
2
|
import { denergy, tangle } from "./custom.js";
|
|
3
3
|
const COIN_GECKO = {
|
|
4
4
|
eth: "ethereum",
|
|
@@ -87,6 +87,16 @@ export const chainSpecs = {
|
|
|
87
87
|
infura: "base-sepolia",
|
|
88
88
|
},
|
|
89
89
|
},
|
|
90
|
+
battlechainTestnet: {
|
|
91
|
+
base: _battlechainTestnet,
|
|
92
|
+
meta: {
|
|
93
|
+
isZk: true,
|
|
94
|
+
slug: "battlechain-testnet",
|
|
95
|
+
},
|
|
96
|
+
nativeCurrency: {
|
|
97
|
+
coinGeckoId: COIN_GECKO.eth,
|
|
98
|
+
},
|
|
99
|
+
},
|
|
90
100
|
berachain: {
|
|
91
101
|
base: _berachain,
|
|
92
102
|
meta: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"specs.js","sourceRoot":"","sources":["../../../../src/evm/chains/specs.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n abstract as _abstract,\n arbitrum as _arbitrum,\n arbitrumSepolia as _arbitrumSepolia,\n avalanche as _avalanche,\n base as _base,\n baseSepolia as _baseSepolia,\n berachain as _berachain,\n blast as _blast,\n bsc as _bsc,\n chiliz as _chiliz,\n coreDao as _coreDao,\n gnosis as _gnosis,\n hyperEvm as _hyperEvm,\n lightlinkPhoenix as _lightlinkPhoenix,\n linea as _linea,\n lineaSepolia as _lineaSepolia,\n mainnet as _mainnet,\n mode as _mode,\n monad as _monad,\n morph as _morph,\n optimism as _optimism,\n optimismSepolia as _optimismSepolia,\n polygon as _polygon,\n ronin as _ronin,\n scroll as _scroll,\n sei as _sei,\n sepolia as _sepolia,\n sonic as _sonic,\n sophon as _sophon,\n superseed as _superseed,\n superseedSepolia as _superseedSepolia,\n taiko as _taiko,\n unichain as _unichain,\n xdc as _xdc,\n zksync as _zksync,\n zksyncSepoliaTestnet as _zksyncSepoliaTestnet,\n} from \"viem/chains\";\n// import { berachain } from \"viem/chains/definitions/zksync\";\nimport type { ChainSpec } from \"./builder.js\";\nimport { denergy, tangle } from \"./custom.js\";\n\nconst COIN_GECKO = {\n eth: \"ethereum\",\n mon: \"monad\",\n} as const;\n\nexport const chainSpecs = {\n /* -------------------------------------------------------------------------- */\n /* ABSTRACT */\n /* -------------------------------------------------------------------------- */\n abstract: {\n base: _abstract,\n meta: {\n coinGeckoPlatformId: \"abstract\",\n isZk: true,\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n },\n rpc: {\n alchemy: \"abstract-mainnet\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* ARBITRUM */\n /* -------------------------------------------------------------------------- */\n arbitrum: {\n base: _arbitrum,\n meta: {\n coinGeckoPlatformId: \"arbitrum-one\",\n name: \"Arbitrum\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n wrapperContract: \"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1\",\n },\n rpc: {\n alchemy: \"arb-mainnet\",\n infura: \"arbitrum-mainnet\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* ARBITRUM SEPOLIA */\n /* -------------------------------------------------------------------------- */\n arbitrumSepolia: {\n base: _arbitrumSepolia,\n meta: {\n slug: \"arbitrum-sepolia\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n },\n rpc: {\n infura: \"arbitrum-sepolia\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* AVALANCHE */\n /* -------------------------------------------------------------------------- */\n avalanche: {\n base: _avalanche,\n meta: {\n coinGeckoPlatformId: \"avalanche\",\n },\n nativeCurrency: {\n coinGeckoId: \"avalanche-2\",\n wrapperContract: \"0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7\",\n },\n rpc: {\n alchemy: \"avax-mainnet\",\n infura: \"avalanche-mainnet\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* BASE */\n /* -------------------------------------------------------------------------- */\n base: {\n base: _base,\n meta: {\n coinGeckoPlatformId: \"base\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n wrapperContract: \"0x4200000000000000000000000000000000000006\",\n },\n rpc: {\n alchemy: \"base-mainnet\",\n infura: \"base-mainnet\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* BASE SEPOLIA */\n /* -------------------------------------------------------------------------- */\n baseSepolia: {\n base: _baseSepolia,\n meta: {\n slug: \"base-sepolia\",\n ui: \"SUPPORTED\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n },\n rpc: {\n alchemy: \"base-sepolia\",\n infura: \"base-sepolia\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* BERACHAIN */\n /* -------------------------------------------------------------------------- */\n berachain: {\n base: _berachain,\n meta: {\n coinGeckoPlatformId: \"berachain\",\n },\n nativeCurrency: {\n coinGeckoId: \"berachain-bera\",\n wrapperContract: \"0x6969696969696969696969696969696969696969\",\n },\n rpc: {\n alchemy: \"berachain-mainnet\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* BLAST */\n /* -------------------------------------------------------------------------- */\n blast: {\n base: _blast,\n meta: {\n coinGeckoPlatformId: \"blast\",\n ui: \"NOT_SUPPORTED\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n wrapperContract: \"0x4300000000000000000000000000000000000004\",\n },\n rpc: {\n alchemy: \"blast-mainnet\",\n infura: \"blast-mainnet\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* BSC */\n /* -------------------------------------------------------------------------- */\n bsc: {\n base: _bsc,\n meta: {\n coinGeckoPlatformId: \"binance-smart-chain\",\n name: \"BNB Chain\",\n },\n nativeCurrency: {\n coinGeckoId: \"binancecoin\",\n wrapperContract: \"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c\",\n },\n rpc: {\n alchemy: \"bnb-mainnet\",\n infura: \"bsc-mainnet\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* CHILIZ */\n /* -------------------------------------------------------------------------- */\n chiliz: {\n base: _chiliz,\n meta: {\n coinGeckoPlatformId: \"chiliz\",\n name: \"Chiliz\",\n },\n nativeCurrency: {\n coinGeckoId: \"chiliz\",\n },\n overrides: {\n blockExplorers: {\n default: { name: \"Explorer\", url: \"https://chiliscan.com\" },\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.chiliz.com\"],\n },\n },\n },\n },\n /* -------------------------------------------------------------------------- */\n /* CORE DAO */\n /* -------------------------------------------------------------------------- */\n coreDao: {\n base: _coreDao,\n meta: {\n coinGeckoPlatformId: \"core\",\n slug: \"core-dao\",\n ui: \"NOT_SUPPORTED\",\n },\n nativeCurrency: {\n coinGeckoId: \"coredaoorg\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* DENERGY */\n /* -------------------------------------------------------------------------- */\n denergy: {\n base: denergy,\n meta: {},\n nativeCurrency: {\n coinGeckoId: \"watt\",\n wrapperContract: \"0x87fFB2d57f78d5A8E17db78F3290A367299b5B07\",\n },\n rpc: {\n routemesh: false,\n },\n },\n /* -------------------------------------------------------------------------- */\n /* GNOSIS */\n /* -------------------------------------------------------------------------- */\n gnosis: {\n base: _gnosis,\n meta: {\n coinGeckoPlatformId: \"xdai\",\n },\n nativeCurrency: {\n coinGeckoId: \"dai\",\n wrapperContract: \"0x6A023CCd1ff6F2045C3309768eAd9E68F978f6e1\",\n },\n rpc: {\n alchemy: \"gnosis-mainnet\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* HYPEREVM */\n /* -------------------------------------------------------------------------- */\n hyperevm: {\n base: _hyperEvm,\n meta: {\n coinGeckoPlatformId: \"hyperevm\",\n },\n nativeCurrency: {\n coinGeckoId: \"hyperliquid\",\n wrapperContract: \"0x5555555555555555555555555555555555555555\",\n },\n overrides: {\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 13_051,\n },\n },\n },\n },\n /* -------------------------------------------------------------------------- */\n /* LIGHTLINK */\n /* -------------------------------------------------------------------------- */\n lightlink: {\n base: _lightlinkPhoenix,\n meta: {\n coinGeckoPlatformId: \"lightlink\",\n name: \"Lightlink\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n },\n },\n /* -------------------------------------------------------------------------- */\n /* LINEA */\n /* -------------------------------------------------------------------------- */\n linea: {\n base: _linea,\n meta: {\n coinGeckoPlatformId: \"linea\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n wrapperContract: \"0xe5D7C2a44FfDDf6b295A15c148167daaAf5Cf34f\",\n },\n rpc: {\n alchemy: \"linea-mainnet\",\n infura: \"linea-mainnet\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* LINEA SEPOLIA */\n /* -------------------------------------------------------------------------- */\n lineaSepolia: {\n base: _lineaSepolia,\n meta: {\n name: \"Linea Sepolia\",\n slug: \"linea-sepolia\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n },\n rpc: {\n alchemy: \"linea-sepolia\",\n infura: \"linea-sepolia\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* MAINNET */\n /* -------------------------------------------------------------------------- */\n mainnet: {\n base: _mainnet,\n meta: {\n coinGeckoPlatformId: \"ethereum\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n wrapperContract: \"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\",\n },\n rpc: {\n alchemy: \"eth-mainnet\",\n infura: \"mainnet\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* MODE */\n /* -------------------------------------------------------------------------- */\n mode: {\n base: _mode,\n meta: {\n coinGeckoPlatformId: \"mode\",\n name: \"Mode\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n wrapperContract: \"0x4200000000000000000000000000000000000006\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* MONAD */\n /* -------------------------------------------------------------------------- */\n monad: {\n base: _monad,\n meta: {\n coinGeckoPlatformId: \"monad\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.mon,\n wrapperContract: \"0x3bd359C1119dA7Da1D913D1C4D2B7c461115433A\",\n },\n overrides: {\n blockExplorers: {\n default: { name: \"Explorer\", url: \"https://monadscan.com\" },\n },\n },\n rpc: {\n alchemy: \"monad-mainnet\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* MORPH */\n /* -------------------------------------------------------------------------- */\n morph: {\n base: _morph,\n meta: {\n coinGeckoPlatformId: \"morph-l2\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n wrapperContract: \"0x5300000000000000000000000000000000000011\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* OPTIMISM */\n /* -------------------------------------------------------------------------- */\n optimism: {\n base: _optimism,\n meta: {\n coinGeckoPlatformId: \"optimistic-ethereum\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n wrapperContract: \"0x4200000000000000000000000000000000000006\",\n },\n rpc: {\n alchemy: \"opt-mainnet\",\n infura: \"optimism-mainnet\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* OPTIMISM SEPOLIA */\n /* -------------------------------------------------------------------------- */\n optimismSepolia: {\n base: _optimismSepolia,\n meta: {\n slug: \"optimism-sepolia\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n },\n rpc: {\n alchemy: \"opt-sepolia\",\n infura: \"optimism-sepolia\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* POLYGON */\n /* -------------------------------------------------------------------------- */\n polygon: {\n base: _polygon,\n meta: {\n coinGeckoPlatformId: \"polygon-pos\",\n },\n nativeCurrency: {\n coinGeckoId: \"polygon-ecosystem-token\",\n wrapperContract: \"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270\",\n },\n rpc: {\n alchemy: \"polygon-mainnet\",\n infura: \"polygon-mainnet\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* RONIN */\n /* -------------------------------------------------------------------------- */\n ronin: {\n base: _ronin,\n meta: {\n coinGeckoPlatformId: \"ronin\",\n ui: \"NOT_SUPPORTED\",\n },\n nativeCurrency: {\n coinGeckoId: \"ronin\",\n },\n rpc: {\n alchemy: \"ronin-mainnet\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* SCROLL */\n /* -------------------------------------------------------------------------- */\n scroll: {\n base: _scroll,\n meta: {\n coinGeckoPlatformId: \"scroll\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n wrapperContract: \"0x5300000000000000000000000000000000000004\",\n },\n rpc: {\n alchemy: \"scroll-mainnet\",\n infura: \"scroll-mainnet\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* SEI */\n /* -------------------------------------------------------------------------- */\n sei: {\n base: _sei,\n meta: {\n coinGeckoPlatformId: \"sei-v2\",\n ui: \"NOT_SUPPORTED\",\n },\n nativeCurrency: {\n coinGeckoId: \"sei-network\",\n wrapperContract: \"0xE30feDd158A2e3b13e9badaeABaFc5516e95e8C7\",\n },\n overrides: {\n blockExplorers: {\n default: { name: \"Explorer\", url: \"https://seiscan.io\" },\n },\n rpcUrls: {\n default: {\n http: [\"https://evm-rpc.sei-apis.com\", \"https://sei.drpc.org\"],\n },\n },\n },\n rpc: {\n alchemy: \"sei-mainnet\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* SEPOLIA */\n /* -------------------------------------------------------------------------- */\n sepolia: {\n base: _sepolia,\n meta: {\n ui: \"SUPPORTED\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n wrapperContract: \"0x7b79995e5f793A07Bc00c21412e50Ecae098E7f9\",\n },\n rpc: {\n alchemy: \"eth-sepolia\",\n infura: \"sepolia\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* SONIC */\n /* -------------------------------------------------------------------------- */\n sonic: {\n base: _sonic,\n meta: {\n coinGeckoPlatformId: \"sonic\",\n },\n nativeCurrency: {\n coinGeckoId: \"sonic-3\",\n wrapperContract: \"0x039e2fB66102314Ce7b64Ce5Ce3E5183bc94aD38\",\n },\n rpc: {\n alchemy: \"sonic-mainnet\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* SOPHON */\n /* -------------------------------------------------------------------------- */\n sophon: {\n base: _sophon,\n meta: {\n coinGeckoPlatformId: \"sophon\",\n isZk: true,\n ui: \"NOT_SUPPORTED\",\n },\n nativeCurrency: {\n coinGeckoId: \"sophon\",\n },\n overrides: {\n blockExplorers: {\n default: { name: \"Explorer\", url: \"https://sophscan.xyz\" },\n },\n },\n },\n /* -------------------------------------------------------------------------- */\n /* SUPERSEED */\n /* -------------------------------------------------------------------------- */\n superseed: {\n base: _superseed,\n meta: {\n coinGeckoPlatformId: \"superseed\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n },\n rpc: {\n alchemy: \"superseed-mainnet\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* SUPERSEED SEPOLIA */\n /* -------------------------------------------------------------------------- */\n superseedSepolia: {\n base: _superseedSepolia,\n meta: {\n slug: \"superseed-sepolia\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n },\n },\n /* -------------------------------------------------------------------------- */\n /* TAIKO */\n /* -------------------------------------------------------------------------- */\n taiko: {\n base: _taiko,\n meta: {\n coinGeckoPlatformId: \"taiko\",\n name: \"Taiko\",\n ui: \"NOT_SUPPORTED\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n wrapperContract: \"0x4200000000000000000000000000000000000006\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* TANGLE */\n /* -------------------------------------------------------------------------- */\n tangle: {\n base: tangle,\n meta: {},\n nativeCurrency: {\n coinGeckoId: \"tangle-network\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* UNICHAIN */\n /* -------------------------------------------------------------------------- */\n unichain: {\n base: _unichain,\n meta: {\n coinGeckoPlatformId: \"unichain\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n wrapperContract: \"0x4200000000000000000000000000000000000006\",\n },\n rpc: {\n alchemy: \"unichain-mainnet\",\n infura: \"unichain-mainnet\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* XDC */\n /* -------------------------------------------------------------------------- */\n xdc: {\n base: _xdc,\n meta: {\n coinGeckoPlatformId: \"xdc-network\",\n name: \"XDC\",\n },\n nativeCurrency: {\n coinGeckoId: \"xdce-crowd-sale\",\n wrapperContract: \"0x951857744785E80e2De051c32EE7b25f9c458C42\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* ZKSYNC */\n /* -------------------------------------------------------------------------- */\n zksync: {\n base: _zksync,\n meta: {\n coinGeckoPlatformId: \"zksync\",\n isZk: true,\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n wrapperContract: \"0x5AEa5775959fBC2557Cc8789bC1bf90A239D9a91\",\n },\n overrides: {\n blockExplorers: {\n default: {\n apiUrl: \"https://block-explorer-api.mainnet.zksync.io/api\",\n name: \"ZKsync Explorer\",\n url: \"https://explorer.zksync.io\",\n },\n native: {\n apiUrl: \"https://block-explorer-api.mainnet.zksync.io/api\",\n name: \"ZKsync Explorer\",\n url: \"https://explorer.zksync.io\",\n },\n },\n },\n rpc: {\n alchemy: \"zksync-mainnet\",\n infura: \"zksync-mainnet\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* ZKSYNC SEPOLIA */\n /* -------------------------------------------------------------------------- */\n zksyncSepolia: {\n base: _zksyncSepoliaTestnet,\n meta: {\n isZk: true,\n slug: \"zksync-sepolia\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n },\n overrides: {\n blockExplorers: {\n default: {\n apiUrl: \"https://block-explorer-api.sepolia.zksync.dev/api\",\n name: \"ZKsync Explorer\",\n url: \"https://sepolia.explorer.zksync.io\",\n },\n },\n },\n },\n} satisfies Record<string, ChainSpec>;\n"]}
|
|
1
|
+
{"version":3,"file":"specs.js","sourceRoot":"","sources":["../../../../src/evm/chains/specs.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n abstract as _abstract,\n arbitrum as _arbitrum,\n arbitrumSepolia as _arbitrumSepolia,\n avalanche as _avalanche,\n base as _base,\n baseSepolia as _baseSepolia,\n battlechainTestnet as _battlechainTestnet,\n berachain as _berachain,\n blast as _blast,\n bsc as _bsc,\n chiliz as _chiliz,\n coreDao as _coreDao,\n gnosis as _gnosis,\n hyperEvm as _hyperEvm,\n lightlinkPhoenix as _lightlinkPhoenix,\n linea as _linea,\n lineaSepolia as _lineaSepolia,\n mainnet as _mainnet,\n mode as _mode,\n monad as _monad,\n morph as _morph,\n optimism as _optimism,\n optimismSepolia as _optimismSepolia,\n polygon as _polygon,\n ronin as _ronin,\n scroll as _scroll,\n sei as _sei,\n sepolia as _sepolia,\n sonic as _sonic,\n sophon as _sophon,\n superseed as _superseed,\n superseedSepolia as _superseedSepolia,\n taiko as _taiko,\n unichain as _unichain,\n xdc as _xdc,\n zksync as _zksync,\n zksyncSepoliaTestnet as _zksyncSepoliaTestnet,\n} from \"viem/chains\";\n// import { berachain } from \"viem/chains/definitions/zksync\";\nimport type { ChainSpec } from \"./builder.js\";\nimport { denergy, tangle } from \"./custom.js\";\n\nconst COIN_GECKO = {\n eth: \"ethereum\",\n mon: \"monad\",\n} as const;\n\nexport const chainSpecs = {\n /* -------------------------------------------------------------------------- */\n /* ABSTRACT */\n /* -------------------------------------------------------------------------- */\n abstract: {\n base: _abstract,\n meta: {\n coinGeckoPlatformId: \"abstract\",\n isZk: true,\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n },\n rpc: {\n alchemy: \"abstract-mainnet\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* ARBITRUM */\n /* -------------------------------------------------------------------------- */\n arbitrum: {\n base: _arbitrum,\n meta: {\n coinGeckoPlatformId: \"arbitrum-one\",\n name: \"Arbitrum\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n wrapperContract: \"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1\",\n },\n rpc: {\n alchemy: \"arb-mainnet\",\n infura: \"arbitrum-mainnet\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* ARBITRUM SEPOLIA */\n /* -------------------------------------------------------------------------- */\n arbitrumSepolia: {\n base: _arbitrumSepolia,\n meta: {\n slug: \"arbitrum-sepolia\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n },\n rpc: {\n infura: \"arbitrum-sepolia\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* AVALANCHE */\n /* -------------------------------------------------------------------------- */\n avalanche: {\n base: _avalanche,\n meta: {\n coinGeckoPlatformId: \"avalanche\",\n },\n nativeCurrency: {\n coinGeckoId: \"avalanche-2\",\n wrapperContract: \"0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7\",\n },\n rpc: {\n alchemy: \"avax-mainnet\",\n infura: \"avalanche-mainnet\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* BASE */\n /* -------------------------------------------------------------------------- */\n base: {\n base: _base,\n meta: {\n coinGeckoPlatformId: \"base\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n wrapperContract: \"0x4200000000000000000000000000000000000006\",\n },\n rpc: {\n alchemy: \"base-mainnet\",\n infura: \"base-mainnet\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* BASE SEPOLIA */\n /* -------------------------------------------------------------------------- */\n baseSepolia: {\n base: _baseSepolia,\n meta: {\n slug: \"base-sepolia\",\n ui: \"SUPPORTED\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n },\n rpc: {\n alchemy: \"base-sepolia\",\n infura: \"base-sepolia\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* BATTLECHAIN TESTNET */\n /* -------------------------------------------------------------------------- */\n battlechainTestnet: {\n base: _battlechainTestnet,\n meta: {\n isZk: true,\n slug: \"battlechain-testnet\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n },\n },\n /* -------------------------------------------------------------------------- */\n /* BERACHAIN */\n /* -------------------------------------------------------------------------- */\n berachain: {\n base: _berachain,\n meta: {\n coinGeckoPlatformId: \"berachain\",\n },\n nativeCurrency: {\n coinGeckoId: \"berachain-bera\",\n wrapperContract: \"0x6969696969696969696969696969696969696969\",\n },\n rpc: {\n alchemy: \"berachain-mainnet\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* BLAST */\n /* -------------------------------------------------------------------------- */\n blast: {\n base: _blast,\n meta: {\n coinGeckoPlatformId: \"blast\",\n ui: \"NOT_SUPPORTED\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n wrapperContract: \"0x4300000000000000000000000000000000000004\",\n },\n rpc: {\n alchemy: \"blast-mainnet\",\n infura: \"blast-mainnet\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* BSC */\n /* -------------------------------------------------------------------------- */\n bsc: {\n base: _bsc,\n meta: {\n coinGeckoPlatformId: \"binance-smart-chain\",\n name: \"BNB Chain\",\n },\n nativeCurrency: {\n coinGeckoId: \"binancecoin\",\n wrapperContract: \"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c\",\n },\n rpc: {\n alchemy: \"bnb-mainnet\",\n infura: \"bsc-mainnet\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* CHILIZ */\n /* -------------------------------------------------------------------------- */\n chiliz: {\n base: _chiliz,\n meta: {\n coinGeckoPlatformId: \"chiliz\",\n name: \"Chiliz\",\n },\n nativeCurrency: {\n coinGeckoId: \"chiliz\",\n },\n overrides: {\n blockExplorers: {\n default: { name: \"Explorer\", url: \"https://chiliscan.com\" },\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.chiliz.com\"],\n },\n },\n },\n },\n /* -------------------------------------------------------------------------- */\n /* CORE DAO */\n /* -------------------------------------------------------------------------- */\n coreDao: {\n base: _coreDao,\n meta: {\n coinGeckoPlatformId: \"core\",\n slug: \"core-dao\",\n ui: \"NOT_SUPPORTED\",\n },\n nativeCurrency: {\n coinGeckoId: \"coredaoorg\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* DENERGY */\n /* -------------------------------------------------------------------------- */\n denergy: {\n base: denergy,\n meta: {},\n nativeCurrency: {\n coinGeckoId: \"watt\",\n wrapperContract: \"0x87fFB2d57f78d5A8E17db78F3290A367299b5B07\",\n },\n rpc: {\n routemesh: false,\n },\n },\n /* -------------------------------------------------------------------------- */\n /* GNOSIS */\n /* -------------------------------------------------------------------------- */\n gnosis: {\n base: _gnosis,\n meta: {\n coinGeckoPlatformId: \"xdai\",\n },\n nativeCurrency: {\n coinGeckoId: \"dai\",\n wrapperContract: \"0x6A023CCd1ff6F2045C3309768eAd9E68F978f6e1\",\n },\n rpc: {\n alchemy: \"gnosis-mainnet\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* HYPEREVM */\n /* -------------------------------------------------------------------------- */\n hyperevm: {\n base: _hyperEvm,\n meta: {\n coinGeckoPlatformId: \"hyperevm\",\n },\n nativeCurrency: {\n coinGeckoId: \"hyperliquid\",\n wrapperContract: \"0x5555555555555555555555555555555555555555\",\n },\n overrides: {\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 13_051,\n },\n },\n },\n },\n /* -------------------------------------------------------------------------- */\n /* LIGHTLINK */\n /* -------------------------------------------------------------------------- */\n lightlink: {\n base: _lightlinkPhoenix,\n meta: {\n coinGeckoPlatformId: \"lightlink\",\n name: \"Lightlink\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n },\n },\n /* -------------------------------------------------------------------------- */\n /* LINEA */\n /* -------------------------------------------------------------------------- */\n linea: {\n base: _linea,\n meta: {\n coinGeckoPlatformId: \"linea\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n wrapperContract: \"0xe5D7C2a44FfDDf6b295A15c148167daaAf5Cf34f\",\n },\n rpc: {\n alchemy: \"linea-mainnet\",\n infura: \"linea-mainnet\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* LINEA SEPOLIA */\n /* -------------------------------------------------------------------------- */\n lineaSepolia: {\n base: _lineaSepolia,\n meta: {\n name: \"Linea Sepolia\",\n slug: \"linea-sepolia\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n },\n rpc: {\n alchemy: \"linea-sepolia\",\n infura: \"linea-sepolia\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* MAINNET */\n /* -------------------------------------------------------------------------- */\n mainnet: {\n base: _mainnet,\n meta: {\n coinGeckoPlatformId: \"ethereum\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n wrapperContract: \"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\",\n },\n rpc: {\n alchemy: \"eth-mainnet\",\n infura: \"mainnet\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* MODE */\n /* -------------------------------------------------------------------------- */\n mode: {\n base: _mode,\n meta: {\n coinGeckoPlatformId: \"mode\",\n name: \"Mode\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n wrapperContract: \"0x4200000000000000000000000000000000000006\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* MONAD */\n /* -------------------------------------------------------------------------- */\n monad: {\n base: _monad,\n meta: {\n coinGeckoPlatformId: \"monad\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.mon,\n wrapperContract: \"0x3bd359C1119dA7Da1D913D1C4D2B7c461115433A\",\n },\n overrides: {\n blockExplorers: {\n default: { name: \"Explorer\", url: \"https://monadscan.com\" },\n },\n },\n rpc: {\n alchemy: \"monad-mainnet\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* MORPH */\n /* -------------------------------------------------------------------------- */\n morph: {\n base: _morph,\n meta: {\n coinGeckoPlatformId: \"morph-l2\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n wrapperContract: \"0x5300000000000000000000000000000000000011\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* OPTIMISM */\n /* -------------------------------------------------------------------------- */\n optimism: {\n base: _optimism,\n meta: {\n coinGeckoPlatformId: \"optimistic-ethereum\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n wrapperContract: \"0x4200000000000000000000000000000000000006\",\n },\n rpc: {\n alchemy: \"opt-mainnet\",\n infura: \"optimism-mainnet\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* OPTIMISM SEPOLIA */\n /* -------------------------------------------------------------------------- */\n optimismSepolia: {\n base: _optimismSepolia,\n meta: {\n slug: \"optimism-sepolia\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n },\n rpc: {\n alchemy: \"opt-sepolia\",\n infura: \"optimism-sepolia\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* POLYGON */\n /* -------------------------------------------------------------------------- */\n polygon: {\n base: _polygon,\n meta: {\n coinGeckoPlatformId: \"polygon-pos\",\n },\n nativeCurrency: {\n coinGeckoId: \"polygon-ecosystem-token\",\n wrapperContract: \"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270\",\n },\n rpc: {\n alchemy: \"polygon-mainnet\",\n infura: \"polygon-mainnet\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* RONIN */\n /* -------------------------------------------------------------------------- */\n ronin: {\n base: _ronin,\n meta: {\n coinGeckoPlatformId: \"ronin\",\n ui: \"NOT_SUPPORTED\",\n },\n nativeCurrency: {\n coinGeckoId: \"ronin\",\n },\n rpc: {\n alchemy: \"ronin-mainnet\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* SCROLL */\n /* -------------------------------------------------------------------------- */\n scroll: {\n base: _scroll,\n meta: {\n coinGeckoPlatformId: \"scroll\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n wrapperContract: \"0x5300000000000000000000000000000000000004\",\n },\n rpc: {\n alchemy: \"scroll-mainnet\",\n infura: \"scroll-mainnet\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* SEI */\n /* -------------------------------------------------------------------------- */\n sei: {\n base: _sei,\n meta: {\n coinGeckoPlatformId: \"sei-v2\",\n ui: \"NOT_SUPPORTED\",\n },\n nativeCurrency: {\n coinGeckoId: \"sei-network\",\n wrapperContract: \"0xE30feDd158A2e3b13e9badaeABaFc5516e95e8C7\",\n },\n overrides: {\n blockExplorers: {\n default: { name: \"Explorer\", url: \"https://seiscan.io\" },\n },\n rpcUrls: {\n default: {\n http: [\"https://evm-rpc.sei-apis.com\", \"https://sei.drpc.org\"],\n },\n },\n },\n rpc: {\n alchemy: \"sei-mainnet\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* SEPOLIA */\n /* -------------------------------------------------------------------------- */\n sepolia: {\n base: _sepolia,\n meta: {\n ui: \"SUPPORTED\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n wrapperContract: \"0x7b79995e5f793A07Bc00c21412e50Ecae098E7f9\",\n },\n rpc: {\n alchemy: \"eth-sepolia\",\n infura: \"sepolia\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* SONIC */\n /* -------------------------------------------------------------------------- */\n sonic: {\n base: _sonic,\n meta: {\n coinGeckoPlatformId: \"sonic\",\n },\n nativeCurrency: {\n coinGeckoId: \"sonic-3\",\n wrapperContract: \"0x039e2fB66102314Ce7b64Ce5Ce3E5183bc94aD38\",\n },\n rpc: {\n alchemy: \"sonic-mainnet\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* SOPHON */\n /* -------------------------------------------------------------------------- */\n sophon: {\n base: _sophon,\n meta: {\n coinGeckoPlatformId: \"sophon\",\n isZk: true,\n ui: \"NOT_SUPPORTED\",\n },\n nativeCurrency: {\n coinGeckoId: \"sophon\",\n },\n overrides: {\n blockExplorers: {\n default: { name: \"Explorer\", url: \"https://sophscan.xyz\" },\n },\n },\n },\n /* -------------------------------------------------------------------------- */\n /* SUPERSEED */\n /* -------------------------------------------------------------------------- */\n superseed: {\n base: _superseed,\n meta: {\n coinGeckoPlatformId: \"superseed\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n },\n rpc: {\n alchemy: \"superseed-mainnet\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* SUPERSEED SEPOLIA */\n /* -------------------------------------------------------------------------- */\n superseedSepolia: {\n base: _superseedSepolia,\n meta: {\n slug: \"superseed-sepolia\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n },\n },\n /* -------------------------------------------------------------------------- */\n /* TAIKO */\n /* -------------------------------------------------------------------------- */\n taiko: {\n base: _taiko,\n meta: {\n coinGeckoPlatformId: \"taiko\",\n name: \"Taiko\",\n ui: \"NOT_SUPPORTED\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n wrapperContract: \"0x4200000000000000000000000000000000000006\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* TANGLE */\n /* -------------------------------------------------------------------------- */\n tangle: {\n base: tangle,\n meta: {},\n nativeCurrency: {\n coinGeckoId: \"tangle-network\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* UNICHAIN */\n /* -------------------------------------------------------------------------- */\n unichain: {\n base: _unichain,\n meta: {\n coinGeckoPlatformId: \"unichain\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n wrapperContract: \"0x4200000000000000000000000000000000000006\",\n },\n rpc: {\n alchemy: \"unichain-mainnet\",\n infura: \"unichain-mainnet\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* XDC */\n /* -------------------------------------------------------------------------- */\n xdc: {\n base: _xdc,\n meta: {\n coinGeckoPlatformId: \"xdc-network\",\n name: \"XDC\",\n },\n nativeCurrency: {\n coinGeckoId: \"xdce-crowd-sale\",\n wrapperContract: \"0x951857744785E80e2De051c32EE7b25f9c458C42\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* ZKSYNC */\n /* -------------------------------------------------------------------------- */\n zksync: {\n base: _zksync,\n meta: {\n coinGeckoPlatformId: \"zksync\",\n isZk: true,\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n wrapperContract: \"0x5AEa5775959fBC2557Cc8789bC1bf90A239D9a91\",\n },\n overrides: {\n blockExplorers: {\n default: {\n apiUrl: \"https://block-explorer-api.mainnet.zksync.io/api\",\n name: \"ZKsync Explorer\",\n url: \"https://explorer.zksync.io\",\n },\n native: {\n apiUrl: \"https://block-explorer-api.mainnet.zksync.io/api\",\n name: \"ZKsync Explorer\",\n url: \"https://explorer.zksync.io\",\n },\n },\n },\n rpc: {\n alchemy: \"zksync-mainnet\",\n infura: \"zksync-mainnet\",\n },\n },\n /* -------------------------------------------------------------------------- */\n /* ZKSYNC SEPOLIA */\n /* -------------------------------------------------------------------------- */\n zksyncSepolia: {\n base: _zksyncSepoliaTestnet,\n meta: {\n isZk: true,\n slug: \"zksync-sepolia\",\n },\n nativeCurrency: {\n coinGeckoId: COIN_GECKO.eth,\n },\n overrides: {\n blockExplorers: {\n default: {\n apiUrl: \"https://block-explorer-api.sepolia.zksync.dev/api\",\n name: \"ZKsync Explorer\",\n url: \"https://sepolia.explorer.zksync.io\",\n },\n },\n },\n },\n} satisfies Record<string, ChainSpec>;\n"]}
|
|
@@ -106,6 +106,9 @@ export const testnets = [
|
|
|
106
106
|
get(chains.baseSepolia.id, {
|
|
107
107
|
[manifest.SABLIER_COMPTROLLER]: [DEFAULT_ADDRESS, 31_493_735],
|
|
108
108
|
}),
|
|
109
|
+
get(chains.battlechainTestnet.id, {
|
|
110
|
+
[manifest.SABLIER_COMPTROLLER]: ["0x0eDA15D606733f6CDe9DB67263E546bfcDDe9264", 5384],
|
|
111
|
+
}),
|
|
109
112
|
get(chains.optimismSepolia.id, {
|
|
110
113
|
[manifest.SABLIER_COMPTROLLER]: [DEFAULT_ADDRESS, 33_476_910],
|
|
111
114
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deployments.js","sourceRoot":"","sources":["../../../../src/evm/comptroller/deployments.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"deployments.js","sourceRoot":"","sources":["../../../../src/evm/comptroller/deployments.ts"],"names":[],"mappings":"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","sourcesContent":["import { chains } from \"@/src/evm/chains/index.js\";\nimport type { Sablier } from \"@/src/types.js\";\nimport manifest from \"./v2.0/manifest.js\";\n\n/**\n * The default fixed comptroller address on all chains, with the exception of Linea.\n * @see {@link file://./../../deployments/comptroller/v1.0/README.md#exceptions}\n */\nconst DEFAULT_ADDRESS = \"0x0000008ABbFf7a84a2fE09f9A9b74D3BC2072399\";\n\nfunction get(chainId: number, contractMap: Sablier.EVM.ContractMap): Sablier.EVM.Contract {\n const entry = contractMap[manifest.SABLIER_COMPTROLLER];\n\n if (!entry) {\n throw new Error(`Sablier SDK: Comptroller contract missing for chain ${chainId}.`);\n }\n\n const [address, block] = Array.isArray(entry) ? entry : [entry, undefined];\n\n return {\n address: address as Sablier.EVM.Address,\n block,\n chainId,\n name: manifest.SABLIER_COMPTROLLER,\n protocol: undefined,\n version: undefined,\n };\n}\n\n/**\n * @description Mainnet deployments for Comptroller.\n */\nexport const mainnets = [\n get(chains.abstract.id, {\n [manifest.SABLIER_COMPTROLLER]: [DEFAULT_ADDRESS, 19_953_193],\n }),\n get(chains.arbitrum.id, {\n [manifest.SABLIER_COMPTROLLER]: [DEFAULT_ADDRESS, 382_523_565],\n }),\n get(chains.avalanche.id, {\n [manifest.SABLIER_COMPTROLLER]: [DEFAULT_ADDRESS, 69_219_791],\n }),\n get(chains.base.id, {\n [manifest.SABLIER_COMPTROLLER]: [DEFAULT_ADDRESS, 35_965_506],\n }),\n get(chains.berachain.id, {\n [manifest.SABLIER_COMPTROLLER]: [DEFAULT_ADDRESS, 10_905_957],\n }),\n get(chains.blast.id, {\n [manifest.SABLIER_COMPTROLLER]: [DEFAULT_ADDRESS, 24_955_461],\n }),\n get(chains.bsc.id, {\n [manifest.SABLIER_COMPTROLLER]: [DEFAULT_ADDRESS, 62_296_036],\n }),\n get(chains.chiliz.id, {\n [manifest.SABLIER_COMPTROLLER]: [DEFAULT_ADDRESS, 27_326_583],\n }),\n get(chains.coreDao.id, {\n [manifest.SABLIER_COMPTROLLER]: [DEFAULT_ADDRESS, 28_473_497],\n }),\n get(chains.denergy.id, {\n [manifest.SABLIER_COMPTROLLER]: [\"0x946654AB30Dd6eD10236C89f2C8B2719df653691\", 691_574],\n }),\n get(chains.gnosis.id, {\n [manifest.SABLIER_COMPTROLLER]: [DEFAULT_ADDRESS, 42_287_148],\n }),\n get(chains.hyperevm.id, {\n [manifest.SABLIER_COMPTROLLER]: [DEFAULT_ADDRESS, 14_716_634],\n }),\n get(chains.lightlink.id, {\n [manifest.SABLIER_COMPTROLLER]: [DEFAULT_ADDRESS, 166_583_712],\n }),\n get(chains.linea.id, {\n [manifest.SABLIER_COMPTROLLER]: [\"0xF21b304A08993f98A79C7Eb841f812CCeab49B8b\", 23_749_930],\n }),\n get(chains.mainnet.id, {\n [manifest.SABLIER_COMPTROLLER]: [DEFAULT_ADDRESS, 23_432_333],\n }),\n get(chains.mode.id, {\n [manifest.SABLIER_COMPTROLLER]: [DEFAULT_ADDRESS, 29_282_069],\n }),\n get(chains.monad.id, {\n [manifest.SABLIER_COMPTROLLER]: [DEFAULT_ADDRESS, 34_574_999],\n }),\n get(chains.morph.id, {\n [manifest.SABLIER_COMPTROLLER]: [DEFAULT_ADDRESS, 17_216_266],\n }),\n get(chains.optimism.id, {\n [manifest.SABLIER_COMPTROLLER]: [DEFAULT_ADDRESS, 141_566_602],\n }),\n get(chains.polygon.id, {\n [manifest.SABLIER_COMPTROLLER]: [DEFAULT_ADDRESS, 76_850_809],\n }),\n get(chains.scroll.id, {\n [manifest.SABLIER_COMPTROLLER]: [DEFAULT_ADDRESS, 21_895_919],\n }),\n get(chains.sei.id, {\n [manifest.SABLIER_COMPTROLLER]: [DEFAULT_ADDRESS, 169_828_207],\n }),\n get(chains.sonic.id, {\n [manifest.SABLIER_COMPTROLLER]: [DEFAULT_ADDRESS, 48_050_064],\n }),\n get(chains.superseed.id, {\n [manifest.SABLIER_COMPTROLLER]: [DEFAULT_ADDRESS, 16_276_550],\n }),\n get(chains.unichain.id, {\n [manifest.SABLIER_COMPTROLLER]: [DEFAULT_ADDRESS, 27_984_892],\n }),\n get(chains.xdc.id, {\n [manifest.SABLIER_COMPTROLLER]: [DEFAULT_ADDRESS, 94_010_976],\n }),\n get(chains.zksync.id, {\n [manifest.SABLIER_COMPTROLLER]: [DEFAULT_ADDRESS, 64_868_283],\n }),\n];\n\n/**\n * @description Testnet deployments for Comptroller.\n */\nexport const testnets = [\n get(chains.arbitrumSepolia.id, {\n [manifest.SABLIER_COMPTROLLER]: [DEFAULT_ADDRESS, 197_780_828],\n }),\n get(chains.baseSepolia.id, {\n [manifest.SABLIER_COMPTROLLER]: [DEFAULT_ADDRESS, 31_493_735],\n }),\n get(chains.battlechainTestnet.id, {\n [manifest.SABLIER_COMPTROLLER]: [\"0x0eDA15D606733f6CDe9DB67263E546bfcDDe9264\", 5384],\n }),\n get(chains.optimismSepolia.id, {\n [manifest.SABLIER_COMPTROLLER]: [DEFAULT_ADDRESS, 33_476_910],\n }),\n get(chains.sepolia.id, {\n [manifest.SABLIER_COMPTROLLER]: [DEFAULT_ADDRESS, 9_272_981],\n }),\n];\n\nexport const deployments: Sablier.EVM.Contract[] = [...mainnets, ...testnets];\n"]}
|
|
@@ -7,8 +7,8 @@ export const contractsQueries = createContractsQueries({
|
|
|
7
7
|
catalog,
|
|
8
8
|
contractsField: "contracts",
|
|
9
9
|
getAliasCatalog,
|
|
10
|
-
normalizeAddress: (address) => address.toLowerCase(),
|
|
11
10
|
protocols: [Protocol.Airdrops, Protocol.Flow, Protocol.Legacy, Protocol.Lockup],
|
|
11
|
+
normalizeAddress: (address) => address.toLowerCase(),
|
|
12
12
|
releasesQueries,
|
|
13
13
|
});
|
|
14
14
|
//# sourceMappingURL=queries.js.map
|