@sablier/indexers 2.0.0 → 3.0.0-beta.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/README.md CHANGED
@@ -13,7 +13,7 @@ Data indexers for the [Sablier](https://sablier.com) protocol for onchain token
13
13
  Sablier's smart contract events and transform them into structured, queryable data APIs via GraphQL. The data is used to
14
14
  power the [Sablier Interface](https://app.sablier.com).
15
15
 
16
- We support two indexing services: [The Graph](https://thegraph.com) and [Envio](https://envio.dev).
16
+ There are two indexing providers: [The Graph](https://thegraph.com) and [Envio](https://envio.dev).
17
17
 
18
18
  ## Documentation 📚
19
19
 
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SUBGRAPH_STUDIO_USER_ID = void 0;
3
+ exports.BILLING_ADDRESS = exports.SUBGRAPH_STUDIO_USER_ID = void 0;
4
4
  exports.SUBGRAPH_STUDIO_USER_ID = 112_500;
5
+ exports.BILLING_ADDRESS = "0xA6a4c1D99312978A3207fF1a28b958e5efAA0a42";
5
6
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AACa,QAAA,uBAAuB,GAAG,OAAO,CAAC","sourcesContent":["// User ID in Subgraph Studio for account 0x905Cd35100ad357699B579995825a56C6Ce1e07b\nexport const SUBGRAPH_STUDIO_USER_ID = 112_500;\n"]}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AACa,QAAA,uBAAuB,GAAG,OAAO,CAAC;AAGlC,QAAA,eAAe,GAAG,4CAA4C,CAAC","sourcesContent":["// User ID in Subgraph Studio for account 0x905Cd35100ad357699B579995825a56C6Ce1e07b\nexport const SUBGRAPH_STUDIO_USER_ID = 112_500;\n\n// EOA wallet used for pre-paying Sablier fees.\nexport const BILLING_ADDRESS = \"0xA6a4c1D99312978A3207fF1a28b958e5efAA0a42\";\n"]}
@@ -8,36 +8,36 @@ function getURL(id) {
8
8
  exports.envioDeployments = {
9
9
  airdrops: {
10
10
  createdOn: 1_712_673_343,
11
+ explorerURL: "https://envio.dev/app/sablier-labs/merkle-envio",
12
+ protocol: evm_1.Protocol.Airdrops,
11
13
  endpoint: {
12
14
  id: "508d217",
13
15
  get url() {
14
16
  return getURL(this.id);
15
17
  },
16
18
  },
17
- explorerURL: "https://envio.dev/app/sablier-labs/merkle-envio",
18
- protocol: evm_1.Protocol.Airdrops,
19
19
  },
20
20
  flow: {
21
21
  createdOn: 1_731_318_958,
22
+ explorerURL: "https://envio.dev/app/sablier-labs/flow-envio",
23
+ protocol: evm_1.Protocol.Flow,
22
24
  endpoint: {
23
25
  id: "3b4ea6b",
24
26
  get url() {
25
27
  return getURL(this.id);
26
28
  },
27
29
  },
28
- explorerURL: "https://envio.dev/app/sablier-labs/flow-envio",
29
- protocol: evm_1.Protocol.Flow,
30
30
  },
31
31
  lockup: {
32
32
  createdOn: 1_712_673_343,
33
+ explorerURL: "https://envio.dev/app/sablier-labs/lockup-envio",
34
+ protocol: evm_1.Protocol.Lockup,
33
35
  endpoint: {
34
36
  id: "53b7e25",
35
37
  get url() {
36
38
  return getURL(this.id);
37
39
  },
38
40
  },
39
- explorerURL: "https://envio.dev/app/sablier-labs/lockup-envio",
40
- protocol: evm_1.Protocol.Lockup,
41
41
  },
42
42
  };
43
43
  //# sourceMappingURL=envio-deployments.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"envio-deployments.js","sourceRoot":"","sources":["../../../src/indexers/envio-deployments.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AAGvC,SAAS,MAAM,CAAC,EAAU;IACxB,OAAO,kCAAkC,EAAE,aAAa,CAAC;AAC3D,CAAC;AAEY,QAAA,gBAAgB,GAAsD;IACjF,QAAQ,EAAE;QACR,SAAS,EAAE,aAAa;QACxB,QAAQ,EAAE;YACR,EAAE,EAAE,SAAS;YACb,IAAI,GAAG;gBACL,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC;SACF;QACD,WAAW,EAAE,iDAAiD;QAC9D,QAAQ,EAAE,cAAQ,CAAC,QAAQ;KAC5B;IACD,IAAI,EAAE;QACJ,SAAS,EAAE,aAAa;QACxB,QAAQ,EAAE;YACR,EAAE,EAAE,SAAS;YACb,IAAI,GAAG;gBACL,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC;SACF;QACD,WAAW,EAAE,+CAA+C;QAC5D,QAAQ,EAAE,cAAQ,CAAC,IAAI;KACxB;IACD,MAAM,EAAE;QACN,SAAS,EAAE,aAAa;QACxB,QAAQ,EAAE;YACR,EAAE,EAAE,SAAS;YACb,IAAI,GAAG;gBACL,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC;SACF;QACD,WAAW,EAAE,iDAAiD;QAC9D,QAAQ,EAAE,cAAQ,CAAC,MAAM;KAC1B;CACF,CAAC","sourcesContent":["import { Protocol } from \"sablier/evm\";\nimport type { Indexer } from \"../types.js\";\n\nfunction getURL(id: string) {\n return `https://indexer.hyperindex.xyz/${id}/v1/graphql`;\n}\n\nexport const envioDeployments: Record<Indexer.Protocol, Indexer.EnvioDeployment> = {\n airdrops: {\n createdOn: 1_712_673_343, // April 8, 2024\n endpoint: {\n id: \"508d217\",\n get url() {\n return getURL(this.id);\n },\n },\n explorerURL: \"https://envio.dev/app/sablier-labs/merkle-envio\",\n protocol: Protocol.Airdrops,\n },\n flow: {\n createdOn: 1_731_318_958, // November 1, 2024\n endpoint: {\n id: \"3b4ea6b\",\n get url() {\n return getURL(this.id);\n },\n },\n explorerURL: \"https://envio.dev/app/sablier-labs/flow-envio\",\n protocol: Protocol.Flow,\n },\n lockup: {\n createdOn: 1_712_673_343, // April 8, 2024\n endpoint: {\n id: \"53b7e25\",\n get url() {\n return getURL(this.id);\n },\n },\n explorerURL: \"https://envio.dev/app/sablier-labs/lockup-envio\",\n protocol: Protocol.Lockup,\n },\n};\n"]}
1
+ {"version":3,"file":"envio-deployments.js","sourceRoot":"","sources":["../../../src/indexers/envio-deployments.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AAGvC,SAAS,MAAM,CAAC,EAAU;IACxB,OAAO,kCAAkC,EAAE,aAAa,CAAC;AAC3D,CAAC;AAEY,QAAA,gBAAgB,GAAsD;IACjF,QAAQ,EAAE;QACR,SAAS,EAAE,aAAa;QACxB,WAAW,EAAE,iDAAiD;QAC9D,QAAQ,EAAE,cAAQ,CAAC,QAAQ;QAC3B,QAAQ,EAAE;YACR,EAAE,EAAE,SAAS;YACb,IAAI,GAAG;gBACL,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC;SACF;KACF;IACD,IAAI,EAAE;QACJ,SAAS,EAAE,aAAa;QACxB,WAAW,EAAE,+CAA+C;QAC5D,QAAQ,EAAE,cAAQ,CAAC,IAAI;QACvB,QAAQ,EAAE;YACR,EAAE,EAAE,SAAS;YACb,IAAI,GAAG;gBACL,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC;SACF;KACF;IACD,MAAM,EAAE;QACN,SAAS,EAAE,aAAa;QACxB,WAAW,EAAE,iDAAiD;QAC9D,QAAQ,EAAE,cAAQ,CAAC,MAAM;QACzB,QAAQ,EAAE;YACR,EAAE,EAAE,SAAS;YACb,IAAI,GAAG;gBACL,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC;SACF;KACF;CACF,CAAC","sourcesContent":["import { Protocol } from \"sablier/evm\";\nimport type { Indexer } from \"../types.js\";\n\nfunction getURL(id: string) {\n return `https://indexer.hyperindex.xyz/${id}/v1/graphql`;\n}\n\nexport const envioDeployments: Record<Indexer.Protocol, Indexer.EnvioDeployment> = {\n airdrops: {\n createdOn: 1_712_673_343, // April 8, 2024\n explorerURL: \"https://envio.dev/app/sablier-labs/merkle-envio\",\n protocol: Protocol.Airdrops,\n endpoint: {\n id: \"508d217\",\n get url() {\n return getURL(this.id);\n },\n },\n },\n flow: {\n createdOn: 1_731_318_958, // November 1, 2024\n explorerURL: \"https://envio.dev/app/sablier-labs/flow-envio\",\n protocol: Protocol.Flow,\n endpoint: {\n id: \"3b4ea6b\",\n get url() {\n return getURL(this.id);\n },\n },\n },\n lockup: {\n createdOn: 1_712_673_343, // April 8, 2024\n explorerURL: \"https://envio.dev/app/sablier-labs/lockup-envio\",\n protocol: Protocol.Lockup,\n endpoint: {\n id: \"53b7e25\",\n get url() {\n return getURL(this.id);\n },\n },\n },\n};\n"]}
@@ -41,13 +41,13 @@ function getIndexers(protocol) {
41
41
  const deployment = envio_deployments_js_1.envioDeployments[protocol];
42
42
  return {
43
43
  chainId: chain.id,
44
+ explorerURL: deployment.explorerURL,
45
+ kind: "official",
46
+ name: `sablier-${protocol}`,
44
47
  endpoint: {
45
48
  id: deployment.endpoint.id,
46
49
  url: deployment.endpoint.url,
47
50
  },
48
- explorerURL: deployment.explorerURL,
49
- kind: "official",
50
- name: `sablier-${protocol}`,
51
51
  protocol,
52
52
  testingURL: `https://cloud.hasura.io/public/graphiql?endpoint=${encodeURIComponent(deployment.endpoint.url)}`,
53
53
  vendor: enums_js_1.Vendor.Envio,
@@ -1 +1 @@
1
- {"version":3,"file":"envio.js","sourceRoot":"","sources":["../../../src/indexers/envio.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @file Use this file to define new indexers for Envio.\n *\n * @see https://docs.envio.dev/docs/HyperSync/hypersync-supported-networks\n */\nimport { chains, Protocol } from \"sablier/evm\";\nimport { Vendor } from \"../enums.js\";\nimport type { Indexer } from \"../types.js\";\nimport { envioDeployments } from \"./envio-deployments.js\";\n\ntype EnvioChainConfig = {\n /**\n * @see https://github.com/sablier-labs/indexers/discussions/147\n * @see https://github.com/enviodev/hyperindex/issues/599\n */\n hypersync?: string;\n /**\n * Chains indexed only through RPC. No HyperSync support.\n * @see https://docs.envio.dev/docs/HyperIndex/rpc-sync\n */\n rpcOnly?: boolean;\n};\n\ntype EnvioChain = {\n config?: EnvioChainConfig;\n id: number;\n};\n\nfunction get(id: number, config?: EnvioChainConfig): EnvioChain {\n return { config, id };\n}\n\nconst SUPPORTED_CHAINS = [\n /* -------------------------------------------------------------------------- */\n /* MAINNETS */\n /* -------------------------------------------------------------------------- */\n get(chains.abstract.id),\n get(chains.arbitrum.id),\n get(chains.avalanche.id),\n get(chains.base.id),\n get(chains.blast.id),\n get(chains.berachain.id),\n get(chains.bsc.id),\n get(chains.chiliz.id, { hypersync: \"chiliz\" }),\n get(chains.gnosis.id),\n get(chains.hyperevm.id),\n get(chains.linea.id),\n get(chains.mainnet.id),\n get(chains.mode.id),\n get(chains.monad.id),\n get(chains.morph.id),\n get(chains.optimism.id),\n get(chains.polygon.id),\n get(chains.sonic.id),\n get(chains.scroll.id),\n get(chains.sei.id, { hypersync: \"sei\" }),\n get(chains.sophon.id),\n get(chains.superseed.id),\n get(chains.unichain.id),\n get(chains.xdc.id),\n get(chains.zksync.id),\n /* -------------------------------------------------------------------------- */\n /* TESTNETS */\n /* -------------------------------------------------------------------------- */\n get(chains.baseSepolia.id),\n get(chains.sepolia.id),\n] as const;\n\nfunction getIndexers(protocol: Indexer.Protocol): Indexer[] {\n return SUPPORTED_CHAINS.map((chain) => {\n const deployment = envioDeployments[protocol];\n return {\n chainId: chain.id,\n endpoint: {\n id: deployment.endpoint.id,\n url: deployment.endpoint.url,\n },\n explorerURL: deployment.explorerURL,\n kind: \"official\",\n name: `sablier-${protocol}`,\n protocol,\n testingURL: `https://cloud.hasura.io/public/graphiql?endpoint=${encodeURIComponent(deployment.endpoint.url)}`,\n vendor: Vendor.Envio,\n };\n });\n}\n\nexport const envio: Record<Indexer.Protocol, Indexer[]> = {\n airdrops: getIndexers(Protocol.Airdrops),\n flow: getIndexers(Protocol.Flow),\n lockup: getIndexers(Protocol.Lockup),\n} as const;\n\nexport const envioChains = SUPPORTED_CHAINS;\n"]}
1
+ {"version":3,"file":"envio.js","sourceRoot":"","sources":["../../../src/indexers/envio.ts"],"names":[],"mappings":";;;AAKA,qCAA+C;AAC/C,0CAAqC;AAErC,iEAA0D;AAoB1D,SAAS,GAAG,CAAC,EAAU,EAAE,MAAyB;IAChD,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AACxB,CAAC;AAED,MAAM,gBAAgB,GAAG;IAIvB,GAAG,CAAC,YAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;IACvB,GAAG,CAAC,YAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;IACvB,GAAG,CAAC,YAAM,CAAC,SAAS,CAAC,EAAE,CAAC;IACxB,GAAG,CAAC,YAAM,CAAC,IAAI,CAAC,EAAE,CAAC;IACnB,GAAG,CAAC,YAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IACpB,GAAG,CAAC,YAAM,CAAC,SAAS,CAAC,EAAE,CAAC;IACxB,GAAG,CAAC,YAAM,CAAC,GAAG,CAAC,EAAE,CAAC;IAClB,GAAG,CAAC,YAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;IAC9C,GAAG,CAAC,YAAM,CAAC,MAAM,CAAC,EAAE,CAAC;IACrB,GAAG,CAAC,YAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;IACvB,GAAG,CAAC,YAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IACpB,GAAG,CAAC,YAAM,CAAC,OAAO,CAAC,EAAE,CAAC;IACtB,GAAG,CAAC,YAAM,CAAC,IAAI,CAAC,EAAE,CAAC;IACnB,GAAG,CAAC,YAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IACpB,GAAG,CAAC,YAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IACpB,GAAG,CAAC,YAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;IACvB,GAAG,CAAC,YAAM,CAAC,OAAO,CAAC,EAAE,CAAC;IACtB,GAAG,CAAC,YAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IACpB,GAAG,CAAC,YAAM,CAAC,MAAM,CAAC,EAAE,CAAC;IACrB,GAAG,CAAC,YAAM,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACxC,GAAG,CAAC,YAAM,CAAC,MAAM,CAAC,EAAE,CAAC;IACrB,GAAG,CAAC,YAAM,CAAC,SAAS,CAAC,EAAE,CAAC;IACxB,GAAG,CAAC,YAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;IACvB,GAAG,CAAC,YAAM,CAAC,GAAG,CAAC,EAAE,CAAC;IAClB,GAAG,CAAC,YAAM,CAAC,MAAM,CAAC,EAAE,CAAC;IAIrB,GAAG,CAAC,YAAM,CAAC,WAAW,CAAC,EAAE,CAAC;IAC1B,GAAG,CAAC,YAAM,CAAC,OAAO,CAAC,EAAE,CAAC;CACd,CAAC;AAEX,SAAS,WAAW,CAAC,QAA0B;IAC7C,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACpC,MAAM,UAAU,GAAG,uCAAgB,CAAC,QAAQ,CAAC,CAAC;QAC9C,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,EAAE;YACjB,WAAW,EAAE,UAAU,CAAC,WAAW;YACnC,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,WAAW,QAAQ,EAAE;YAC3B,QAAQ,EAAE;gBACR,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE;gBAC1B,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG;aAC7B;YACD,QAAQ;YACR,UAAU,EAAE,oDAAoD,kBAAkB,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC7G,MAAM,EAAE,iBAAM,CAAC,KAAK;SACrB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAEY,QAAA,KAAK,GAAwC;IACxD,QAAQ,EAAE,WAAW,CAAC,cAAQ,CAAC,QAAQ,CAAC;IACxC,IAAI,EAAE,WAAW,CAAC,cAAQ,CAAC,IAAI,CAAC;IAChC,MAAM,EAAE,WAAW,CAAC,cAAQ,CAAC,MAAM,CAAC;CAC5B,CAAC;AAEE,QAAA,WAAW,GAAG,gBAAgB,CAAC","sourcesContent":["/**\n * @file Use this file to define new indexers for Envio.\n *\n * @see https://docs.envio.dev/docs/HyperSync/hypersync-supported-networks\n */\nimport { chains, Protocol } from \"sablier/evm\";\nimport { Vendor } from \"../enums.js\";\nimport type { Indexer } from \"../types.js\";\nimport { envioDeployments } from \"./envio-deployments.js\";\n\ntype EnvioChainConfig = {\n /**\n * @see https://github.com/sablier-labs/indexers/discussions/147\n * @see https://github.com/enviodev/hyperindex/issues/599\n */\n hypersync?: string;\n /**\n * Chains indexed only through RPC. No HyperSync support.\n * @see https://docs.envio.dev/docs/HyperIndex/rpc-sync\n */\n rpcOnly?: boolean;\n};\n\ntype EnvioChain = {\n config?: EnvioChainConfig;\n id: number;\n};\n\nfunction get(id: number, config?: EnvioChainConfig): EnvioChain {\n return { config, id };\n}\n\nconst SUPPORTED_CHAINS = [\n /* -------------------------------------------------------------------------- */\n /* MAINNETS */\n /* -------------------------------------------------------------------------- */\n get(chains.abstract.id),\n get(chains.arbitrum.id),\n get(chains.avalanche.id),\n get(chains.base.id),\n get(chains.blast.id),\n get(chains.berachain.id),\n get(chains.bsc.id),\n get(chains.chiliz.id, { hypersync: \"chiliz\" }),\n get(chains.gnosis.id),\n get(chains.hyperevm.id),\n get(chains.linea.id),\n get(chains.mainnet.id),\n get(chains.mode.id),\n get(chains.monad.id),\n get(chains.morph.id),\n get(chains.optimism.id),\n get(chains.polygon.id),\n get(chains.sonic.id),\n get(chains.scroll.id),\n get(chains.sei.id, { hypersync: \"sei\" }),\n get(chains.sophon.id),\n get(chains.superseed.id),\n get(chains.unichain.id),\n get(chains.xdc.id),\n get(chains.zksync.id),\n /* -------------------------------------------------------------------------- */\n /* TESTNETS */\n /* -------------------------------------------------------------------------- */\n get(chains.baseSepolia.id),\n get(chains.sepolia.id),\n] as const;\n\nfunction getIndexers(protocol: Indexer.Protocol): Indexer[] {\n return SUPPORTED_CHAINS.map((chain) => {\n const deployment = envioDeployments[protocol];\n return {\n chainId: chain.id,\n explorerURL: deployment.explorerURL,\n kind: \"official\",\n name: `sablier-${protocol}`,\n endpoint: {\n id: deployment.endpoint.id,\n url: deployment.endpoint.url,\n },\n protocol,\n testingURL: `https://cloud.hasura.io/public/graphiql?endpoint=${encodeURIComponent(deployment.endpoint.url)}`,\n vendor: Vendor.Envio,\n };\n });\n}\n\nexport const envio: Record<Indexer.Protocol, Indexer[]> = {\n airdrops: getIndexers(Protocol.Airdrops),\n flow: getIndexers(Protocol.Flow),\n lockup: getIndexers(Protocol.Lockup),\n} as const;\n\nexport const envioChains = SUPPORTED_CHAINS;\n"]}
@@ -10,15 +10,11 @@ const constants_js_1 = require("../constants.js");
10
10
  const enums_js_1 = require("../enums.js");
11
11
  const CHAIN_SLUG_GRAPH_OVERRIDES = {
12
12
  [evm_1.chains.arbitrum.id]: "arbitrum-one",
13
- [evm_1.chains.blast.id]: "blast-mainnet",
14
- [evm_1.chains.coreDao.id]: "core",
15
13
  [evm_1.chains.denergy.id]: "denergychain",
16
14
  [evm_1.chains.polygon.id]: "matic",
17
- [evm_1.chains.sei.id]: "sei-mainnet",
18
15
  [evm_1.chains.zksync.id]: "zksync-era",
19
16
  };
20
17
  const CHAIN_SLUG_SABLIER_OVERRIDES = {
21
- [evm_1.chains.coreDao.id]: "core",
22
18
  [evm_1.chains.denergy.id]: "denergychain",
23
19
  [evm_1.chains.mainnet.id]: "ethereum",
24
20
  };
@@ -47,12 +43,12 @@ function resolveCustom(protocol, chainId, templateURL) {
47
43
  const endpointUrl = templateURL.replace(NAME_TEMPLATING_VAR, subgraphName);
48
44
  return {
49
45
  chainId,
50
- endpoint: {
51
- url: endpointUrl,
52
- },
53
46
  explorerURL: `${endpointUrl}/graphql`,
54
47
  kind: "custom",
55
48
  name: subgraphName,
49
+ endpoint: {
50
+ url: endpointUrl,
51
+ },
56
52
  protocol,
57
53
  vendor: enums_js_1.Vendor.Graph,
58
54
  };
@@ -61,13 +57,13 @@ function resolveOfficial(protocol, chainId, subgraphId) {
61
57
  const subgraphName = getSubgraphName(chainId, protocol);
62
58
  return {
63
59
  chainId,
60
+ explorerURL: `https://thegraph.com/explorer/subgraphs/${subgraphId}`,
61
+ kind: "official",
62
+ name: subgraphName,
64
63
  endpoint: {
65
64
  id: subgraphId,
66
65
  url: `https://gateway.thegraph.com/api/subgraphs/id/${subgraphId}`,
67
66
  },
68
- explorerURL: `https://thegraph.com/explorer/subgraphs/${subgraphId}`,
69
- kind: "official",
70
- name: subgraphName,
71
67
  protocol,
72
68
  testingURL: `https://api.studio.thegraph.com/query/${constants_js_1.SUBGRAPH_STUDIO_USER_ID}/${subgraphName}/version/latest`,
73
69
  vendor: enums_js_1.Vendor.Graph,
@@ -89,7 +85,6 @@ function official(chainId, idMap) {
89
85
  }
90
86
  const CUSTOMS = [
91
87
  custom(evm_1.chains.lightlink.id, "https://graph.phoenix.lightlink.io/query/subgraphs/name/lightlink/{SUBGRAPH_NAME}"),
92
- custom(evm_1.chains.coreDao.id, "https://thegraph.coredao.org/subgraphs/name/core/{SUBGRAPH_NAME}"),
93
88
  custom(evm_1.chains.denergy.id, "https://thegraph.denergychain.com/subgraphs/name/denergychain/{SUBGRAPH_NAME}"),
94
89
  ];
95
90
  const OFFICIALS = [
@@ -123,11 +118,6 @@ const OFFICIALS = [
123
118
  flow: "J87eaBLfTe7kKWgUGqe5TxntNCzA4pyWmqJowMddehuh",
124
119
  lockup: "C2r13APcUemQtVdPFm7p7T3aJkU2rH2EvdZzrQ53zi14",
125
120
  }),
126
- official(evm_1.chains.blast.id, {
127
- airdrops: "657bogqYaDSSeqsoJcJ1kRqGnc3jC15UmcVLzsYxyxKK",
128
- flow: "8joiC9LpUbSV6eGRr3RWXDArM8p9Q65FKiFekAakkyia",
129
- lockup: "8MBBc6ET4izgJRrybgWzPjokhZKSjk43BNY1q3xcb8Es",
130
- }),
131
121
  official(evm_1.chains.bsc.id, {
132
122
  airdrops: "FXQT42kQPvpMJgsF5Bs6CqpxVvPP1LBqEhWThCCLMeGL",
133
123
  flow: "2vU8KF4yWh3vvFjtg7MrRXMnYF3hPX2T3cvVBdaiXhNb",
@@ -163,11 +153,6 @@ const OFFICIALS = [
163
153
  flow: "HFpTrPzJyrHKWZ9ebb4VFRQSxRwpepyfz5wd138daFkF",
164
154
  lockup: "GycpYx8c9eRqxvEAfqnpNd1ZfXeuLzjRhnG7vvYaqEE1",
165
155
  }),
166
- official(evm_1.chains.sei.id, {
167
- airdrops: "HCxLCRqd5MorHXxmXFUBBcA71zTGXnn97Xk2uaBmStsy",
168
- flow: "41ZGYcFgL2N7L5ng78S4sD6NHDNYEYcNFxnz4T8Zh3iU",
169
- lockup: "AJU5rBfbuApuJpeZeaz6NYuYnnhAhEy4gFkqsSdAT6xb",
170
- }),
171
156
  official(evm_1.chains.sonic.id, {
172
157
  airdrops: "5g8orwpm5Rf83G8eqDzDjodt3sG2D64cbiLC98Utmv4Q",
173
158
  flow: "HkQKZKuM6dZ7Vc4FGC1gZTVVTniYJWRhTRmDDMNzN8zk",
@@ -1 +1 @@
1
- {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../src/indexers/graph.ts"],"names":[],"mappings":";;;AAqDA,8CAEC;AAED,kDAEC;AAED,4DAEC;AA3DD,qCAAkC;AAClC,qCAA+C;AAC/C,kDAA0D;AAC1D,0CAAqC;AAarC,MAAM,0BAA0B,GAAkC;IAChE,CAAC,YAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,cAAc;IACpC,CAAC,YAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,eAAe;IAClC,CAAC,YAAM,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,MAAM;IAC3B,CAAC,YAAM,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,cAAc;IACnC,CAAC,YAAM,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,OAAO;IAC5B,CAAC,YAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,aAAa;IAC9B,CAAC,YAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,YAAY;CACjC,CAAC;AAKF,MAAM,4BAA4B,GAAkC;IAClE,CAAC,YAAM,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,MAAM;IAC3B,CAAC,YAAM,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,cAAc;IACnC,CAAC,YAAM,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,UAAU;CAChC,CAAC;AAMF,MAAM,wBAAwB,GAAkC;IAC9D,CAAC,YAAM,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,SAAS;CACjC,CAAC;AAEF,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AAM9C,SAAgB,iBAAiB,CAAC,OAAe;IAC/C,OAAO,0BAA0B,CAAC,OAAO,CAAC,IAAI,iBAAO,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;AACxF,CAAC;AAED,SAAgB,mBAAmB,CAAC,OAAe;IACjD,OAAO,4BAA4B,CAAC,OAAO,CAAC,IAAI,iBAAO,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;AAC1F,CAAC;AAED,SAAgB,wBAAwB,CAAC,OAAe;IACtD,OAAO,wBAAwB,CAAC,OAAO,CAAC,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,eAAe,CAAC,OAAe,EAAE,QAA0B;IAClE,MAAM,cAAc,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACpD,OAAO,WAAW,QAAQ,IAAI,cAAc,EAAE,CAAC;AACjD,CAAC;AAKD,SAAS,aAAa,CAAC,QAA0B,EAAE,OAAe,EAAE,WAAmB;IACrF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CACb,0DAA0D,mBAAmB,EAAE,CAChF,CAAC;IACJ,CAAC;IACD,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAExD,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;IAC3E,OAAO;QACL,OAAO;QACP,QAAQ,EAAE;YACR,GAAG,EAAE,WAAW;SACjB;QACD,WAAW,EAAE,GAAG,WAAW,UAAU;QACrC,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,YAAY;QAClB,QAAQ;QACR,MAAM,EAAE,iBAAM,CAAC,KAAK;KACrB,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,QAA0B,EAAE,OAAe,EAAE,UAAkB;IACtF,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACxD,OAAO;QACL,OAAO;QACP,QAAQ,EAAE;YACR,EAAE,EAAE,UAAU;YACd,GAAG,EAAE,iDAAiD,UAAU,EAAE;SACnE;QACD,WAAW,EAAE,2CAA2C,UAAU,EAAE;QACpE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,YAAY;QAClB,QAAQ;QACR,UAAU,EAAE,yCAAyC,sCAAuB,IAAI,YAAY,iBAAiB;QAC7G,MAAM,EAAE,iBAAM,CAAC,KAAK;KACrB,CAAC;AACJ,CAAC;AAUD,SAAS,MAAM,CAAC,OAAe,EAAE,OAAe;IAC9C,OAAO;QACL,QAAQ,EAAE,aAAa,CAAC,cAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC;QAC5D,IAAI,EAAE,aAAa,CAAC,cAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC;QACpD,MAAM,EAAE,aAAa,CAAC,cAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;KACzD,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,OAAe,EAAE,KAAoB;IACrD,OAAO;QACL,QAAQ,EAAE,eAAe,CAAC,cAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC;QACrE,IAAI,EAAE,eAAe,CAAC,cAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC;QACzD,MAAM,EAAE,eAAe,CAAC,cAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC;KAChE,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,GAAsB;IACjC,MAAM,CACJ,YAAM,CAAC,SAAS,CAAC,EAAE,EACnB,mFAAmF,CACpF;IACD,MAAM,CAAC,YAAM,CAAC,OAAO,CAAC,EAAE,EAAE,kEAAkE,CAAC;IAC7F,MAAM,CACJ,YAAM,CAAC,OAAO,CAAC,EAAE,EACjB,+EAA+E,CAChF;CACF,CAAC;AAEF,MAAM,SAAS,GAAsB;IAInC,QAAQ,CAAC,YAAM,CAAC,OAAO,CAAC,EAAE,EAAE;QAC1B,QAAQ,EAAE,8CAA8C;QACxD,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE,8CAA8C;KACvD,CAAC;IACF,QAAQ,CAAC,YAAM,CAAC,QAAQ,CAAC,EAAE,EAAE;QAC3B,QAAQ,EAAE,8CAA8C;QACxD,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE,8CAA8C;KACvD,CAAC;IACF,QAAQ,CAAC,YAAM,CAAC,QAAQ,CAAC,EAAE,EAAE;QAC3B,QAAQ,EAAE,8CAA8C;QACxD,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE,6CAA6C;KACtD,CAAC;IACF,QAAQ,CAAC,YAAM,CAAC,SAAS,CAAC,EAAE,EAAE;QAC5B,QAAQ,EAAE,8CAA8C;QACxD,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE,8CAA8C;KACvD,CAAC;IACF,QAAQ,CAAC,YAAM,CAAC,IAAI,CAAC,EAAE,EAAE;QACvB,QAAQ,EAAE,8CAA8C;QACxD,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE,8CAA8C;KACvD,CAAC;IACF,QAAQ,CAAC,YAAM,CAAC,SAAS,CAAC,EAAE,EAAE;QAC5B,QAAQ,EAAE,8CAA8C;QACxD,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE,8CAA8C;KACvD,CAAC;IACF,QAAQ,CAAC,YAAM,CAAC,KAAK,CAAC,EAAE,EAAE;QACxB,QAAQ,EAAE,8CAA8C;QACxD,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE,8CAA8C;KACvD,CAAC;IACF,QAAQ,CAAC,YAAM,CAAC,GAAG,CAAC,EAAE,EAAE;QACtB,QAAQ,EAAE,8CAA8C;QACxD,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE,8CAA8C;KACvD,CAAC;IACF,QAAQ,CAAC,YAAM,CAAC,MAAM,CAAC,EAAE,EAAE;QACzB,QAAQ,EAAE,8CAA8C;QACxD,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE,6CAA6C;KACtD,CAAC;IACF,QAAQ,CAAC,YAAM,CAAC,MAAM,CAAC,EAAE,EAAE;QACzB,QAAQ,EAAE,6CAA6C;QACvD,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE,8CAA8C;KACvD,CAAC;IACF,QAAQ,CAAC,YAAM,CAAC,KAAK,CAAC,EAAE,EAAE;QACxB,QAAQ,EAAE,8CAA8C;QACxD,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE,8CAA8C;KACvD,CAAC;IAOF,QAAQ,CAAC,YAAM,CAAC,QAAQ,CAAC,EAAE,EAAE;QAC3B,QAAQ,EAAE,8CAA8C;QACxD,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE,6CAA6C;KACtD,CAAC;IACF,QAAQ,CAAC,YAAM,CAAC,OAAO,CAAC,EAAE,EAAE;QAC1B,QAAQ,EAAE,8CAA8C;QACxD,IAAI,EAAE,6CAA6C;QACnD,MAAM,EAAE,8CAA8C;KACvD,CAAC;IACF,QAAQ,CAAC,YAAM,CAAC,MAAM,CAAC,EAAE,EAAE;QACzB,QAAQ,EAAE,6CAA6C;QACvD,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE,8CAA8C;KACvD,CAAC;IACF,QAAQ,CAAC,YAAM,CAAC,GAAG,CAAC,EAAE,EAAE;QACtB,QAAQ,EAAE,8CAA8C;QACxD,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE,8CAA8C;KACvD,CAAC;IACF,QAAQ,CAAC,YAAM,CAAC,KAAK,CAAC,EAAE,EAAE;QACxB,QAAQ,EAAE,8CAA8C;QACxD,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE,8CAA8C;KACvD,CAAC;IACF,QAAQ,CAAC,YAAM,CAAC,QAAQ,CAAC,EAAE,EAAE;QAC3B,QAAQ,EAAE,8CAA8C;QACxD,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE,8CAA8C;KACvD,CAAC;IACF,QAAQ,CAAC,YAAM,CAAC,MAAM,CAAC,EAAE,EAAE;QACzB,QAAQ,EAAE,8CAA8C;QACxD,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE,8CAA8C;KACvD,CAAC;IAIF,QAAQ,CAAC,YAAM,CAAC,WAAW,CAAC,EAAE,EAAE;QAC9B,QAAQ,EAAE,8CAA8C;QACxD,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE,8CAA8C;KACvD,CAAC;IACF,QAAQ,CAAC,YAAM,CAAC,OAAO,CAAC,EAAE,EAAE;QAC1B,QAAQ,EAAE,8CAA8C;QACxD,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE,8CAA8C;KACvD,CAAC;CACH,CAAC;AAEF,MAAM,GAAG,GAAsB,CAAC,GAAG,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC;AAE1D,SAAS,aAAa,CAAC,WAA8B,EAAE,QAA0B;IAC/E,OAAO,WAAW;SACf,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;SACzC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,MAAM,UAAU,GAAG,iBAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;QAC7D,MAAM,UAAU,GAAG,iBAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;QAC7D,OAAO,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACP,CAAC;AAEY,QAAA,KAAK,GAAwC;IACxD,QAAQ,EAAE,aAAa,CAAC,GAAG,EAAE,cAAQ,CAAC,QAAQ,CAAC;IAC/C,IAAI,EAAE,aAAa,CAAC,GAAG,EAAE,cAAQ,CAAC,IAAI,CAAC;IACvC,MAAM,EAAE,aAAa,CAAC,GAAG,EAAE,cAAQ,CAAC,MAAM,CAAC;CAC5C,CAAC;AAGW,QAAA,WAAW,GAAG,aAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC","sourcesContent":["/**\n * @file Use this file to define new indexers for The Graph.\n *\n */\nimport { sablier } from \"sablier\";\nimport { chains, Protocol } from \"sablier/evm\";\nimport { SUBGRAPH_STUDIO_USER_ID } from \"../constants.js\";\nimport { Vendor } from \"../enums.js\";\nimport type { Indexer } from \"../types.js\";\n\n/* -------------------------------------------------------------------------- */\n/* CONSTANTS */\n/* -------------------------------------------------------------------------- */\n\n/**\n * Custom chain slugs used by The Graph.\n *\n * ⚠️ NOTE: not all chain names used by The Graph are the same as the chain's slug defined in the Sablier SDK.\n * @see https://thegraph.com/docs/en/supported-networks\n */\nconst CHAIN_SLUG_GRAPH_OVERRIDES: { [chainId: number]: string } = {\n [chains.arbitrum.id]: \"arbitrum-one\",\n [chains.blast.id]: \"blast-mainnet\",\n [chains.coreDao.id]: \"core\",\n [chains.denergy.id]: \"denergychain\",\n [chains.polygon.id]: \"matic\",\n [chains.sei.id]: \"sei-mainnet\",\n [chains.zksync.id]: \"zksync-era\",\n};\n\n/**\n * Custom chain slugs used by Sablier subgraphs.\n */\nconst CHAIN_SLUG_SABLIER_OVERRIDES: { [chainId: number]: string } = {\n [chains.coreDao.id]: \"core\",\n [chains.denergy.id]: \"denergychain\",\n [chains.mainnet.id]: \"ethereum\",\n};\n\n/**\n * Some chains have made the really bad design choice of using custom network identifiers\n * in their subgraph.yaml files.\n */\nconst CHAIN_SLUG_SUBGRAPH_YAML: { [chainId: number]: string } = {\n [chains.lightlink.id]: \"mainnet\",\n};\n\nconst NAME_TEMPLATING_VAR = \"{SUBGRAPH_NAME}\";\n\n/* -------------------------------------------------------------------------- */\n/* HELPERS */\n/* -------------------------------------------------------------------------- */\n\nexport function getGraphChainSlug(chainId: number): string {\n return CHAIN_SLUG_GRAPH_OVERRIDES[chainId] ?? sablier.chains.getOrThrow(chainId).slug;\n}\n\nexport function getSablierChainSlug(chainId: number): string {\n return CHAIN_SLUG_SABLIER_OVERRIDES[chainId] ?? sablier.chains.getOrThrow(chainId).slug;\n}\n\nexport function getSubgraphYamlChainSlug(chainId: number): string {\n return CHAIN_SLUG_SUBGRAPH_YAML[chainId] ?? getGraphChainSlug(chainId);\n}\n\nfunction getSubgraphName(chainId: number, protocol: Indexer.Protocol): string {\n const graphChainName = getSablierChainSlug(chainId);\n return `sablier-${protocol}-${graphChainName}`;\n}\n\n/**\n * Sort indexers alphabetically by chain name.\n */\nfunction resolveCustom(protocol: Indexer.Protocol, chainId: number, templateURL: string): Indexer {\n if (!templateURL.includes(NAME_TEMPLATING_VAR)) {\n throw new Error(\n `Template URL for custom Graph indexer does not include ${NAME_TEMPLATING_VAR}`\n );\n }\n const subgraphName = getSubgraphName(chainId, protocol);\n\n const endpointUrl = templateURL.replace(NAME_TEMPLATING_VAR, subgraphName);\n return {\n chainId,\n endpoint: {\n url: endpointUrl,\n },\n explorerURL: `${endpointUrl}/graphql`,\n kind: \"custom\",\n name: subgraphName,\n protocol,\n vendor: Vendor.Graph,\n };\n}\n\nfunction resolveOfficial(protocol: Indexer.Protocol, chainId: number, subgraphId: string): Indexer {\n const subgraphName = getSubgraphName(chainId, protocol);\n return {\n chainId,\n endpoint: {\n id: subgraphId,\n url: `https://gateway.thegraph.com/api/subgraphs/id/${subgraphId}`,\n },\n explorerURL: `https://thegraph.com/explorer/subgraphs/${subgraphId}`,\n kind: \"official\",\n name: subgraphName,\n protocol,\n testingURL: `https://api.studio.thegraph.com/query/${SUBGRAPH_STUDIO_USER_ID}/${subgraphName}/version/latest`,\n vendor: Vendor.Graph,\n };\n}\n\n/* -------------------------------------------------------------------------- */\n/* DEFINITIONS */\n/* -------------------------------------------------------------------------- */\n\ntype SubgraphId = string;\ntype SubgraphIdMap = Record<Indexer.Protocol, SubgraphId>;\ntype IndexerGraphMap = Record<Indexer.Protocol, Indexer>;\n\nfunction custom(chainId: number, baseURL: string): IndexerGraphMap {\n return {\n airdrops: resolveCustom(Protocol.Airdrops, chainId, baseURL),\n flow: resolveCustom(Protocol.Flow, chainId, baseURL),\n lockup: resolveCustom(Protocol.Lockup, chainId, baseURL),\n };\n}\n\nfunction official(chainId: number, idMap: SubgraphIdMap): IndexerGraphMap {\n return {\n airdrops: resolveOfficial(Protocol.Airdrops, chainId, idMap.airdrops),\n flow: resolveOfficial(Protocol.Flow, chainId, idMap.flow),\n lockup: resolveOfficial(Protocol.Lockup, chainId, idMap.lockup),\n };\n}\n\nconst CUSTOMS: IndexerGraphMap[] = [\n custom(\n chains.lightlink.id,\n \"https://graph.phoenix.lightlink.io/query/subgraphs/name/lightlink/{SUBGRAPH_NAME}\"\n ),\n custom(chains.coreDao.id, \"https://thegraph.coredao.org/subgraphs/name/core/{SUBGRAPH_NAME}\"),\n custom(\n chains.denergy.id,\n \"https://thegraph.denergychain.com/subgraphs/name/denergychain/{SUBGRAPH_NAME}\"\n ),\n];\n\nconst OFFICIALS: IndexerGraphMap[] = [\n /* -------------------------------------------------------------------------- */\n /* MAINNETS */\n /* -------------------------------------------------------------------------- */\n official(chains.mainnet.id, {\n airdrops: \"DFD73EcSue44R7mpHvXeyvcgaT8tR1iKakZFjBsiFpjs\",\n flow: \"ECxBJhKceBGaVvK6vqmK3VQAncKwPeAQutEb8TeiUiod\",\n lockup: \"AvDAMYYHGaEwn9F9585uqq6MM5CfvRtYcb7KjK7LKPCt\",\n }),\n official(chains.abstract.id, {\n airdrops: \"DRrf6mYEhRt9QieKvTjDHnSWcBm3GW96hpedMKVxLABx\",\n flow: \"Gq3e1gihMoSynURwGXQnPoKGVZzdsyomdrMH934vQHuG\",\n lockup: \"2QjTdDFY233faXksUruMERMiDoQDdtGG5hBLC27aT1Pw\",\n }),\n official(chains.arbitrum.id, {\n airdrops: \"HkHDg6NVVVeobhpcU4pTPMktyC25zd6xAQBGpYrWDgRr\",\n flow: \"C3kBBUVtW2rxqGpAgSgEuSaT49izkH6Q8UibRt7XFTyW\",\n lockup: \"yvDXXHSyv6rGPSzfpbBcbQmMFrECac3Q2zADkYsMxam\",\n }),\n official(chains.avalanche.id, {\n airdrops: \"CpbN5Ps25UzqfdoqYdrjoSK4Him6nwDvdLK6a2sGS1PA\",\n flow: \"6PAizjTALVqLLB7Ycq6XnpTeck8Z8QUpDFnVznMnisUh\",\n lockup: \"FTDmonvFEm1VGkzECcnDY2CPHcW5dSmHRurSjEEfTkCX\",\n }),\n official(chains.base.id, {\n airdrops: \"4SxPXkQNifgBYqje2C4yP5gz69erZwtD7GuLWgXHSLGe\",\n flow: \"4XSxXh8ZgkzaA35nrbQG9Ry3FYz3ZFD8QBdWwVg5pF9W\",\n lockup: \"778GfecD9tsyB4xNnz4wfuAyfHU6rqGr79VCPZKu3t2F\",\n }),\n official(chains.berachain.id, {\n airdrops: \"CnYsdmzuY3Mebwywvqv1WrXw9UZuPMTrxoGgR2UdThJE\",\n flow: \"J87eaBLfTe7kKWgUGqe5TxntNCzA4pyWmqJowMddehuh\",\n lockup: \"C2r13APcUemQtVdPFm7p7T3aJkU2rH2EvdZzrQ53zi14\",\n }),\n official(chains.blast.id, {\n airdrops: \"657bogqYaDSSeqsoJcJ1kRqGnc3jC15UmcVLzsYxyxKK\",\n flow: \"8joiC9LpUbSV6eGRr3RWXDArM8p9Q65FKiFekAakkyia\",\n lockup: \"8MBBc6ET4izgJRrybgWzPjokhZKSjk43BNY1q3xcb8Es\",\n }),\n official(chains.bsc.id, {\n airdrops: \"FXQT42kQPvpMJgsF5Bs6CqpxVvPP1LBqEhWThCCLMeGL\",\n flow: \"2vU8KF4yWh3vvFjtg7MrRXMnYF3hPX2T3cvVBdaiXhNb\",\n lockup: \"A8Vc9hi7j45u7P8Uw5dg4uqYJgPo4x1rB4oZtTVaiccK\",\n }),\n official(chains.chiliz.id, {\n airdrops: \"6LK1aqrhzZCp6c88MEBDAR1VDLpZQiXpBKkceJ5Lu4LU\",\n flow: \"7QX7tJsANNFpxFLLjqzmXRzfY1wPGp3Lty5xGbhgADa6\",\n lockup: \"4KsXUFvsKFHH7Q8k3BPgEv2NhCJJGwG78gCPAUpncYb\",\n }),\n official(chains.gnosis.id, {\n airdrops: \"kQEY5PYbjx4SMKyMUwqJHRLDzKH1aUqGsf1cnibU7Kn\",\n flow: \"4KiJ53cTNKdFWPBPmDNQ55tYj8hn1WQg8R4UcTY2STLL\",\n lockup: \"DtKniy1RvB19q1r2g1WLN4reMNKDacEnuAjh284rW2iK\",\n }),\n official(chains.linea.id, {\n airdrops: \"6koYFSd8FQizdQWLTdRpL1yTmAbpMgN1vZN5W6ajZiTN\",\n flow: \"DV9XgcCCPKzUn6pgetg4yPetpW2fNoRKBUQC43aNeLG6\",\n lockup: \"GvpecytqVzLzuwuQB3enozXoaZRFoVx8Kr7qrfMiE9bs\",\n }),\n // Uncomment when The Graph fixes their support for Monad; see the TG chat\n // official(chains.monad.id, {\n // airdrops: \"6koYFSd8FQizdQWLTdRpL1yTmAbpMgN1vZN5W6ajZiTN\",\n // flow: \"DV9XgcCCPKzUn6pgetg4yPetpW2fNoRKBUQC43aNeLG6\",\n // lockup: \"GvpecytqVzLzuwuQB3enozXoaZRFoVx8Kr7qrfMiE9bs\",\n // }),\n official(chains.optimism.id, {\n airdrops: \"CHJtCNDzPqngpa1YJoaVrjuufZL6k6VkEkG9ZFUMQzF7\",\n flow: \"AygPgsehNGSB4K7DYYtvBPhTpEiU4dCu3nt95bh9FhRf\",\n lockup: \"NZHzd2JNFKhHP5EWUiDxa5TaxGCFbSD4g6YnYr8JGi6\",\n }),\n official(chains.polygon.id, {\n airdrops: \"FRbBKiDyM5YpFAqHLXRfQWwQdMGzFL82hqoPXPpXzAHE\",\n flow: \"ykp38sLarwz3cpmjSSPqo7UuTjYtkZ1KiL4PM2qwmT8\",\n lockup: \"8fgeQMEQ8sskVeWE5nvtsVL2VpezDrAkx2d1VeiHiheu\",\n }),\n official(chains.scroll.id, {\n airdrops: \"Ev4xS8VxuoUcpgqz5A2BkTgQxQeskm4Fg41XzVJ2DX9\",\n flow: \"HFpTrPzJyrHKWZ9ebb4VFRQSxRwpepyfz5wd138daFkF\",\n lockup: \"GycpYx8c9eRqxvEAfqnpNd1ZfXeuLzjRhnG7vvYaqEE1\",\n }),\n official(chains.sei.id, {\n airdrops: \"HCxLCRqd5MorHXxmXFUBBcA71zTGXnn97Xk2uaBmStsy\",\n flow: \"41ZGYcFgL2N7L5ng78S4sD6NHDNYEYcNFxnz4T8Zh3iU\",\n lockup: \"AJU5rBfbuApuJpeZeaz6NYuYnnhAhEy4gFkqsSdAT6xb\",\n }),\n official(chains.sonic.id, {\n airdrops: \"5g8orwpm5Rf83G8eqDzDjodt3sG2D64cbiLC98Utmv4Q\",\n flow: \"HkQKZKuM6dZ7Vc4FGC1gZTVVTniYJWRhTRmDDMNzN8zk\",\n lockup: \"GnaSPX9XLkPn219CqbGFU1NgveuQk2Hh3c8WxjtesaEh\",\n }),\n official(chains.unichain.id, {\n airdrops: \"4rQMJ85hKNhcaDyirGipGvcqS4auGU3QCFRBnpiexyNy\",\n flow: \"Cb5uDYfy4ukN9fjhQ3PQZgDzyo6G66ztn1e847rS7Xa8\",\n lockup: \"3MUG4H3gZcp9fpGLiJMTMeUFcQQ6QdT317P4wYKyns9M\",\n }),\n official(chains.zksync.id, {\n airdrops: \"64iDUwNVWKukw67nqTXif5taEfLug4Qf1c2suAv5hrqN\",\n flow: \"9DRgWhDAMovpkej3eT8izum6jxEKHE62ciArffsTAScx\",\n lockup: \"7SuEYGYwZ835LjVGB85ZE8z5zmqdKgmRh8kAEeJefWQN\",\n }),\n /* -------------------------------------------------------------------------- */\n /* TESTNETS */\n /* -------------------------------------------------------------------------- */\n official(chains.baseSepolia.id, {\n airdrops: \"4R2hm27YJ7CVEJ97BbBJz2r4KTKYc8sTqqzrD8UzEfJt\",\n flow: \"AsnKT1waQMvuQxZAqfFuYwtRtAfN8uekDu75jPttfyLh\",\n lockup: \"DdiYENuyh5ztSybRJnBnCZuUgESkFasjGFHZUbURpKHz\",\n }),\n official(chains.sepolia.id, {\n airdrops: \"8PLGDyXEsPgRTAnozL7MAjmTUFY4TBzs8i4F9Pq3wwSh\",\n flow: \"EU9AWmJjrjMRkjxcdHfuWPZvPTNAL3hiXfNGN5MwUpvm\",\n lockup: \"5yDtFSxyRuqyjvGJyyuQhMEW3Uah7Ddy2KFSKVhy9VMa\",\n }),\n];\n\nconst ALL: IndexerGraphMap[] = [...CUSTOMS, ...OFFICIALS];\n\nfunction toSortedArray(indexerMaps: IndexerGraphMap[], protocol: Indexer.Protocol): Indexer[] {\n return indexerMaps\n .map((indexerMap) => indexerMap[protocol])\n .sort((a, b) => {\n const chainNameA = sablier.chains.getOrThrow(a.chainId).name;\n const chainNameB = sablier.chains.getOrThrow(b.chainId).name;\n return chainNameA.localeCompare(chainNameB);\n });\n}\n\nexport const graph: Record<Indexer.Protocol, Indexer[]> = {\n airdrops: toSortedArray(ALL, Protocol.Airdrops),\n flow: toSortedArray(ALL, Protocol.Flow),\n lockup: toSortedArray(ALL, Protocol.Lockup),\n};\n\n// It doesn't matter what protocol we are using since each chain supports all protocols.\nexport const graphChains = graph.lockup.map((c) => c.chainId);\n"]}
1
+ {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../src/indexers/graph.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @file Use this file to define new indexers for The Graph.\n *\n */\nimport { sablier } from \"sablier\";\nimport { chains, Protocol } from \"sablier/evm\";\nimport { SUBGRAPH_STUDIO_USER_ID } from \"../constants.js\";\nimport { Vendor } from \"../enums.js\";\nimport type { Indexer } from \"../types.js\";\n\n/* -------------------------------------------------------------------------- */\n/* CONSTANTS */\n/* -------------------------------------------------------------------------- */\n\n/**\n * Custom chain slugs used by The Graph.\n *\n * ⚠️ NOTE: not all chain names used by The Graph are the same as the chain's slug defined in the Sablier SDK.\n * @see https://thegraph.com/docs/en/supported-networks\n */\nconst CHAIN_SLUG_GRAPH_OVERRIDES: { [chainId: number]: string } = {\n [chains.arbitrum.id]: \"arbitrum-one\",\n [chains.denergy.id]: \"denergychain\",\n [chains.polygon.id]: \"matic\",\n [chains.zksync.id]: \"zksync-era\",\n};\n\n/**\n * Custom chain slugs used by Sablier subgraphs.\n */\nconst CHAIN_SLUG_SABLIER_OVERRIDES: { [chainId: number]: string } = {\n [chains.denergy.id]: \"denergychain\",\n [chains.mainnet.id]: \"ethereum\",\n};\n\n/**\n * Some chains have made the really bad design choice of using custom network identifiers\n * in their subgraph.yaml files.\n */\nconst CHAIN_SLUG_SUBGRAPH_YAML: { [chainId: number]: string } = {\n [chains.lightlink.id]: \"mainnet\",\n};\n\nconst NAME_TEMPLATING_VAR = \"{SUBGRAPH_NAME}\";\n\n/* -------------------------------------------------------------------------- */\n/* HELPERS */\n/* -------------------------------------------------------------------------- */\n\nexport function getGraphChainSlug(chainId: number): string {\n return CHAIN_SLUG_GRAPH_OVERRIDES[chainId] ?? sablier.chains.getOrThrow(chainId).slug;\n}\n\nexport function getSablierChainSlug(chainId: number): string {\n return CHAIN_SLUG_SABLIER_OVERRIDES[chainId] ?? sablier.chains.getOrThrow(chainId).slug;\n}\n\nexport function getSubgraphYamlChainSlug(chainId: number): string {\n return CHAIN_SLUG_SUBGRAPH_YAML[chainId] ?? getGraphChainSlug(chainId);\n}\n\nfunction getSubgraphName(chainId: number, protocol: Indexer.Protocol): string {\n const graphChainName = getSablierChainSlug(chainId);\n return `sablier-${protocol}-${graphChainName}`;\n}\n\n/**\n * Sort indexers alphabetically by chain name.\n */\nfunction resolveCustom(protocol: Indexer.Protocol, chainId: number, templateURL: string): Indexer {\n if (!templateURL.includes(NAME_TEMPLATING_VAR)) {\n throw new Error(\n `Template URL for custom Graph indexer does not include ${NAME_TEMPLATING_VAR}`\n );\n }\n const subgraphName = getSubgraphName(chainId, protocol);\n\n const endpointUrl = templateURL.replace(NAME_TEMPLATING_VAR, subgraphName);\n return {\n chainId,\n explorerURL: `${endpointUrl}/graphql`,\n kind: \"custom\",\n name: subgraphName,\n endpoint: {\n url: endpointUrl,\n },\n protocol,\n vendor: Vendor.Graph,\n };\n}\n\nfunction resolveOfficial(protocol: Indexer.Protocol, chainId: number, subgraphId: string): Indexer {\n const subgraphName = getSubgraphName(chainId, protocol);\n return {\n chainId,\n explorerURL: `https://thegraph.com/explorer/subgraphs/${subgraphId}`,\n kind: \"official\",\n name: subgraphName,\n endpoint: {\n id: subgraphId,\n url: `https://gateway.thegraph.com/api/subgraphs/id/${subgraphId}`,\n },\n protocol,\n testingURL: `https://api.studio.thegraph.com/query/${SUBGRAPH_STUDIO_USER_ID}/${subgraphName}/version/latest`,\n vendor: Vendor.Graph,\n };\n}\n\n/* -------------------------------------------------------------------------- */\n/* DEFINITIONS */\n/* -------------------------------------------------------------------------- */\n\ntype SubgraphId = string;\ntype SubgraphIdMap = Record<Indexer.Protocol, SubgraphId>;\ntype IndexerGraphMap = Record<Indexer.Protocol, Indexer>;\n\nfunction custom(chainId: number, baseURL: string): IndexerGraphMap {\n return {\n airdrops: resolveCustom(Protocol.Airdrops, chainId, baseURL),\n flow: resolveCustom(Protocol.Flow, chainId, baseURL),\n lockup: resolveCustom(Protocol.Lockup, chainId, baseURL),\n };\n}\n\nfunction official(chainId: number, idMap: SubgraphIdMap): IndexerGraphMap {\n return {\n airdrops: resolveOfficial(Protocol.Airdrops, chainId, idMap.airdrops),\n flow: resolveOfficial(Protocol.Flow, chainId, idMap.flow),\n lockup: resolveOfficial(Protocol.Lockup, chainId, idMap.lockup),\n };\n}\n\nconst CUSTOMS: IndexerGraphMap[] = [\n custom(\n chains.lightlink.id,\n \"https://graph.phoenix.lightlink.io/query/subgraphs/name/lightlink/{SUBGRAPH_NAME}\"\n ),\n custom(\n chains.denergy.id,\n \"https://thegraph.denergychain.com/subgraphs/name/denergychain/{SUBGRAPH_NAME}\"\n ),\n];\n\nconst OFFICIALS: IndexerGraphMap[] = [\n /* -------------------------------------------------------------------------- */\n /* MAINNETS */\n /* -------------------------------------------------------------------------- */\n official(chains.mainnet.id, {\n airdrops: \"DFD73EcSue44R7mpHvXeyvcgaT8tR1iKakZFjBsiFpjs\",\n flow: \"ECxBJhKceBGaVvK6vqmK3VQAncKwPeAQutEb8TeiUiod\",\n lockup: \"AvDAMYYHGaEwn9F9585uqq6MM5CfvRtYcb7KjK7LKPCt\",\n }),\n official(chains.abstract.id, {\n airdrops: \"DRrf6mYEhRt9QieKvTjDHnSWcBm3GW96hpedMKVxLABx\",\n flow: \"Gq3e1gihMoSynURwGXQnPoKGVZzdsyomdrMH934vQHuG\",\n lockup: \"2QjTdDFY233faXksUruMERMiDoQDdtGG5hBLC27aT1Pw\",\n }),\n official(chains.arbitrum.id, {\n airdrops: \"HkHDg6NVVVeobhpcU4pTPMktyC25zd6xAQBGpYrWDgRr\",\n flow: \"C3kBBUVtW2rxqGpAgSgEuSaT49izkH6Q8UibRt7XFTyW\",\n lockup: \"yvDXXHSyv6rGPSzfpbBcbQmMFrECac3Q2zADkYsMxam\",\n }),\n official(chains.avalanche.id, {\n airdrops: \"CpbN5Ps25UzqfdoqYdrjoSK4Him6nwDvdLK6a2sGS1PA\",\n flow: \"6PAizjTALVqLLB7Ycq6XnpTeck8Z8QUpDFnVznMnisUh\",\n lockup: \"FTDmonvFEm1VGkzECcnDY2CPHcW5dSmHRurSjEEfTkCX\",\n }),\n official(chains.base.id, {\n airdrops: \"4SxPXkQNifgBYqje2C4yP5gz69erZwtD7GuLWgXHSLGe\",\n flow: \"4XSxXh8ZgkzaA35nrbQG9Ry3FYz3ZFD8QBdWwVg5pF9W\",\n lockup: \"778GfecD9tsyB4xNnz4wfuAyfHU6rqGr79VCPZKu3t2F\",\n }),\n official(chains.berachain.id, {\n airdrops: \"CnYsdmzuY3Mebwywvqv1WrXw9UZuPMTrxoGgR2UdThJE\",\n flow: \"J87eaBLfTe7kKWgUGqe5TxntNCzA4pyWmqJowMddehuh\",\n lockup: \"C2r13APcUemQtVdPFm7p7T3aJkU2rH2EvdZzrQ53zi14\",\n }),\n official(chains.bsc.id, {\n airdrops: \"FXQT42kQPvpMJgsF5Bs6CqpxVvPP1LBqEhWThCCLMeGL\",\n flow: \"2vU8KF4yWh3vvFjtg7MrRXMnYF3hPX2T3cvVBdaiXhNb\",\n lockup: \"A8Vc9hi7j45u7P8Uw5dg4uqYJgPo4x1rB4oZtTVaiccK\",\n }),\n official(chains.chiliz.id, {\n airdrops: \"6LK1aqrhzZCp6c88MEBDAR1VDLpZQiXpBKkceJ5Lu4LU\",\n flow: \"7QX7tJsANNFpxFLLjqzmXRzfY1wPGp3Lty5xGbhgADa6\",\n lockup: \"4KsXUFvsKFHH7Q8k3BPgEv2NhCJJGwG78gCPAUpncYb\",\n }),\n official(chains.gnosis.id, {\n airdrops: \"kQEY5PYbjx4SMKyMUwqJHRLDzKH1aUqGsf1cnibU7Kn\",\n flow: \"4KiJ53cTNKdFWPBPmDNQ55tYj8hn1WQg8R4UcTY2STLL\",\n lockup: \"DtKniy1RvB19q1r2g1WLN4reMNKDacEnuAjh284rW2iK\",\n }),\n official(chains.linea.id, {\n airdrops: \"6koYFSd8FQizdQWLTdRpL1yTmAbpMgN1vZN5W6ajZiTN\",\n flow: \"DV9XgcCCPKzUn6pgetg4yPetpW2fNoRKBUQC43aNeLG6\",\n lockup: \"GvpecytqVzLzuwuQB3enozXoaZRFoVx8Kr7qrfMiE9bs\",\n }),\n official(chains.optimism.id, {\n airdrops: \"CHJtCNDzPqngpa1YJoaVrjuufZL6k6VkEkG9ZFUMQzF7\",\n flow: \"AygPgsehNGSB4K7DYYtvBPhTpEiU4dCu3nt95bh9FhRf\",\n lockup: \"NZHzd2JNFKhHP5EWUiDxa5TaxGCFbSD4g6YnYr8JGi6\",\n }),\n official(chains.polygon.id, {\n airdrops: \"FRbBKiDyM5YpFAqHLXRfQWwQdMGzFL82hqoPXPpXzAHE\",\n flow: \"ykp38sLarwz3cpmjSSPqo7UuTjYtkZ1KiL4PM2qwmT8\",\n lockup: \"8fgeQMEQ8sskVeWE5nvtsVL2VpezDrAkx2d1VeiHiheu\",\n }),\n official(chains.scroll.id, {\n airdrops: \"Ev4xS8VxuoUcpgqz5A2BkTgQxQeskm4Fg41XzVJ2DX9\",\n flow: \"HFpTrPzJyrHKWZ9ebb4VFRQSxRwpepyfz5wd138daFkF\",\n lockup: \"GycpYx8c9eRqxvEAfqnpNd1ZfXeuLzjRhnG7vvYaqEE1\",\n }),\n official(chains.sonic.id, {\n airdrops: \"5g8orwpm5Rf83G8eqDzDjodt3sG2D64cbiLC98Utmv4Q\",\n flow: \"HkQKZKuM6dZ7Vc4FGC1gZTVVTniYJWRhTRmDDMNzN8zk\",\n lockup: \"GnaSPX9XLkPn219CqbGFU1NgveuQk2Hh3c8WxjtesaEh\",\n }),\n official(chains.unichain.id, {\n airdrops: \"4rQMJ85hKNhcaDyirGipGvcqS4auGU3QCFRBnpiexyNy\",\n flow: \"Cb5uDYfy4ukN9fjhQ3PQZgDzyo6G66ztn1e847rS7Xa8\",\n lockup: \"3MUG4H3gZcp9fpGLiJMTMeUFcQQ6QdT317P4wYKyns9M\",\n }),\n official(chains.zksync.id, {\n airdrops: \"64iDUwNVWKukw67nqTXif5taEfLug4Qf1c2suAv5hrqN\",\n flow: \"9DRgWhDAMovpkej3eT8izum6jxEKHE62ciArffsTAScx\",\n lockup: \"7SuEYGYwZ835LjVGB85ZE8z5zmqdKgmRh8kAEeJefWQN\",\n }),\n /* -------------------------------------------------------------------------- */\n /* TESTNETS */\n /* -------------------------------------------------------------------------- */\n official(chains.baseSepolia.id, {\n airdrops: \"4R2hm27YJ7CVEJ97BbBJz2r4KTKYc8sTqqzrD8UzEfJt\",\n flow: \"AsnKT1waQMvuQxZAqfFuYwtRtAfN8uekDu75jPttfyLh\",\n lockup: \"DdiYENuyh5ztSybRJnBnCZuUgESkFasjGFHZUbURpKHz\",\n }),\n official(chains.sepolia.id, {\n airdrops: \"8PLGDyXEsPgRTAnozL7MAjmTUFY4TBzs8i4F9Pq3wwSh\",\n flow: \"EU9AWmJjrjMRkjxcdHfuWPZvPTNAL3hiXfNGN5MwUpvm\",\n lockup: \"5yDtFSxyRuqyjvGJyyuQhMEW3Uah7Ddy2KFSKVhy9VMa\",\n }),\n];\n\nconst ALL: IndexerGraphMap[] = [...CUSTOMS, ...OFFICIALS];\n\nfunction toSortedArray(indexerMaps: IndexerGraphMap[], protocol: Indexer.Protocol): Indexer[] {\n return indexerMaps\n .map((indexerMap) => indexerMap[protocol])\n .sort((a, b) => {\n const chainNameA = sablier.chains.getOrThrow(a.chainId).name;\n const chainNameB = sablier.chains.getOrThrow(b.chainId).name;\n return chainNameA.localeCompare(chainNameB);\n });\n}\n\nexport const graph: Record<Indexer.Protocol, Indexer[]> = {\n airdrops: toSortedArray(ALL, Protocol.Airdrops),\n flow: toSortedArray(ALL, Protocol.Flow),\n lockup: toSortedArray(ALL, Protocol.Lockup),\n};\n\n// It doesn't matter what protocol we are using since each chain supports all protocols.\nexport const graphChains = graph.lockup.map((c) => c.chainId);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Sablier } from \"sablier\";\nimport type * as enums from \"./enums.js\";\n\nexport type Indexer = {\n chainId: number;\n explorerURL?: string;\n endpoint: {\n id?: string;\n url: string;\n };\n kind: \"custom\" | \"official\";\n name: string;\n protocol: Indexer.Protocol;\n /** GraphQL endpoint that doesn't require an API key. Opening it in the browser may lead to a GraphiQL playground.*/\n testingURL?: string;\n vendor: Indexer.Vendor;\n};\n\nexport namespace Indexer {\n export type EnvioConfig = {\n chainId: number;\n hypersyncURL?: string;\n };\n\n export type EnvioDeployment = {\n /** Unix timestamp in seconds for when the indexer ID was created. */\n createdOn?: number;\n endpoint: {\n /** The indexer ID value, e.g. `53b7e25`. */\n id: string;\n /** The URL of the indexer. */\n url: string;\n };\n /** The URL on the Envio Hosted Service. */\n explorerURL: string;\n /** The protocol associated with this indexer. */\n protocol: Indexer.Protocol;\n /**\n * Unix timestamp in seconds for when the indexer ID was used last time in the Sablier Interface.\n * An undefined value means that the indexer ID is no longer used.\n */\n usedUntil?: number;\n };\n\n export type GraphConfig = {\n chainId: number;\n };\n\n export type Name = Protocol | \"analytics\";\n\n export type Protocol = Exclude<Sablier.Protocol, \"legacy\">;\n\n export type Vendor = `${enums.Vendor}` | enums.Vendor;\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Sablier } from \"sablier\";\nimport type * as enums from \"./enums.js\";\n\nexport type Indexer = {\n chainId: number;\n explorerURL?: string;\n endpoint: {\n id?: string;\n url: string;\n };\n kind: \"custom\" | \"official\";\n name: string;\n protocol: Indexer.Protocol;\n /** GraphQL endpoint that doesn't require an API key. Opening it in the browser may lead to a GraphiQL playground.*/\n testingURL?: string;\n vendor: Indexer.Vendor;\n};\n\nexport namespace Indexer {\n export type EnvioConfig = {\n chainId: number;\n hypersyncURL?: string;\n };\n\n export type EnvioDeployment = {\n /** Unix timestamp in seconds for when the indexer ID was created. */\n createdOn?: number;\n endpoint: {\n /** The indexer ID value, e.g. `53b7e25`. */\n id: string;\n /** The URL of the indexer. */\n url: string;\n };\n /** The URL on the Envio Hosted Service. */\n explorerURL: string;\n /** The protocol associated with this indexer. */\n protocol: Indexer.Protocol;\n /**\n * Unix timestamp in seconds for when the indexer ID was used last time in the Sablier Interface.\n * An undefined value means that the indexer ID is no longer used.\n */\n usedUntil?: number;\n };\n\n export type GraphConfig = {\n chainId: number;\n };\n\n export type Name = Protocol | \"analytics\";\n\n /**\n * Bob and Legacy are excluded because they are not part of the Envio/Graph indexers.\n */\n export type Protocol = Exclude<Sablier.Protocol, \"bob\" | \"legacy\">;\n\n export type Vendor = `${enums.Vendor}` | enums.Vendor;\n}\n\n/**\n * Types needed for all indexers: Envio and The Graph.\n */\nexport namespace Model {\n export type ComponentMap<T> = {\n [contractName: string]: {\n [version: string]: T;\n };\n };\n\n /**\n * A variation of the Sablier.Contract with the `alias` and `block` fields required.\n * @see Sablier.Contract\n */\n export type Contract = Sablier.Contract & {\n alias: string;\n block: number;\n version: Sablier.Version;\n };\n\n export type ContractSource<V extends Version> = {\n /** The name of the contract, e.g., SablierFlow. */\n name: string;\n /** Whether the contract is a template, i.e., deployed by a factory. */\n isTemplate: boolean;\n /** The Sablier versions the contract is part of. */\n versions: V[];\n };\n\n /**\n * Event emitted by a Sablier contract that is tracked and processed by our indexers.\n * This type defines the metadata needed to identify and handle specific contract events\n * across different versions and protocols.\n */\n export type Event = {\n /** Name of contract whose ABI contains the event, e.g., SablierLockup. */\n contractName: string;\n /** Event name, e.g., Approval. */\n eventName: string;\n /** Indexers that should process the event, e.g., analytics. */\n indexers: Indexer.Name[];\n /** Protocol of contract, e.g., flow. */\n protocol: Indexer.Protocol;\n /** Version of contract, e.g., v1.0. */\n version: Version;\n };\n\n export type EventMap = ComponentMap<Event[]>;\n\n export type ProtocolMap<T> = {\n [protocol in Indexer.Protocol]: T;\n };\n\n export type Version = Sablier.Version.Airdrops | Sablier.Version.Flow | Sablier.Version.Lockup;\n}\n"]}
@@ -1,2 +1,3 @@
1
1
  export const SUBGRAPH_STUDIO_USER_ID = 112_500;
2
+ export const BILLING_ADDRESS = "0xA6a4c1D99312978A3207fF1a28b958e5efAA0a42";
2
3
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,uBAAuB,GAAG,OAAO,CAAC","sourcesContent":["// User ID in Subgraph Studio for account 0x905Cd35100ad357699B579995825a56C6Ce1e07b\nexport const SUBGRAPH_STUDIO_USER_ID = 112_500;\n"]}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,uBAAuB,GAAG,OAAO,CAAC;AAG/C,MAAM,CAAC,MAAM,eAAe,GAAG,4CAA4C,CAAC","sourcesContent":["// User ID in Subgraph Studio for account 0x905Cd35100ad357699B579995825a56C6Ce1e07b\nexport const SUBGRAPH_STUDIO_USER_ID = 112_500;\n\n// EOA wallet used for pre-paying Sablier fees.\nexport const BILLING_ADDRESS = \"0xA6a4c1D99312978A3207fF1a28b958e5efAA0a42\";\n"]}
@@ -5,36 +5,36 @@ function getURL(id) {
5
5
  export const envioDeployments = {
6
6
  airdrops: {
7
7
  createdOn: 1_712_673_343,
8
+ explorerURL: "https://envio.dev/app/sablier-labs/merkle-envio",
9
+ protocol: Protocol.Airdrops,
8
10
  endpoint: {
9
11
  id: "508d217",
10
12
  get url() {
11
13
  return getURL(this.id);
12
14
  },
13
15
  },
14
- explorerURL: "https://envio.dev/app/sablier-labs/merkle-envio",
15
- protocol: Protocol.Airdrops,
16
16
  },
17
17
  flow: {
18
18
  createdOn: 1_731_318_958,
19
+ explorerURL: "https://envio.dev/app/sablier-labs/flow-envio",
20
+ protocol: Protocol.Flow,
19
21
  endpoint: {
20
22
  id: "3b4ea6b",
21
23
  get url() {
22
24
  return getURL(this.id);
23
25
  },
24
26
  },
25
- explorerURL: "https://envio.dev/app/sablier-labs/flow-envio",
26
- protocol: Protocol.Flow,
27
27
  },
28
28
  lockup: {
29
29
  createdOn: 1_712_673_343,
30
+ explorerURL: "https://envio.dev/app/sablier-labs/lockup-envio",
31
+ protocol: Protocol.Lockup,
30
32
  endpoint: {
31
33
  id: "53b7e25",
32
34
  get url() {
33
35
  return getURL(this.id);
34
36
  },
35
37
  },
36
- explorerURL: "https://envio.dev/app/sablier-labs/lockup-envio",
37
- protocol: Protocol.Lockup,
38
38
  },
39
39
  };
40
40
  //# sourceMappingURL=envio-deployments.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"envio-deployments.js","sourceRoot":"","sources":["../../../src/indexers/envio-deployments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,SAAS,MAAM,CAAC,EAAU;IACxB,OAAO,kCAAkC,EAAE,aAAa,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAsD;IACjF,QAAQ,EAAE;QACR,SAAS,EAAE,aAAa;QACxB,QAAQ,EAAE;YACR,EAAE,EAAE,SAAS;YACb,IAAI,GAAG;gBACL,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC;SACF;QACD,WAAW,EAAE,iDAAiD;QAC9D,QAAQ,EAAE,QAAQ,CAAC,QAAQ;KAC5B;IACD,IAAI,EAAE;QACJ,SAAS,EAAE,aAAa;QACxB,QAAQ,EAAE;YACR,EAAE,EAAE,SAAS;YACb,IAAI,GAAG;gBACL,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC;SACF;QACD,WAAW,EAAE,+CAA+C;QAC5D,QAAQ,EAAE,QAAQ,CAAC,IAAI;KACxB;IACD,MAAM,EAAE;QACN,SAAS,EAAE,aAAa;QACxB,QAAQ,EAAE;YACR,EAAE,EAAE,SAAS;YACb,IAAI,GAAG;gBACL,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC;SACF;QACD,WAAW,EAAE,iDAAiD;QAC9D,QAAQ,EAAE,QAAQ,CAAC,MAAM;KAC1B;CACF,CAAC","sourcesContent":["import { Protocol } from \"sablier/evm\";\nimport type { Indexer } from \"../types.js\";\n\nfunction getURL(id: string) {\n return `https://indexer.hyperindex.xyz/${id}/v1/graphql`;\n}\n\nexport const envioDeployments: Record<Indexer.Protocol, Indexer.EnvioDeployment> = {\n airdrops: {\n createdOn: 1_712_673_343, // April 8, 2024\n endpoint: {\n id: \"508d217\",\n get url() {\n return getURL(this.id);\n },\n },\n explorerURL: \"https://envio.dev/app/sablier-labs/merkle-envio\",\n protocol: Protocol.Airdrops,\n },\n flow: {\n createdOn: 1_731_318_958, // November 1, 2024\n endpoint: {\n id: \"3b4ea6b\",\n get url() {\n return getURL(this.id);\n },\n },\n explorerURL: \"https://envio.dev/app/sablier-labs/flow-envio\",\n protocol: Protocol.Flow,\n },\n lockup: {\n createdOn: 1_712_673_343, // April 8, 2024\n endpoint: {\n id: \"53b7e25\",\n get url() {\n return getURL(this.id);\n },\n },\n explorerURL: \"https://envio.dev/app/sablier-labs/lockup-envio\",\n protocol: Protocol.Lockup,\n },\n};\n"]}
1
+ {"version":3,"file":"envio-deployments.js","sourceRoot":"","sources":["../../../src/indexers/envio-deployments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,SAAS,MAAM,CAAC,EAAU;IACxB,OAAO,kCAAkC,EAAE,aAAa,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAsD;IACjF,QAAQ,EAAE;QACR,SAAS,EAAE,aAAa;QACxB,WAAW,EAAE,iDAAiD;QAC9D,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,QAAQ,EAAE;YACR,EAAE,EAAE,SAAS;YACb,IAAI,GAAG;gBACL,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC;SACF;KACF;IACD,IAAI,EAAE;QACJ,SAAS,EAAE,aAAa;QACxB,WAAW,EAAE,+CAA+C;QAC5D,QAAQ,EAAE,QAAQ,CAAC,IAAI;QACvB,QAAQ,EAAE;YACR,EAAE,EAAE,SAAS;YACb,IAAI,GAAG;gBACL,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC;SACF;KACF;IACD,MAAM,EAAE;QACN,SAAS,EAAE,aAAa;QACxB,WAAW,EAAE,iDAAiD;QAC9D,QAAQ,EAAE,QAAQ,CAAC,MAAM;QACzB,QAAQ,EAAE;YACR,EAAE,EAAE,SAAS;YACb,IAAI,GAAG;gBACL,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC;SACF;KACF;CACF,CAAC","sourcesContent":["import { Protocol } from \"sablier/evm\";\nimport type { Indexer } from \"../types.js\";\n\nfunction getURL(id: string) {\n return `https://indexer.hyperindex.xyz/${id}/v1/graphql`;\n}\n\nexport const envioDeployments: Record<Indexer.Protocol, Indexer.EnvioDeployment> = {\n airdrops: {\n createdOn: 1_712_673_343, // April 8, 2024\n explorerURL: \"https://envio.dev/app/sablier-labs/merkle-envio\",\n protocol: Protocol.Airdrops,\n endpoint: {\n id: \"508d217\",\n get url() {\n return getURL(this.id);\n },\n },\n },\n flow: {\n createdOn: 1_731_318_958, // November 1, 2024\n explorerURL: \"https://envio.dev/app/sablier-labs/flow-envio\",\n protocol: Protocol.Flow,\n endpoint: {\n id: \"3b4ea6b\",\n get url() {\n return getURL(this.id);\n },\n },\n },\n lockup: {\n createdOn: 1_712_673_343, // April 8, 2024\n explorerURL: \"https://envio.dev/app/sablier-labs/lockup-envio\",\n protocol: Protocol.Lockup,\n endpoint: {\n id: \"53b7e25\",\n get url() {\n return getURL(this.id);\n },\n },\n },\n};\n"]}
@@ -38,13 +38,13 @@ function getIndexers(protocol) {
38
38
  const deployment = envioDeployments[protocol];
39
39
  return {
40
40
  chainId: chain.id,
41
+ explorerURL: deployment.explorerURL,
42
+ kind: "official",
43
+ name: `sablier-${protocol}`,
41
44
  endpoint: {
42
45
  id: deployment.endpoint.id,
43
46
  url: deployment.endpoint.url,
44
47
  },
45
- explorerURL: deployment.explorerURL,
46
- kind: "official",
47
- name: `sablier-${protocol}`,
48
48
  protocol,
49
49
  testingURL: `https://cloud.hasura.io/public/graphiql?endpoint=${encodeURIComponent(deployment.endpoint.url)}`,
50
50
  vendor: Vendor.Envio,
@@ -1 +1 @@
1
- {"version":3,"file":"envio.js","sourceRoot":"","sources":["../../../src/indexers/envio.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @file Use this file to define new indexers for Envio.\n *\n * @see https://docs.envio.dev/docs/HyperSync/hypersync-supported-networks\n */\nimport { chains, Protocol } from \"sablier/evm\";\nimport { Vendor } from \"../enums.js\";\nimport type { Indexer } from \"../types.js\";\nimport { envioDeployments } from \"./envio-deployments.js\";\n\ntype EnvioChainConfig = {\n /**\n * @see https://github.com/sablier-labs/indexers/discussions/147\n * @see https://github.com/enviodev/hyperindex/issues/599\n */\n hypersync?: string;\n /**\n * Chains indexed only through RPC. No HyperSync support.\n * @see https://docs.envio.dev/docs/HyperIndex/rpc-sync\n */\n rpcOnly?: boolean;\n};\n\ntype EnvioChain = {\n config?: EnvioChainConfig;\n id: number;\n};\n\nfunction get(id: number, config?: EnvioChainConfig): EnvioChain {\n return { config, id };\n}\n\nconst SUPPORTED_CHAINS = [\n /* -------------------------------------------------------------------------- */\n /* MAINNETS */\n /* -------------------------------------------------------------------------- */\n get(chains.abstract.id),\n get(chains.arbitrum.id),\n get(chains.avalanche.id),\n get(chains.base.id),\n get(chains.blast.id),\n get(chains.berachain.id),\n get(chains.bsc.id),\n get(chains.chiliz.id, { hypersync: \"chiliz\" }),\n get(chains.gnosis.id),\n get(chains.hyperevm.id),\n get(chains.linea.id),\n get(chains.mainnet.id),\n get(chains.mode.id),\n get(chains.monad.id),\n get(chains.morph.id),\n get(chains.optimism.id),\n get(chains.polygon.id),\n get(chains.sonic.id),\n get(chains.scroll.id),\n get(chains.sei.id, { hypersync: \"sei\" }),\n get(chains.sophon.id),\n get(chains.superseed.id),\n get(chains.unichain.id),\n get(chains.xdc.id),\n get(chains.zksync.id),\n /* -------------------------------------------------------------------------- */\n /* TESTNETS */\n /* -------------------------------------------------------------------------- */\n get(chains.baseSepolia.id),\n get(chains.sepolia.id),\n] as const;\n\nfunction getIndexers(protocol: Indexer.Protocol): Indexer[] {\n return SUPPORTED_CHAINS.map((chain) => {\n const deployment = envioDeployments[protocol];\n return {\n chainId: chain.id,\n endpoint: {\n id: deployment.endpoint.id,\n url: deployment.endpoint.url,\n },\n explorerURL: deployment.explorerURL,\n kind: \"official\",\n name: `sablier-${protocol}`,\n protocol,\n testingURL: `https://cloud.hasura.io/public/graphiql?endpoint=${encodeURIComponent(deployment.endpoint.url)}`,\n vendor: Vendor.Envio,\n };\n });\n}\n\nexport const envio: Record<Indexer.Protocol, Indexer[]> = {\n airdrops: getIndexers(Protocol.Airdrops),\n flow: getIndexers(Protocol.Flow),\n lockup: getIndexers(Protocol.Lockup),\n} as const;\n\nexport const envioChains = SUPPORTED_CHAINS;\n"]}
1
+ {"version":3,"file":"envio.js","sourceRoot":"","sources":["../../../src/indexers/envio.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @file Use this file to define new indexers for Envio.\n *\n * @see https://docs.envio.dev/docs/HyperSync/hypersync-supported-networks\n */\nimport { chains, Protocol } from \"sablier/evm\";\nimport { Vendor } from \"../enums.js\";\nimport type { Indexer } from \"../types.js\";\nimport { envioDeployments } from \"./envio-deployments.js\";\n\ntype EnvioChainConfig = {\n /**\n * @see https://github.com/sablier-labs/indexers/discussions/147\n * @see https://github.com/enviodev/hyperindex/issues/599\n */\n hypersync?: string;\n /**\n * Chains indexed only through RPC. No HyperSync support.\n * @see https://docs.envio.dev/docs/HyperIndex/rpc-sync\n */\n rpcOnly?: boolean;\n};\n\ntype EnvioChain = {\n config?: EnvioChainConfig;\n id: number;\n};\n\nfunction get(id: number, config?: EnvioChainConfig): EnvioChain {\n return { config, id };\n}\n\nconst SUPPORTED_CHAINS = [\n /* -------------------------------------------------------------------------- */\n /* MAINNETS */\n /* -------------------------------------------------------------------------- */\n get(chains.abstract.id),\n get(chains.arbitrum.id),\n get(chains.avalanche.id),\n get(chains.base.id),\n get(chains.blast.id),\n get(chains.berachain.id),\n get(chains.bsc.id),\n get(chains.chiliz.id, { hypersync: \"chiliz\" }),\n get(chains.gnosis.id),\n get(chains.hyperevm.id),\n get(chains.linea.id),\n get(chains.mainnet.id),\n get(chains.mode.id),\n get(chains.monad.id),\n get(chains.morph.id),\n get(chains.optimism.id),\n get(chains.polygon.id),\n get(chains.sonic.id),\n get(chains.scroll.id),\n get(chains.sei.id, { hypersync: \"sei\" }),\n get(chains.sophon.id),\n get(chains.superseed.id),\n get(chains.unichain.id),\n get(chains.xdc.id),\n get(chains.zksync.id),\n /* -------------------------------------------------------------------------- */\n /* TESTNETS */\n /* -------------------------------------------------------------------------- */\n get(chains.baseSepolia.id),\n get(chains.sepolia.id),\n] as const;\n\nfunction getIndexers(protocol: Indexer.Protocol): Indexer[] {\n return SUPPORTED_CHAINS.map((chain) => {\n const deployment = envioDeployments[protocol];\n return {\n chainId: chain.id,\n explorerURL: deployment.explorerURL,\n kind: \"official\",\n name: `sablier-${protocol}`,\n endpoint: {\n id: deployment.endpoint.id,\n url: deployment.endpoint.url,\n },\n protocol,\n testingURL: `https://cloud.hasura.io/public/graphiql?endpoint=${encodeURIComponent(deployment.endpoint.url)}`,\n vendor: Vendor.Envio,\n };\n });\n}\n\nexport const envio: Record<Indexer.Protocol, Indexer[]> = {\n airdrops: getIndexers(Protocol.Airdrops),\n flow: getIndexers(Protocol.Flow),\n lockup: getIndexers(Protocol.Lockup),\n} as const;\n\nexport const envioChains = SUPPORTED_CHAINS;\n"]}
@@ -4,15 +4,11 @@ import { SUBGRAPH_STUDIO_USER_ID } from "../constants.js";
4
4
  import { Vendor } from "../enums.js";
5
5
  const CHAIN_SLUG_GRAPH_OVERRIDES = {
6
6
  [chains.arbitrum.id]: "arbitrum-one",
7
- [chains.blast.id]: "blast-mainnet",
8
- [chains.coreDao.id]: "core",
9
7
  [chains.denergy.id]: "denergychain",
10
8
  [chains.polygon.id]: "matic",
11
- [chains.sei.id]: "sei-mainnet",
12
9
  [chains.zksync.id]: "zksync-era",
13
10
  };
14
11
  const CHAIN_SLUG_SABLIER_OVERRIDES = {
15
- [chains.coreDao.id]: "core",
16
12
  [chains.denergy.id]: "denergychain",
17
13
  [chains.mainnet.id]: "ethereum",
18
14
  };
@@ -41,12 +37,12 @@ function resolveCustom(protocol, chainId, templateURL) {
41
37
  const endpointUrl = templateURL.replace(NAME_TEMPLATING_VAR, subgraphName);
42
38
  return {
43
39
  chainId,
44
- endpoint: {
45
- url: endpointUrl,
46
- },
47
40
  explorerURL: `${endpointUrl}/graphql`,
48
41
  kind: "custom",
49
42
  name: subgraphName,
43
+ endpoint: {
44
+ url: endpointUrl,
45
+ },
50
46
  protocol,
51
47
  vendor: Vendor.Graph,
52
48
  };
@@ -55,13 +51,13 @@ function resolveOfficial(protocol, chainId, subgraphId) {
55
51
  const subgraphName = getSubgraphName(chainId, protocol);
56
52
  return {
57
53
  chainId,
54
+ explorerURL: `https://thegraph.com/explorer/subgraphs/${subgraphId}`,
55
+ kind: "official",
56
+ name: subgraphName,
58
57
  endpoint: {
59
58
  id: subgraphId,
60
59
  url: `https://gateway.thegraph.com/api/subgraphs/id/${subgraphId}`,
61
60
  },
62
- explorerURL: `https://thegraph.com/explorer/subgraphs/${subgraphId}`,
63
- kind: "official",
64
- name: subgraphName,
65
61
  protocol,
66
62
  testingURL: `https://api.studio.thegraph.com/query/${SUBGRAPH_STUDIO_USER_ID}/${subgraphName}/version/latest`,
67
63
  vendor: Vendor.Graph,
@@ -83,7 +79,6 @@ function official(chainId, idMap) {
83
79
  }
84
80
  const CUSTOMS = [
85
81
  custom(chains.lightlink.id, "https://graph.phoenix.lightlink.io/query/subgraphs/name/lightlink/{SUBGRAPH_NAME}"),
86
- custom(chains.coreDao.id, "https://thegraph.coredao.org/subgraphs/name/core/{SUBGRAPH_NAME}"),
87
82
  custom(chains.denergy.id, "https://thegraph.denergychain.com/subgraphs/name/denergychain/{SUBGRAPH_NAME}"),
88
83
  ];
89
84
  const OFFICIALS = [
@@ -117,11 +112,6 @@ const OFFICIALS = [
117
112
  flow: "J87eaBLfTe7kKWgUGqe5TxntNCzA4pyWmqJowMddehuh",
118
113
  lockup: "C2r13APcUemQtVdPFm7p7T3aJkU2rH2EvdZzrQ53zi14",
119
114
  }),
120
- official(chains.blast.id, {
121
- airdrops: "657bogqYaDSSeqsoJcJ1kRqGnc3jC15UmcVLzsYxyxKK",
122
- flow: "8joiC9LpUbSV6eGRr3RWXDArM8p9Q65FKiFekAakkyia",
123
- lockup: "8MBBc6ET4izgJRrybgWzPjokhZKSjk43BNY1q3xcb8Es",
124
- }),
125
115
  official(chains.bsc.id, {
126
116
  airdrops: "FXQT42kQPvpMJgsF5Bs6CqpxVvPP1LBqEhWThCCLMeGL",
127
117
  flow: "2vU8KF4yWh3vvFjtg7MrRXMnYF3hPX2T3cvVBdaiXhNb",
@@ -157,11 +147,6 @@ const OFFICIALS = [
157
147
  flow: "HFpTrPzJyrHKWZ9ebb4VFRQSxRwpepyfz5wd138daFkF",
158
148
  lockup: "GycpYx8c9eRqxvEAfqnpNd1ZfXeuLzjRhnG7vvYaqEE1",
159
149
  }),
160
- official(chains.sei.id, {
161
- airdrops: "HCxLCRqd5MorHXxmXFUBBcA71zTGXnn97Xk2uaBmStsy",
162
- flow: "41ZGYcFgL2N7L5ng78S4sD6NHDNYEYcNFxnz4T8Zh3iU",
163
- lockup: "AJU5rBfbuApuJpeZeaz6NYuYnnhAhEy4gFkqsSdAT6xb",
164
- }),
165
150
  official(chains.sonic.id, {
166
151
  airdrops: "5g8orwpm5Rf83G8eqDzDjodt3sG2D64cbiLC98Utmv4Q",
167
152
  flow: "HkQKZKuM6dZ7Vc4FGC1gZTVVTniYJWRhTRmDDMNzN8zk",
@@ -1 +1 @@
1
- {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../src/indexers/graph.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAarC,MAAM,0BAA0B,GAAkC;IAChE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,cAAc;IACpC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,eAAe;IAClC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,MAAM;IAC3B,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,cAAc;IACnC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,OAAO;IAC5B,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,aAAa;IAC9B,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,YAAY;CACjC,CAAC;AAKF,MAAM,4BAA4B,GAAkC;IAClE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,MAAM;IAC3B,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,cAAc;IACnC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,UAAU;CAChC,CAAC;AAMF,MAAM,wBAAwB,GAAkC;IAC9D,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,SAAS;CACjC,CAAC;AAEF,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AAM9C,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,OAAO,0BAA0B,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;AACxF,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,OAAO,4BAA4B,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAAe;IACtD,OAAO,wBAAwB,CAAC,OAAO,CAAC,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,eAAe,CAAC,OAAe,EAAE,QAA0B;IAClE,MAAM,cAAc,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACpD,OAAO,WAAW,QAAQ,IAAI,cAAc,EAAE,CAAC;AACjD,CAAC;AAKD,SAAS,aAAa,CAAC,QAA0B,EAAE,OAAe,EAAE,WAAmB;IACrF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CACb,0DAA0D,mBAAmB,EAAE,CAChF,CAAC;IACJ,CAAC;IACD,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAExD,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;IAC3E,OAAO;QACL,OAAO;QACP,QAAQ,EAAE;YACR,GAAG,EAAE,WAAW;SACjB;QACD,WAAW,EAAE,GAAG,WAAW,UAAU;QACrC,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,YAAY;QAClB,QAAQ;QACR,MAAM,EAAE,MAAM,CAAC,KAAK;KACrB,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,QAA0B,EAAE,OAAe,EAAE,UAAkB;IACtF,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACxD,OAAO;QACL,OAAO;QACP,QAAQ,EAAE;YACR,EAAE,EAAE,UAAU;YACd,GAAG,EAAE,iDAAiD,UAAU,EAAE;SACnE;QACD,WAAW,EAAE,2CAA2C,UAAU,EAAE;QACpE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,YAAY;QAClB,QAAQ;QACR,UAAU,EAAE,yCAAyC,uBAAuB,IAAI,YAAY,iBAAiB;QAC7G,MAAM,EAAE,MAAM,CAAC,KAAK;KACrB,CAAC;AACJ,CAAC;AAUD,SAAS,MAAM,CAAC,OAAe,EAAE,OAAe;IAC9C,OAAO;QACL,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC;QAC5D,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC;QACpD,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;KACzD,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,OAAe,EAAE,KAAoB;IACrD,OAAO;QACL,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC;QACrE,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC;QACzD,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC;KAChE,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,GAAsB;IACjC,MAAM,CACJ,MAAM,CAAC,SAAS,CAAC,EAAE,EACnB,mFAAmF,CACpF;IACD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,kEAAkE,CAAC;IAC7F,MAAM,CACJ,MAAM,CAAC,OAAO,CAAC,EAAE,EACjB,+EAA+E,CAChF;CACF,CAAC;AAEF,MAAM,SAAS,GAAsB;IAInC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE;QAC1B,QAAQ,EAAE,8CAA8C;QACxD,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE,8CAA8C;KACvD,CAAC;IACF,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE;QAC3B,QAAQ,EAAE,8CAA8C;QACxD,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE,8CAA8C;KACvD,CAAC;IACF,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE;QAC3B,QAAQ,EAAE,8CAA8C;QACxD,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE,6CAA6C;KACtD,CAAC;IACF,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE;QAC5B,QAAQ,EAAE,8CAA8C;QACxD,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE,8CAA8C;KACvD,CAAC;IACF,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE;QACvB,QAAQ,EAAE,8CAA8C;QACxD,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE,8CAA8C;KACvD,CAAC;IACF,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE;QAC5B,QAAQ,EAAE,8CAA8C;QACxD,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE,8CAA8C;KACvD,CAAC;IACF,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE;QACxB,QAAQ,EAAE,8CAA8C;QACxD,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE,8CAA8C;KACvD,CAAC;IACF,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE;QACtB,QAAQ,EAAE,8CAA8C;QACxD,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE,8CAA8C;KACvD,CAAC;IACF,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE;QACzB,QAAQ,EAAE,8CAA8C;QACxD,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE,6CAA6C;KACtD,CAAC;IACF,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE;QACzB,QAAQ,EAAE,6CAA6C;QACvD,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE,8CAA8C;KACvD,CAAC;IACF,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE;QACxB,QAAQ,EAAE,8CAA8C;QACxD,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE,8CAA8C;KACvD,CAAC;IAOF,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE;QAC3B,QAAQ,EAAE,8CAA8C;QACxD,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE,6CAA6C;KACtD,CAAC;IACF,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE;QAC1B,QAAQ,EAAE,8CAA8C;QACxD,IAAI,EAAE,6CAA6C;QACnD,MAAM,EAAE,8CAA8C;KACvD,CAAC;IACF,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE;QACzB,QAAQ,EAAE,6CAA6C;QACvD,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE,8CAA8C;KACvD,CAAC;IACF,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE;QACtB,QAAQ,EAAE,8CAA8C;QACxD,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE,8CAA8C;KACvD,CAAC;IACF,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE;QACxB,QAAQ,EAAE,8CAA8C;QACxD,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE,8CAA8C;KACvD,CAAC;IACF,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE;QAC3B,QAAQ,EAAE,8CAA8C;QACxD,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE,8CAA8C;KACvD,CAAC;IACF,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE;QACzB,QAAQ,EAAE,8CAA8C;QACxD,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE,8CAA8C;KACvD,CAAC;IAIF,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE;QAC9B,QAAQ,EAAE,8CAA8C;QACxD,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE,8CAA8C;KACvD,CAAC;IACF,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE;QAC1B,QAAQ,EAAE,8CAA8C;QACxD,IAAI,EAAE,8CAA8C;QACpD,MAAM,EAAE,8CAA8C;KACvD,CAAC;CACH,CAAC;AAEF,MAAM,GAAG,GAAsB,CAAC,GAAG,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC;AAE1D,SAAS,aAAa,CAAC,WAA8B,EAAE,QAA0B;IAC/E,OAAO,WAAW;SACf,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;SACzC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;QAC7D,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;QAC7D,OAAO,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,MAAM,KAAK,GAAwC;IACxD,QAAQ,EAAE,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAC/C,IAAI,EAAE,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC;IACvC,MAAM,EAAE,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC;CAC5C,CAAC;AAGF,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC","sourcesContent":["/**\n * @file Use this file to define new indexers for The Graph.\n *\n */\nimport { sablier } from \"sablier\";\nimport { chains, Protocol } from \"sablier/evm\";\nimport { SUBGRAPH_STUDIO_USER_ID } from \"../constants.js\";\nimport { Vendor } from \"../enums.js\";\nimport type { Indexer } from \"../types.js\";\n\n/* -------------------------------------------------------------------------- */\n/* CONSTANTS */\n/* -------------------------------------------------------------------------- */\n\n/**\n * Custom chain slugs used by The Graph.\n *\n * ⚠️ NOTE: not all chain names used by The Graph are the same as the chain's slug defined in the Sablier SDK.\n * @see https://thegraph.com/docs/en/supported-networks\n */\nconst CHAIN_SLUG_GRAPH_OVERRIDES: { [chainId: number]: string } = {\n [chains.arbitrum.id]: \"arbitrum-one\",\n [chains.blast.id]: \"blast-mainnet\",\n [chains.coreDao.id]: \"core\",\n [chains.denergy.id]: \"denergychain\",\n [chains.polygon.id]: \"matic\",\n [chains.sei.id]: \"sei-mainnet\",\n [chains.zksync.id]: \"zksync-era\",\n};\n\n/**\n * Custom chain slugs used by Sablier subgraphs.\n */\nconst CHAIN_SLUG_SABLIER_OVERRIDES: { [chainId: number]: string } = {\n [chains.coreDao.id]: \"core\",\n [chains.denergy.id]: \"denergychain\",\n [chains.mainnet.id]: \"ethereum\",\n};\n\n/**\n * Some chains have made the really bad design choice of using custom network identifiers\n * in their subgraph.yaml files.\n */\nconst CHAIN_SLUG_SUBGRAPH_YAML: { [chainId: number]: string } = {\n [chains.lightlink.id]: \"mainnet\",\n};\n\nconst NAME_TEMPLATING_VAR = \"{SUBGRAPH_NAME}\";\n\n/* -------------------------------------------------------------------------- */\n/* HELPERS */\n/* -------------------------------------------------------------------------- */\n\nexport function getGraphChainSlug(chainId: number): string {\n return CHAIN_SLUG_GRAPH_OVERRIDES[chainId] ?? sablier.chains.getOrThrow(chainId).slug;\n}\n\nexport function getSablierChainSlug(chainId: number): string {\n return CHAIN_SLUG_SABLIER_OVERRIDES[chainId] ?? sablier.chains.getOrThrow(chainId).slug;\n}\n\nexport function getSubgraphYamlChainSlug(chainId: number): string {\n return CHAIN_SLUG_SUBGRAPH_YAML[chainId] ?? getGraphChainSlug(chainId);\n}\n\nfunction getSubgraphName(chainId: number, protocol: Indexer.Protocol): string {\n const graphChainName = getSablierChainSlug(chainId);\n return `sablier-${protocol}-${graphChainName}`;\n}\n\n/**\n * Sort indexers alphabetically by chain name.\n */\nfunction resolveCustom(protocol: Indexer.Protocol, chainId: number, templateURL: string): Indexer {\n if (!templateURL.includes(NAME_TEMPLATING_VAR)) {\n throw new Error(\n `Template URL for custom Graph indexer does not include ${NAME_TEMPLATING_VAR}`\n );\n }\n const subgraphName = getSubgraphName(chainId, protocol);\n\n const endpointUrl = templateURL.replace(NAME_TEMPLATING_VAR, subgraphName);\n return {\n chainId,\n endpoint: {\n url: endpointUrl,\n },\n explorerURL: `${endpointUrl}/graphql`,\n kind: \"custom\",\n name: subgraphName,\n protocol,\n vendor: Vendor.Graph,\n };\n}\n\nfunction resolveOfficial(protocol: Indexer.Protocol, chainId: number, subgraphId: string): Indexer {\n const subgraphName = getSubgraphName(chainId, protocol);\n return {\n chainId,\n endpoint: {\n id: subgraphId,\n url: `https://gateway.thegraph.com/api/subgraphs/id/${subgraphId}`,\n },\n explorerURL: `https://thegraph.com/explorer/subgraphs/${subgraphId}`,\n kind: \"official\",\n name: subgraphName,\n protocol,\n testingURL: `https://api.studio.thegraph.com/query/${SUBGRAPH_STUDIO_USER_ID}/${subgraphName}/version/latest`,\n vendor: Vendor.Graph,\n };\n}\n\n/* -------------------------------------------------------------------------- */\n/* DEFINITIONS */\n/* -------------------------------------------------------------------------- */\n\ntype SubgraphId = string;\ntype SubgraphIdMap = Record<Indexer.Protocol, SubgraphId>;\ntype IndexerGraphMap = Record<Indexer.Protocol, Indexer>;\n\nfunction custom(chainId: number, baseURL: string): IndexerGraphMap {\n return {\n airdrops: resolveCustom(Protocol.Airdrops, chainId, baseURL),\n flow: resolveCustom(Protocol.Flow, chainId, baseURL),\n lockup: resolveCustom(Protocol.Lockup, chainId, baseURL),\n };\n}\n\nfunction official(chainId: number, idMap: SubgraphIdMap): IndexerGraphMap {\n return {\n airdrops: resolveOfficial(Protocol.Airdrops, chainId, idMap.airdrops),\n flow: resolveOfficial(Protocol.Flow, chainId, idMap.flow),\n lockup: resolveOfficial(Protocol.Lockup, chainId, idMap.lockup),\n };\n}\n\nconst CUSTOMS: IndexerGraphMap[] = [\n custom(\n chains.lightlink.id,\n \"https://graph.phoenix.lightlink.io/query/subgraphs/name/lightlink/{SUBGRAPH_NAME}\"\n ),\n custom(chains.coreDao.id, \"https://thegraph.coredao.org/subgraphs/name/core/{SUBGRAPH_NAME}\"),\n custom(\n chains.denergy.id,\n \"https://thegraph.denergychain.com/subgraphs/name/denergychain/{SUBGRAPH_NAME}\"\n ),\n];\n\nconst OFFICIALS: IndexerGraphMap[] = [\n /* -------------------------------------------------------------------------- */\n /* MAINNETS */\n /* -------------------------------------------------------------------------- */\n official(chains.mainnet.id, {\n airdrops: \"DFD73EcSue44R7mpHvXeyvcgaT8tR1iKakZFjBsiFpjs\",\n flow: \"ECxBJhKceBGaVvK6vqmK3VQAncKwPeAQutEb8TeiUiod\",\n lockup: \"AvDAMYYHGaEwn9F9585uqq6MM5CfvRtYcb7KjK7LKPCt\",\n }),\n official(chains.abstract.id, {\n airdrops: \"DRrf6mYEhRt9QieKvTjDHnSWcBm3GW96hpedMKVxLABx\",\n flow: \"Gq3e1gihMoSynURwGXQnPoKGVZzdsyomdrMH934vQHuG\",\n lockup: \"2QjTdDFY233faXksUruMERMiDoQDdtGG5hBLC27aT1Pw\",\n }),\n official(chains.arbitrum.id, {\n airdrops: \"HkHDg6NVVVeobhpcU4pTPMktyC25zd6xAQBGpYrWDgRr\",\n flow: \"C3kBBUVtW2rxqGpAgSgEuSaT49izkH6Q8UibRt7XFTyW\",\n lockup: \"yvDXXHSyv6rGPSzfpbBcbQmMFrECac3Q2zADkYsMxam\",\n }),\n official(chains.avalanche.id, {\n airdrops: \"CpbN5Ps25UzqfdoqYdrjoSK4Him6nwDvdLK6a2sGS1PA\",\n flow: \"6PAizjTALVqLLB7Ycq6XnpTeck8Z8QUpDFnVznMnisUh\",\n lockup: \"FTDmonvFEm1VGkzECcnDY2CPHcW5dSmHRurSjEEfTkCX\",\n }),\n official(chains.base.id, {\n airdrops: \"4SxPXkQNifgBYqje2C4yP5gz69erZwtD7GuLWgXHSLGe\",\n flow: \"4XSxXh8ZgkzaA35nrbQG9Ry3FYz3ZFD8QBdWwVg5pF9W\",\n lockup: \"778GfecD9tsyB4xNnz4wfuAyfHU6rqGr79VCPZKu3t2F\",\n }),\n official(chains.berachain.id, {\n airdrops: \"CnYsdmzuY3Mebwywvqv1WrXw9UZuPMTrxoGgR2UdThJE\",\n flow: \"J87eaBLfTe7kKWgUGqe5TxntNCzA4pyWmqJowMddehuh\",\n lockup: \"C2r13APcUemQtVdPFm7p7T3aJkU2rH2EvdZzrQ53zi14\",\n }),\n official(chains.blast.id, {\n airdrops: \"657bogqYaDSSeqsoJcJ1kRqGnc3jC15UmcVLzsYxyxKK\",\n flow: \"8joiC9LpUbSV6eGRr3RWXDArM8p9Q65FKiFekAakkyia\",\n lockup: \"8MBBc6ET4izgJRrybgWzPjokhZKSjk43BNY1q3xcb8Es\",\n }),\n official(chains.bsc.id, {\n airdrops: \"FXQT42kQPvpMJgsF5Bs6CqpxVvPP1LBqEhWThCCLMeGL\",\n flow: \"2vU8KF4yWh3vvFjtg7MrRXMnYF3hPX2T3cvVBdaiXhNb\",\n lockup: \"A8Vc9hi7j45u7P8Uw5dg4uqYJgPo4x1rB4oZtTVaiccK\",\n }),\n official(chains.chiliz.id, {\n airdrops: \"6LK1aqrhzZCp6c88MEBDAR1VDLpZQiXpBKkceJ5Lu4LU\",\n flow: \"7QX7tJsANNFpxFLLjqzmXRzfY1wPGp3Lty5xGbhgADa6\",\n lockup: \"4KsXUFvsKFHH7Q8k3BPgEv2NhCJJGwG78gCPAUpncYb\",\n }),\n official(chains.gnosis.id, {\n airdrops: \"kQEY5PYbjx4SMKyMUwqJHRLDzKH1aUqGsf1cnibU7Kn\",\n flow: \"4KiJ53cTNKdFWPBPmDNQ55tYj8hn1WQg8R4UcTY2STLL\",\n lockup: \"DtKniy1RvB19q1r2g1WLN4reMNKDacEnuAjh284rW2iK\",\n }),\n official(chains.linea.id, {\n airdrops: \"6koYFSd8FQizdQWLTdRpL1yTmAbpMgN1vZN5W6ajZiTN\",\n flow: \"DV9XgcCCPKzUn6pgetg4yPetpW2fNoRKBUQC43aNeLG6\",\n lockup: \"GvpecytqVzLzuwuQB3enozXoaZRFoVx8Kr7qrfMiE9bs\",\n }),\n // Uncomment when The Graph fixes their support for Monad; see the TG chat\n // official(chains.monad.id, {\n // airdrops: \"6koYFSd8FQizdQWLTdRpL1yTmAbpMgN1vZN5W6ajZiTN\",\n // flow: \"DV9XgcCCPKzUn6pgetg4yPetpW2fNoRKBUQC43aNeLG6\",\n // lockup: \"GvpecytqVzLzuwuQB3enozXoaZRFoVx8Kr7qrfMiE9bs\",\n // }),\n official(chains.optimism.id, {\n airdrops: \"CHJtCNDzPqngpa1YJoaVrjuufZL6k6VkEkG9ZFUMQzF7\",\n flow: \"AygPgsehNGSB4K7DYYtvBPhTpEiU4dCu3nt95bh9FhRf\",\n lockup: \"NZHzd2JNFKhHP5EWUiDxa5TaxGCFbSD4g6YnYr8JGi6\",\n }),\n official(chains.polygon.id, {\n airdrops: \"FRbBKiDyM5YpFAqHLXRfQWwQdMGzFL82hqoPXPpXzAHE\",\n flow: \"ykp38sLarwz3cpmjSSPqo7UuTjYtkZ1KiL4PM2qwmT8\",\n lockup: \"8fgeQMEQ8sskVeWE5nvtsVL2VpezDrAkx2d1VeiHiheu\",\n }),\n official(chains.scroll.id, {\n airdrops: \"Ev4xS8VxuoUcpgqz5A2BkTgQxQeskm4Fg41XzVJ2DX9\",\n flow: \"HFpTrPzJyrHKWZ9ebb4VFRQSxRwpepyfz5wd138daFkF\",\n lockup: \"GycpYx8c9eRqxvEAfqnpNd1ZfXeuLzjRhnG7vvYaqEE1\",\n }),\n official(chains.sei.id, {\n airdrops: \"HCxLCRqd5MorHXxmXFUBBcA71zTGXnn97Xk2uaBmStsy\",\n flow: \"41ZGYcFgL2N7L5ng78S4sD6NHDNYEYcNFxnz4T8Zh3iU\",\n lockup: \"AJU5rBfbuApuJpeZeaz6NYuYnnhAhEy4gFkqsSdAT6xb\",\n }),\n official(chains.sonic.id, {\n airdrops: \"5g8orwpm5Rf83G8eqDzDjodt3sG2D64cbiLC98Utmv4Q\",\n flow: \"HkQKZKuM6dZ7Vc4FGC1gZTVVTniYJWRhTRmDDMNzN8zk\",\n lockup: \"GnaSPX9XLkPn219CqbGFU1NgveuQk2Hh3c8WxjtesaEh\",\n }),\n official(chains.unichain.id, {\n airdrops: \"4rQMJ85hKNhcaDyirGipGvcqS4auGU3QCFRBnpiexyNy\",\n flow: \"Cb5uDYfy4ukN9fjhQ3PQZgDzyo6G66ztn1e847rS7Xa8\",\n lockup: \"3MUG4H3gZcp9fpGLiJMTMeUFcQQ6QdT317P4wYKyns9M\",\n }),\n official(chains.zksync.id, {\n airdrops: \"64iDUwNVWKukw67nqTXif5taEfLug4Qf1c2suAv5hrqN\",\n flow: \"9DRgWhDAMovpkej3eT8izum6jxEKHE62ciArffsTAScx\",\n lockup: \"7SuEYGYwZ835LjVGB85ZE8z5zmqdKgmRh8kAEeJefWQN\",\n }),\n /* -------------------------------------------------------------------------- */\n /* TESTNETS */\n /* -------------------------------------------------------------------------- */\n official(chains.baseSepolia.id, {\n airdrops: \"4R2hm27YJ7CVEJ97BbBJz2r4KTKYc8sTqqzrD8UzEfJt\",\n flow: \"AsnKT1waQMvuQxZAqfFuYwtRtAfN8uekDu75jPttfyLh\",\n lockup: \"DdiYENuyh5ztSybRJnBnCZuUgESkFasjGFHZUbURpKHz\",\n }),\n official(chains.sepolia.id, {\n airdrops: \"8PLGDyXEsPgRTAnozL7MAjmTUFY4TBzs8i4F9Pq3wwSh\",\n flow: \"EU9AWmJjrjMRkjxcdHfuWPZvPTNAL3hiXfNGN5MwUpvm\",\n lockup: \"5yDtFSxyRuqyjvGJyyuQhMEW3Uah7Ddy2KFSKVhy9VMa\",\n }),\n];\n\nconst ALL: IndexerGraphMap[] = [...CUSTOMS, ...OFFICIALS];\n\nfunction toSortedArray(indexerMaps: IndexerGraphMap[], protocol: Indexer.Protocol): Indexer[] {\n return indexerMaps\n .map((indexerMap) => indexerMap[protocol])\n .sort((a, b) => {\n const chainNameA = sablier.chains.getOrThrow(a.chainId).name;\n const chainNameB = sablier.chains.getOrThrow(b.chainId).name;\n return chainNameA.localeCompare(chainNameB);\n });\n}\n\nexport const graph: Record<Indexer.Protocol, Indexer[]> = {\n airdrops: toSortedArray(ALL, Protocol.Airdrops),\n flow: toSortedArray(ALL, Protocol.Flow),\n lockup: toSortedArray(ALL, Protocol.Lockup),\n};\n\n// It doesn't matter what protocol we are using since each chain supports all protocols.\nexport const graphChains = graph.lockup.map((c) => c.chainId);\n"]}
1
+ {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../src/indexers/graph.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @file Use this file to define new indexers for The Graph.\n *\n */\nimport { sablier } from \"sablier\";\nimport { chains, Protocol } from \"sablier/evm\";\nimport { SUBGRAPH_STUDIO_USER_ID } from \"../constants.js\";\nimport { Vendor } from \"../enums.js\";\nimport type { Indexer } from \"../types.js\";\n\n/* -------------------------------------------------------------------------- */\n/* CONSTANTS */\n/* -------------------------------------------------------------------------- */\n\n/**\n * Custom chain slugs used by The Graph.\n *\n * ⚠️ NOTE: not all chain names used by The Graph are the same as the chain's slug defined in the Sablier SDK.\n * @see https://thegraph.com/docs/en/supported-networks\n */\nconst CHAIN_SLUG_GRAPH_OVERRIDES: { [chainId: number]: string } = {\n [chains.arbitrum.id]: \"arbitrum-one\",\n [chains.denergy.id]: \"denergychain\",\n [chains.polygon.id]: \"matic\",\n [chains.zksync.id]: \"zksync-era\",\n};\n\n/**\n * Custom chain slugs used by Sablier subgraphs.\n */\nconst CHAIN_SLUG_SABLIER_OVERRIDES: { [chainId: number]: string } = {\n [chains.denergy.id]: \"denergychain\",\n [chains.mainnet.id]: \"ethereum\",\n};\n\n/**\n * Some chains have made the really bad design choice of using custom network identifiers\n * in their subgraph.yaml files.\n */\nconst CHAIN_SLUG_SUBGRAPH_YAML: { [chainId: number]: string } = {\n [chains.lightlink.id]: \"mainnet\",\n};\n\nconst NAME_TEMPLATING_VAR = \"{SUBGRAPH_NAME}\";\n\n/* -------------------------------------------------------------------------- */\n/* HELPERS */\n/* -------------------------------------------------------------------------- */\n\nexport function getGraphChainSlug(chainId: number): string {\n return CHAIN_SLUG_GRAPH_OVERRIDES[chainId] ?? sablier.chains.getOrThrow(chainId).slug;\n}\n\nexport function getSablierChainSlug(chainId: number): string {\n return CHAIN_SLUG_SABLIER_OVERRIDES[chainId] ?? sablier.chains.getOrThrow(chainId).slug;\n}\n\nexport function getSubgraphYamlChainSlug(chainId: number): string {\n return CHAIN_SLUG_SUBGRAPH_YAML[chainId] ?? getGraphChainSlug(chainId);\n}\n\nfunction getSubgraphName(chainId: number, protocol: Indexer.Protocol): string {\n const graphChainName = getSablierChainSlug(chainId);\n return `sablier-${protocol}-${graphChainName}`;\n}\n\n/**\n * Sort indexers alphabetically by chain name.\n */\nfunction resolveCustom(protocol: Indexer.Protocol, chainId: number, templateURL: string): Indexer {\n if (!templateURL.includes(NAME_TEMPLATING_VAR)) {\n throw new Error(\n `Template URL for custom Graph indexer does not include ${NAME_TEMPLATING_VAR}`\n );\n }\n const subgraphName = getSubgraphName(chainId, protocol);\n\n const endpointUrl = templateURL.replace(NAME_TEMPLATING_VAR, subgraphName);\n return {\n chainId,\n explorerURL: `${endpointUrl}/graphql`,\n kind: \"custom\",\n name: subgraphName,\n endpoint: {\n url: endpointUrl,\n },\n protocol,\n vendor: Vendor.Graph,\n };\n}\n\nfunction resolveOfficial(protocol: Indexer.Protocol, chainId: number, subgraphId: string): Indexer {\n const subgraphName = getSubgraphName(chainId, protocol);\n return {\n chainId,\n explorerURL: `https://thegraph.com/explorer/subgraphs/${subgraphId}`,\n kind: \"official\",\n name: subgraphName,\n endpoint: {\n id: subgraphId,\n url: `https://gateway.thegraph.com/api/subgraphs/id/${subgraphId}`,\n },\n protocol,\n testingURL: `https://api.studio.thegraph.com/query/${SUBGRAPH_STUDIO_USER_ID}/${subgraphName}/version/latest`,\n vendor: Vendor.Graph,\n };\n}\n\n/* -------------------------------------------------------------------------- */\n/* DEFINITIONS */\n/* -------------------------------------------------------------------------- */\n\ntype SubgraphId = string;\ntype SubgraphIdMap = Record<Indexer.Protocol, SubgraphId>;\ntype IndexerGraphMap = Record<Indexer.Protocol, Indexer>;\n\nfunction custom(chainId: number, baseURL: string): IndexerGraphMap {\n return {\n airdrops: resolveCustom(Protocol.Airdrops, chainId, baseURL),\n flow: resolveCustom(Protocol.Flow, chainId, baseURL),\n lockup: resolveCustom(Protocol.Lockup, chainId, baseURL),\n };\n}\n\nfunction official(chainId: number, idMap: SubgraphIdMap): IndexerGraphMap {\n return {\n airdrops: resolveOfficial(Protocol.Airdrops, chainId, idMap.airdrops),\n flow: resolveOfficial(Protocol.Flow, chainId, idMap.flow),\n lockup: resolveOfficial(Protocol.Lockup, chainId, idMap.lockup),\n };\n}\n\nconst CUSTOMS: IndexerGraphMap[] = [\n custom(\n chains.lightlink.id,\n \"https://graph.phoenix.lightlink.io/query/subgraphs/name/lightlink/{SUBGRAPH_NAME}\"\n ),\n custom(\n chains.denergy.id,\n \"https://thegraph.denergychain.com/subgraphs/name/denergychain/{SUBGRAPH_NAME}\"\n ),\n];\n\nconst OFFICIALS: IndexerGraphMap[] = [\n /* -------------------------------------------------------------------------- */\n /* MAINNETS */\n /* -------------------------------------------------------------------------- */\n official(chains.mainnet.id, {\n airdrops: \"DFD73EcSue44R7mpHvXeyvcgaT8tR1iKakZFjBsiFpjs\",\n flow: \"ECxBJhKceBGaVvK6vqmK3VQAncKwPeAQutEb8TeiUiod\",\n lockup: \"AvDAMYYHGaEwn9F9585uqq6MM5CfvRtYcb7KjK7LKPCt\",\n }),\n official(chains.abstract.id, {\n airdrops: \"DRrf6mYEhRt9QieKvTjDHnSWcBm3GW96hpedMKVxLABx\",\n flow: \"Gq3e1gihMoSynURwGXQnPoKGVZzdsyomdrMH934vQHuG\",\n lockup: \"2QjTdDFY233faXksUruMERMiDoQDdtGG5hBLC27aT1Pw\",\n }),\n official(chains.arbitrum.id, {\n airdrops: \"HkHDg6NVVVeobhpcU4pTPMktyC25zd6xAQBGpYrWDgRr\",\n flow: \"C3kBBUVtW2rxqGpAgSgEuSaT49izkH6Q8UibRt7XFTyW\",\n lockup: \"yvDXXHSyv6rGPSzfpbBcbQmMFrECac3Q2zADkYsMxam\",\n }),\n official(chains.avalanche.id, {\n airdrops: \"CpbN5Ps25UzqfdoqYdrjoSK4Him6nwDvdLK6a2sGS1PA\",\n flow: \"6PAizjTALVqLLB7Ycq6XnpTeck8Z8QUpDFnVznMnisUh\",\n lockup: \"FTDmonvFEm1VGkzECcnDY2CPHcW5dSmHRurSjEEfTkCX\",\n }),\n official(chains.base.id, {\n airdrops: \"4SxPXkQNifgBYqje2C4yP5gz69erZwtD7GuLWgXHSLGe\",\n flow: \"4XSxXh8ZgkzaA35nrbQG9Ry3FYz3ZFD8QBdWwVg5pF9W\",\n lockup: \"778GfecD9tsyB4xNnz4wfuAyfHU6rqGr79VCPZKu3t2F\",\n }),\n official(chains.berachain.id, {\n airdrops: \"CnYsdmzuY3Mebwywvqv1WrXw9UZuPMTrxoGgR2UdThJE\",\n flow: \"J87eaBLfTe7kKWgUGqe5TxntNCzA4pyWmqJowMddehuh\",\n lockup: \"C2r13APcUemQtVdPFm7p7T3aJkU2rH2EvdZzrQ53zi14\",\n }),\n official(chains.bsc.id, {\n airdrops: \"FXQT42kQPvpMJgsF5Bs6CqpxVvPP1LBqEhWThCCLMeGL\",\n flow: \"2vU8KF4yWh3vvFjtg7MrRXMnYF3hPX2T3cvVBdaiXhNb\",\n lockup: \"A8Vc9hi7j45u7P8Uw5dg4uqYJgPo4x1rB4oZtTVaiccK\",\n }),\n official(chains.chiliz.id, {\n airdrops: \"6LK1aqrhzZCp6c88MEBDAR1VDLpZQiXpBKkceJ5Lu4LU\",\n flow: \"7QX7tJsANNFpxFLLjqzmXRzfY1wPGp3Lty5xGbhgADa6\",\n lockup: \"4KsXUFvsKFHH7Q8k3BPgEv2NhCJJGwG78gCPAUpncYb\",\n }),\n official(chains.gnosis.id, {\n airdrops: \"kQEY5PYbjx4SMKyMUwqJHRLDzKH1aUqGsf1cnibU7Kn\",\n flow: \"4KiJ53cTNKdFWPBPmDNQ55tYj8hn1WQg8R4UcTY2STLL\",\n lockup: \"DtKniy1RvB19q1r2g1WLN4reMNKDacEnuAjh284rW2iK\",\n }),\n official(chains.linea.id, {\n airdrops: \"6koYFSd8FQizdQWLTdRpL1yTmAbpMgN1vZN5W6ajZiTN\",\n flow: \"DV9XgcCCPKzUn6pgetg4yPetpW2fNoRKBUQC43aNeLG6\",\n lockup: \"GvpecytqVzLzuwuQB3enozXoaZRFoVx8Kr7qrfMiE9bs\",\n }),\n official(chains.optimism.id, {\n airdrops: \"CHJtCNDzPqngpa1YJoaVrjuufZL6k6VkEkG9ZFUMQzF7\",\n flow: \"AygPgsehNGSB4K7DYYtvBPhTpEiU4dCu3nt95bh9FhRf\",\n lockup: \"NZHzd2JNFKhHP5EWUiDxa5TaxGCFbSD4g6YnYr8JGi6\",\n }),\n official(chains.polygon.id, {\n airdrops: \"FRbBKiDyM5YpFAqHLXRfQWwQdMGzFL82hqoPXPpXzAHE\",\n flow: \"ykp38sLarwz3cpmjSSPqo7UuTjYtkZ1KiL4PM2qwmT8\",\n lockup: \"8fgeQMEQ8sskVeWE5nvtsVL2VpezDrAkx2d1VeiHiheu\",\n }),\n official(chains.scroll.id, {\n airdrops: \"Ev4xS8VxuoUcpgqz5A2BkTgQxQeskm4Fg41XzVJ2DX9\",\n flow: \"HFpTrPzJyrHKWZ9ebb4VFRQSxRwpepyfz5wd138daFkF\",\n lockup: \"GycpYx8c9eRqxvEAfqnpNd1ZfXeuLzjRhnG7vvYaqEE1\",\n }),\n official(chains.sonic.id, {\n airdrops: \"5g8orwpm5Rf83G8eqDzDjodt3sG2D64cbiLC98Utmv4Q\",\n flow: \"HkQKZKuM6dZ7Vc4FGC1gZTVVTniYJWRhTRmDDMNzN8zk\",\n lockup: \"GnaSPX9XLkPn219CqbGFU1NgveuQk2Hh3c8WxjtesaEh\",\n }),\n official(chains.unichain.id, {\n airdrops: \"4rQMJ85hKNhcaDyirGipGvcqS4auGU3QCFRBnpiexyNy\",\n flow: \"Cb5uDYfy4ukN9fjhQ3PQZgDzyo6G66ztn1e847rS7Xa8\",\n lockup: \"3MUG4H3gZcp9fpGLiJMTMeUFcQQ6QdT317P4wYKyns9M\",\n }),\n official(chains.zksync.id, {\n airdrops: \"64iDUwNVWKukw67nqTXif5taEfLug4Qf1c2suAv5hrqN\",\n flow: \"9DRgWhDAMovpkej3eT8izum6jxEKHE62ciArffsTAScx\",\n lockup: \"7SuEYGYwZ835LjVGB85ZE8z5zmqdKgmRh8kAEeJefWQN\",\n }),\n /* -------------------------------------------------------------------------- */\n /* TESTNETS */\n /* -------------------------------------------------------------------------- */\n official(chains.baseSepolia.id, {\n airdrops: \"4R2hm27YJ7CVEJ97BbBJz2r4KTKYc8sTqqzrD8UzEfJt\",\n flow: \"AsnKT1waQMvuQxZAqfFuYwtRtAfN8uekDu75jPttfyLh\",\n lockup: \"DdiYENuyh5ztSybRJnBnCZuUgESkFasjGFHZUbURpKHz\",\n }),\n official(chains.sepolia.id, {\n airdrops: \"8PLGDyXEsPgRTAnozL7MAjmTUFY4TBzs8i4F9Pq3wwSh\",\n flow: \"EU9AWmJjrjMRkjxcdHfuWPZvPTNAL3hiXfNGN5MwUpvm\",\n lockup: \"5yDtFSxyRuqyjvGJyyuQhMEW3Uah7Ddy2KFSKVhy9VMa\",\n }),\n];\n\nconst ALL: IndexerGraphMap[] = [...CUSTOMS, ...OFFICIALS];\n\nfunction toSortedArray(indexerMaps: IndexerGraphMap[], protocol: Indexer.Protocol): Indexer[] {\n return indexerMaps\n .map((indexerMap) => indexerMap[protocol])\n .sort((a, b) => {\n const chainNameA = sablier.chains.getOrThrow(a.chainId).name;\n const chainNameB = sablier.chains.getOrThrow(b.chainId).name;\n return chainNameA.localeCompare(chainNameB);\n });\n}\n\nexport const graph: Record<Indexer.Protocol, Indexer[]> = {\n airdrops: toSortedArray(ALL, Protocol.Airdrops),\n flow: toSortedArray(ALL, Protocol.Flow),\n lockup: toSortedArray(ALL, Protocol.Lockup),\n};\n\n// It doesn't matter what protocol we are using since each chain supports all protocols.\nexport const graphChains = graph.lockup.map((c) => c.chainId);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Sablier } from \"sablier\";\nimport type * as enums from \"./enums.js\";\n\nexport type Indexer = {\n chainId: number;\n explorerURL?: string;\n endpoint: {\n id?: string;\n url: string;\n };\n kind: \"custom\" | \"official\";\n name: string;\n protocol: Indexer.Protocol;\n /** GraphQL endpoint that doesn't require an API key. Opening it in the browser may lead to a GraphiQL playground.*/\n testingURL?: string;\n vendor: Indexer.Vendor;\n};\n\nexport namespace Indexer {\n export type EnvioConfig = {\n chainId: number;\n hypersyncURL?: string;\n };\n\n export type EnvioDeployment = {\n /** Unix timestamp in seconds for when the indexer ID was created. */\n createdOn?: number;\n endpoint: {\n /** The indexer ID value, e.g. `53b7e25`. */\n id: string;\n /** The URL of the indexer. */\n url: string;\n };\n /** The URL on the Envio Hosted Service. */\n explorerURL: string;\n /** The protocol associated with this indexer. */\n protocol: Indexer.Protocol;\n /**\n * Unix timestamp in seconds for when the indexer ID was used last time in the Sablier Interface.\n * An undefined value means that the indexer ID is no longer used.\n */\n usedUntil?: number;\n };\n\n export type GraphConfig = {\n chainId: number;\n };\n\n export type Name = Protocol | \"analytics\";\n\n export type Protocol = Exclude<Sablier.Protocol, \"legacy\">;\n\n export type Vendor = `${enums.Vendor}` | enums.Vendor;\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Sablier } from \"sablier\";\nimport type * as enums from \"./enums.js\";\n\nexport type Indexer = {\n chainId: number;\n explorerURL?: string;\n endpoint: {\n id?: string;\n url: string;\n };\n kind: \"custom\" | \"official\";\n name: string;\n protocol: Indexer.Protocol;\n /** GraphQL endpoint that doesn't require an API key. Opening it in the browser may lead to a GraphiQL playground.*/\n testingURL?: string;\n vendor: Indexer.Vendor;\n};\n\nexport namespace Indexer {\n export type EnvioConfig = {\n chainId: number;\n hypersyncURL?: string;\n };\n\n export type EnvioDeployment = {\n /** Unix timestamp in seconds for when the indexer ID was created. */\n createdOn?: number;\n endpoint: {\n /** The indexer ID value, e.g. `53b7e25`. */\n id: string;\n /** The URL of the indexer. */\n url: string;\n };\n /** The URL on the Envio Hosted Service. */\n explorerURL: string;\n /** The protocol associated with this indexer. */\n protocol: Indexer.Protocol;\n /**\n * Unix timestamp in seconds for when the indexer ID was used last time in the Sablier Interface.\n * An undefined value means that the indexer ID is no longer used.\n */\n usedUntil?: number;\n };\n\n export type GraphConfig = {\n chainId: number;\n };\n\n export type Name = Protocol | \"analytics\";\n\n /**\n * Bob and Legacy are excluded because they are not part of the Envio/Graph indexers.\n */\n export type Protocol = Exclude<Sablier.Protocol, \"bob\" | \"legacy\">;\n\n export type Vendor = `${enums.Vendor}` | enums.Vendor;\n}\n\n/**\n * Types needed for all indexers: Envio and The Graph.\n */\nexport namespace Model {\n export type ComponentMap<T> = {\n [contractName: string]: {\n [version: string]: T;\n };\n };\n\n /**\n * A variation of the Sablier.Contract with the `alias` and `block` fields required.\n * @see Sablier.Contract\n */\n export type Contract = Sablier.Contract & {\n alias: string;\n block: number;\n version: Sablier.Version;\n };\n\n export type ContractSource<V extends Version> = {\n /** The name of the contract, e.g., SablierFlow. */\n name: string;\n /** Whether the contract is a template, i.e., deployed by a factory. */\n isTemplate: boolean;\n /** The Sablier versions the contract is part of. */\n versions: V[];\n };\n\n /**\n * Event emitted by a Sablier contract that is tracked and processed by our indexers.\n * This type defines the metadata needed to identify and handle specific contract events\n * across different versions and protocols.\n */\n export type Event = {\n /** Name of contract whose ABI contains the event, e.g., SablierLockup. */\n contractName: string;\n /** Event name, e.g., Approval. */\n eventName: string;\n /** Indexers that should process the event, e.g., analytics. */\n indexers: Indexer.Name[];\n /** Protocol of contract, e.g., flow. */\n protocol: Indexer.Protocol;\n /** Version of contract, e.g., v1.0. */\n version: Version;\n };\n\n export type EventMap = ComponentMap<Event[]>;\n\n export type ProtocolMap<T> = {\n [protocol in Indexer.Protocol]: T;\n };\n\n export type Version = Sablier.Version.Airdrops | Sablier.Version.Flow | Sablier.Version.Lockup;\n}\n"]}
@@ -1,2 +1,3 @@
1
1
  export declare const SUBGRAPH_STUDIO_USER_ID = 112500;
2
+ export declare const BILLING_ADDRESS = "0xA6a4c1D99312978A3207fF1a28b958e5efAA0a42";
2
3
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,uBAAuB,SAAU,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,uBAAuB,SAAU,CAAC;AAG/C,eAAO,MAAM,eAAe,+CAA+C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../src/indexers/graph.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AA6C3C,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEhE;AAoND,eAAO,MAAM,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,CAIrD,CAAC;AAGF,eAAO,MAAM,WAAW,UAAqC,CAAC"}
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../src/indexers/graph.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAyC3C,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEhE;AAmMD,eAAO,MAAM,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,CAIrD,CAAC;AAGF,eAAO,MAAM,WAAW,UAAqC,CAAC"}
@@ -32,7 +32,36 @@ export declare namespace Indexer {
32
32
  chainId: number;
33
33
  };
34
34
  type Name = Protocol | "analytics";
35
- type Protocol = Exclude<Sablier.Protocol, "legacy">;
35
+ type Protocol = Exclude<Sablier.Protocol, "bob" | "legacy">;
36
36
  type Vendor = `${enums.Vendor}` | enums.Vendor;
37
37
  }
38
+ export declare namespace Model {
39
+ type ComponentMap<T> = {
40
+ [contractName: string]: {
41
+ [version: string]: T;
42
+ };
43
+ };
44
+ type Contract = Sablier.Contract & {
45
+ alias: string;
46
+ block: number;
47
+ version: Sablier.Version;
48
+ };
49
+ type ContractSource<V extends Version> = {
50
+ name: string;
51
+ isTemplate: boolean;
52
+ versions: V[];
53
+ };
54
+ type Event = {
55
+ contractName: string;
56
+ eventName: string;
57
+ indexers: Indexer.Name[];
58
+ protocol: Indexer.Protocol;
59
+ version: Version;
60
+ };
61
+ type EventMap = ComponentMap<Event[]>;
62
+ type ProtocolMap<T> = {
63
+ [protocol in Indexer.Protocol]: T;
64
+ };
65
+ type Version = Sablier.Version.Airdrops | Sablier.Version.Flow | Sablier.Version.Lockup;
66
+ }
38
67
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,KAAK,KAAK,MAAM,YAAY,CAAC;AAEzC,MAAM,MAAM,OAAO,GAAG;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE;QACR,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC;IAE3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC;CACxB,CAAC;AAEF,yBAAiB,OAAO,CAAC;IACvB,KAAY,WAAW,GAAG;QACxB,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IAEF,KAAY,eAAe,GAAG;QAE5B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE;YAER,EAAE,EAAE,MAAM,CAAC;YAEX,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;QAEF,WAAW,EAAE,MAAM,CAAC;QAEpB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC;QAK3B,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IAEF,KAAY,WAAW,GAAG;QACxB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IAEF,KAAY,IAAI,GAAG,QAAQ,GAAG,WAAW,CAAC;IAE1C,KAAY,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAE3D,KAAY,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;CACvD"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,KAAK,KAAK,MAAM,YAAY,CAAC;AAEzC,MAAM,MAAM,OAAO,GAAG;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE;QACR,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC;IAE3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC;CACxB,CAAC;AAEF,yBAAiB,OAAO,CAAC;IACvB,KAAY,WAAW,GAAG;QACxB,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IAEF,KAAY,eAAe,GAAG;QAE5B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE;YAER,EAAE,EAAE,MAAM,CAAC;YAEX,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;QAEF,WAAW,EAAE,MAAM,CAAC;QAEpB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC;QAK3B,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IAEF,KAAY,WAAW,GAAG;QACxB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IAEF,KAAY,IAAI,GAAG,QAAQ,GAAG,WAAW,CAAC;IAK1C,KAAY,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,GAAG,QAAQ,CAAC,CAAC;IAEnE,KAAY,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;CACvD;AAKD,yBAAiB,KAAK,CAAC;IACrB,KAAY,YAAY,CAAC,CAAC,IAAI;QAC5B,CAAC,YAAY,EAAE,MAAM,GAAG;YACtB,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,CAAC;SACtB,CAAC;KACH,CAAC;IAMF,KAAY,QAAQ,GAAG,OAAO,CAAC,QAAQ,GAAG;QACxC,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;KAC1B,CAAC;IAEF,KAAY,cAAc,CAAC,CAAC,SAAS,OAAO,IAAI;QAE9C,IAAI,EAAE,MAAM,CAAC;QAEb,UAAU,EAAE,OAAO,CAAC;QAEpB,QAAQ,EAAE,CAAC,EAAE,CAAC;KACf,CAAC;IAOF,KAAY,KAAK,GAAG;QAElB,YAAY,EAAE,MAAM,CAAC;QAErB,SAAS,EAAE,MAAM,CAAC;QAElB,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QAEzB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC;QAE3B,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;IAEF,KAAY,QAAQ,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;IAE7C,KAAY,WAAW,CAAC,CAAC,IAAI;SAC1B,QAAQ,IAAI,OAAO,CAAC,QAAQ,GAAG,CAAC;KAClC,CAAC;IAEF,KAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;CAChG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sablier/indexers",
3
- "version": "2.0.0",
3
+ "version": "3.0.0-beta.0",
4
4
  "description": "Data indexers for the Sablier Protocol",
5
5
  "homepage": "https://github.com/sablier-labs/indexers#readme",
6
6
  "license": "GPL-3.0-or-later",
@@ -15,7 +15,7 @@
15
15
  "url": "https://sablier.com"
16
16
  },
17
17
  "dependencies": {
18
- "sablier": "^2.0.4"
18
+ "sablier": "^3.0.0"
19
19
  },
20
20
  "exports": {
21
21
  ".": {
@@ -31,10 +31,10 @@
31
31
  "./package.json": "./package.json"
32
32
  },
33
33
  "peerDependencies": {
34
- "sablier": "^2.x"
34
+ "sablier": "^3"
35
35
  },
36
36
  "devDependencies": {
37
- "@biomejs/biome": "^2.3.11",
37
+ "@biomejs/biome": "^2.4.6",
38
38
  "@effect/cli": "^0.73.0",
39
39
  "@effect/platform": "^0.94.0",
40
40
  "@effect/platform-node": "^0.104.0",
@@ -44,7 +44,7 @@
44
44
  "@graphql-tools/merge": "^9.1.6",
45
45
  "@graphql-typed-document-node/core": "^3.2.0",
46
46
  "@pinax/graph-networks-registry": "^0.7.1",
47
- "@sablier/devkit": "^1.11.0",
47
+ "@sablier/devkit": "^1.15.3",
48
48
  "@sablier/price-data": "github:sablier-labs/price-data#main",
49
49
  "@types/js-yaml": "^4.0.9",
50
50
  "@types/lodash": "^4.17.21",
@@ -59,9 +59,10 @@
59
59
  "cli-table3": "^0.6.5",
60
60
  "concurrently": "^9.2.1",
61
61
  "dayjs": "^1.11.19",
62
+ "dependency-cruiser": "^17.3.8",
62
63
  "dotenv": "^17.2.3",
63
64
  "effect": "^3.19.13",
64
- "envio": "2.32.3",
65
+ "envio": "2.32.10",
65
66
  "graphql": "^16.12.0",
66
67
  "graphql-request": "^7.4.0",
67
68
  "graphql-tag": "^2.12.6",
@@ -77,7 +78,7 @@
77
78
  "ts-node": "^10.9.2",
78
79
  "tsx": "^4.21.0",
79
80
  "typescript": "^5.9.3",
80
- "ultracite": "^7.0.11",
81
+ "ultracite": "^7.2.5",
81
82
  "viem": "^2.43.3",
82
83
  "vite": "^7.3.0",
83
84
  "vitest": "^3.2.4"