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"]}
|
|
@@ -2,6 +2,12 @@ export const CHAIN_ID_SOLANA_MAINNET_BETA = 900_000_010;
|
|
|
2
2
|
export const CHAIN_ID_SOLANA_DEVNET = 900_000_020;
|
|
3
3
|
export const SOLANA_CHAIN_IDS = new Set([CHAIN_ID_SOLANA_MAINNET_BETA, CHAIN_ID_SOLANA_DEVNET]);
|
|
4
4
|
export const solanaDevnet = {
|
|
5
|
+
contracts: {},
|
|
6
|
+
id: CHAIN_ID_SOLANA_DEVNET,
|
|
7
|
+
isSupportedByUI: true,
|
|
8
|
+
isTestnet: true,
|
|
9
|
+
name: "Devnet",
|
|
10
|
+
slug: "solana-devnet",
|
|
5
11
|
blockExplorers: {
|
|
6
12
|
default: { name: "Orb", url: "https://orb.helius.dev?cluster=devnet" },
|
|
7
13
|
solanaFm: { name: "Solana FM", url: "https://solana.fm?cluster=devnet-alpha" },
|
|
@@ -11,16 +17,11 @@ export const solanaDevnet = {
|
|
|
11
17
|
feed: "99B2bTijsU6f1GCT73HmdR7HCFFjGMBcPZY6jZ96ynrR",
|
|
12
18
|
program: "HEvSKofvBgfaexv23kMabbYqxasxU3mQ4ibBMEmJWHny",
|
|
13
19
|
},
|
|
14
|
-
contracts: {},
|
|
15
20
|
definition: {
|
|
16
21
|
chainCode: "SOLDEV",
|
|
17
22
|
chainId: CHAIN_ID_SOLANA_DEVNET,
|
|
18
23
|
cluster: "devnet",
|
|
19
24
|
},
|
|
20
|
-
id: CHAIN_ID_SOLANA_DEVNET,
|
|
21
|
-
isSupportedByUI: true,
|
|
22
|
-
isTestnet: true,
|
|
23
|
-
name: "Devnet",
|
|
24
25
|
nativeCurrency: {
|
|
25
26
|
coinGeckoId: "solana",
|
|
26
27
|
decimals: 9,
|
|
@@ -36,9 +37,15 @@ export const solanaDevnet = {
|
|
|
36
37
|
http: ["https://api.devnet-beta.solana.com/"],
|
|
37
38
|
},
|
|
38
39
|
},
|
|
39
|
-
slug: "solana-devnet",
|
|
40
40
|
};
|
|
41
41
|
export const solanaMainnetBeta = {
|
|
42
|
+
coinGeckoPlatformId: "solana",
|
|
43
|
+
contracts: {},
|
|
44
|
+
id: CHAIN_ID_SOLANA_MAINNET_BETA,
|
|
45
|
+
isSupportedByUI: true,
|
|
46
|
+
isTestnet: false,
|
|
47
|
+
name: "Solana",
|
|
48
|
+
slug: "solana-mainnet-beta",
|
|
42
49
|
blockExplorers: {
|
|
43
50
|
default: { name: "Orb", url: "https://orb.helius.dev" },
|
|
44
51
|
solanaFm: { name: "Solana FM", url: "https://solana.fm" },
|
|
@@ -48,17 +55,11 @@ export const solanaMainnetBeta = {
|
|
|
48
55
|
feed: "99B2bTijsU6f1GCT73HmdR7HCFFjGMBcPZY6jZ96ynrR",
|
|
49
56
|
program: "HEvSKofvBgfaexv23kMabbYqxasxU3mQ4ibBMEmJWHny",
|
|
50
57
|
},
|
|
51
|
-
coinGeckoPlatformId: "solana",
|
|
52
|
-
contracts: {},
|
|
53
58
|
definition: {
|
|
54
59
|
chainCode: "SOL",
|
|
55
60
|
chainId: CHAIN_ID_SOLANA_MAINNET_BETA,
|
|
56
61
|
cluster: "mainnet-beta",
|
|
57
62
|
},
|
|
58
|
-
id: CHAIN_ID_SOLANA_MAINNET_BETA,
|
|
59
|
-
isSupportedByUI: true,
|
|
60
|
-
isTestnet: false,
|
|
61
|
-
name: "Solana",
|
|
62
63
|
nativeCurrency: {
|
|
63
64
|
coinGeckoId: "solana",
|
|
64
65
|
decimals: 9,
|
|
@@ -74,6 +75,5 @@ export const solanaMainnetBeta = {
|
|
|
74
75
|
http: ["https://api.mainnet-beta.solana.com/"],
|
|
75
76
|
},
|
|
76
77
|
},
|
|
77
|
-
slug: "solana-mainnet-beta",
|
|
78
78
|
};
|
|
79
79
|
//# sourceMappingURL=chains.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chains.js","sourceRoot":"","sources":["../../../../src/solana/chains/chains.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,4BAA4B,GAAG,WAAW,CAAC;AACxD,MAAM,CAAC,MAAM,sBAAsB,GAAG,WAAW,CAAC;AAElD,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,4BAA4B,EAAE,sBAAsB,CAAC,CAAC,CAAC;AAEhG,MAAM,CAAC,MAAM,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,MAAM,CAAC,MAAM,4BAA4B,GAAG,WAAW,CAAC;AACxD,MAAM,CAAC,MAAM,sBAAsB,GAAG,WAAW,CAAC;AAElD,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,4BAA4B,EAAE,sBAAsB,CAAC,CAAC,CAAC;AAEhG,MAAM,CAAC,MAAM,YAAY,GAAyB;IAChD,SAAS,EAAE,EAAE;IACb,EAAE,EAAE,sBAAsB;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,sBAAsB;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;AAEX,MAAM,CAAC,MAAM,iBAAiB,GAAyB;IACrD,mBAAmB,EAAE,QAAQ;IAC7B,SAAS,EAAE,EAAE;IACb,EAAE,EAAE,4BAA4B;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,4BAA4B;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"]}
|
|
@@ -7,8 +7,8 @@ export const programsQueries = createContractsQueries({
|
|
|
7
7
|
catalog,
|
|
8
8
|
contractsField: "programs",
|
|
9
9
|
getAliasCatalog,
|
|
10
|
-
normalizeAddress: (address) => address,
|
|
11
10
|
protocols: [Protocol.Airdrops, Protocol.Lockup],
|
|
11
|
+
normalizeAddress: (address) => address,
|
|
12
12
|
releasesQueries,
|
|
13
13
|
});
|
|
14
14
|
//# sourceMappingURL=queries.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../../src/solana/programs/queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,CAAC,MAAM,eAAe,GAAG,sBAAsB,CAOnD;IACA,OAAO;IACP,cAAc,EAAE,UAAU;IAC1B,eAAe;IACf,
|
|
1
|
+
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../../src/solana/programs/queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,CAAC,MAAM,eAAe,GAAG,sBAAsB,CAOnD;IACA,OAAO;IACP,cAAc,EAAE,UAAU;IAC1B,eAAe;IACf,SAAS,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC;IAC/C,gBAAgB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO;IACtC,eAAe;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"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export declare const abstract: import("../types.js").EVM.Chain, arbitrum: import("../types.js").EVM.Chain, arbitrumSepolia: import("../types.js").EVM.Chain, avalanche: import("../types.js").EVM.Chain, base: import("../types.js").EVM.Chain, baseSepolia: import("../types.js").EVM.Chain, berachain: import("../types.js").EVM.Chain, blast: import("../types.js").EVM.Chain, bsc: import("../types.js").EVM.Chain, coreDao: import("../types.js").EVM.Chain, gnosis: import("../types.js").EVM.Chain, hyperevm: import("../types.js").EVM.Chain, lightlink: import("../types.js").EVM.Chain, linea: import("../types.js").EVM.Chain, lineaSepolia: import("../types.js").EVM.Chain, mainnet: import("../types.js").EVM.Chain, mode: import("../types.js").EVM.Chain, morph: import("../types.js").EVM.Chain, optimism: import("../types.js").EVM.Chain, optimismSepolia: import("../types.js").EVM.Chain, polygon: import("../types.js").EVM.Chain, ronin: import("../types.js").EVM.Chain, scroll: import("../types.js").EVM.Chain, sepolia: import("../types.js").EVM.Chain, sonic: import("../types.js").EVM.Chain, superseed: import("../types.js").EVM.Chain, superseedSepolia: import("../types.js").EVM.Chain, taiko: import("../types.js").EVM.Chain, unichain: import("../types.js").EVM.Chain, xdc: import("../types.js").EVM.Chain;
|
|
2
|
-
export declare const chiliz: import("../types.js").EVM.Chain, denergy: import("../types.js").EVM.Chain, monad: import("../types.js").EVM.Chain, sei: import("../types.js").EVM.Chain, sophon: import("../types.js").EVM.Chain, tangle: import("../types.js").EVM.Chain, zksync: import("../types.js").EVM.Chain, zksyncSepolia: import("../types.js").EVM.Chain;
|
|
2
|
+
export declare const battlechainTestnet: import("../types.js").EVM.Chain, chiliz: import("../types.js").EVM.Chain, denergy: import("../types.js").EVM.Chain, monad: import("../types.js").EVM.Chain, sei: import("../types.js").EVM.Chain, sophon: import("../types.js").EVM.Chain, tangle: import("../types.js").EVM.Chain, zksync: import("../types.js").EVM.Chain, zksyncSepolia: import("../types.js").EVM.Chain;
|
|
3
3
|
//# sourceMappingURL=chains.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chains.d.ts","sourceRoot":"","sources":["../../../../src/evm/chains/chains.ts"],"names":[],"mappings":"AASA,eAAO,MACL,QAAQ,mCACR,QAAQ,mCACR,eAAe,mCACf,SAAS,mCACT,IAAI,mCACJ,WAAW,mCACX,SAAS,mCACT,KAAK,mCAEL,GAAG,mCACH,OAAO,mCACP,MAAM,mCACN,QAAQ,mCACR,SAAS,mCACT,KAAK,mCACL,YAAY,mCACZ,OAAO,mCACP,IAAI,mCAEJ,KAAK,mCACL,QAAQ,mCACR,eAAe,mCACf,OAAO,mCACP,KAAK,mCACL,MAAM,mCACN,OAAO,mCACP,KAAK,mCACL,SAAS,mCACT,gBAAgB,mCAChB,KAAK,mCACL,QAAQ,mCACR,GAAG,iCACK,CAAC;AAMX,eAAO,
|
|
1
|
+
{"version":3,"file":"chains.d.ts","sourceRoot":"","sources":["../../../../src/evm/chains/chains.ts"],"names":[],"mappings":"AASA,eAAO,MACL,QAAQ,mCACR,QAAQ,mCACR,eAAe,mCACf,SAAS,mCACT,IAAI,mCACJ,WAAW,mCACX,SAAS,mCACT,KAAK,mCAEL,GAAG,mCACH,OAAO,mCACP,MAAM,mCACN,QAAQ,mCACR,SAAS,mCACT,KAAK,mCACL,YAAY,mCACZ,OAAO,mCACP,IAAI,mCAEJ,KAAK,mCACL,QAAQ,mCACR,eAAe,mCACf,OAAO,mCACP,KAAK,mCACL,MAAM,mCACN,OAAO,mCACP,KAAK,mCACL,SAAS,mCACT,gBAAgB,mCAChB,KAAK,mCACL,QAAQ,mCACR,GAAG,iCACK,CAAC;AAMX,eAAO,MACL,kBAAkB,mCAClB,MAAM,mCACN,OAAO,mCACP,KAAK,mCACL,GAAG,mCACH,MAAM,mCACN,MAAM,mCACN,MAAM,mCACN,aAAa,iCACL,CAAC"}
|