@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 +1 -1
- package/dist/cjs/constants.js +2 -1
- package/dist/cjs/constants.js.map +1 -1
- package/dist/cjs/indexers/envio-deployments.js +6 -6
- package/dist/cjs/indexers/envio-deployments.js.map +1 -1
- package/dist/cjs/indexers/envio.js +3 -3
- package/dist/cjs/indexers/envio.js.map +1 -1
- package/dist/cjs/indexers/graph.js +6 -21
- package/dist/cjs/indexers/graph.js.map +1 -1
- package/dist/cjs/types.js.map +1 -1
- package/dist/esm/constants.js +1 -0
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/indexers/envio-deployments.js +6 -6
- package/dist/esm/indexers/envio-deployments.js.map +1 -1
- package/dist/esm/indexers/envio.js +3 -3
- package/dist/esm/indexers/envio.js.map +1 -1
- package/dist/esm/indexers/graph.js +6 -21
- package/dist/esm/indexers/graph.js.map +1 -1
- package/dist/esm/types.js.map +1 -1
- package/dist/types/constants.d.ts +1 -0
- package/dist/types/constants.d.ts.map +1 -1
- package/dist/types/indexers/graph.d.ts.map +1 -1
- package/dist/types/types.d.ts +30 -1
- package/dist/types/types.d.ts.map +1 -1
- package/package.json +8 -7
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
|
-
|
|
16
|
+
There are two indexing providers: [The Graph](https://thegraph.com) and [Envio](https://envio.dev).
|
|
17
17
|
|
|
18
18
|
## Documentation 📚
|
|
19
19
|
|
package/dist/cjs/constants.js
CHANGED
|
@@ -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;
|
|
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":";;;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,
|
|
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"]}
|
|
@@ -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":"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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.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"]}
|
package/dist/cjs/types.js.map
CHANGED
|
@@ -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"]}
|
package/dist/esm/constants.js
CHANGED
|
@@ -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;
|
|
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":"AAKA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAoB1D,SAAS,GAAG,CAAC,EAAU,EAAE,MAAyB;IAChD,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AACxB,CAAC;AAED,MAAM,gBAAgB,GAAG;IAIvB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;IACvB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;IACvB,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;IACxB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;IACnB,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IACpB,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;IACxB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;IAClB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;IAC9C,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;IACrB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;IACvB,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IACpB,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;IACtB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;IACnB,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IACpB,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IACpB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;IACvB,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;IACtB,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IACpB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;IACrB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACxC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;IACrB,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;IACxB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;IACvB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;IAClB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;IAIrB,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;IAC1B,GAAG,CAAC,MAAM,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,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC9C,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,EAAE;YACjB,
|
|
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":"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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.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":"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,OAAO,CAAC,EAAE,CAAC,EAAE,cAAc;IACnC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,OAAO;IAC5B,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,YAAY;CACjC,CAAC;AAKF,MAAM,4BAA4B,GAAkC;IAClE,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,WAAW,EAAE,GAAG,WAAW,UAAU;QACrC,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE;YACR,GAAG,EAAE,WAAW;SACjB;QACD,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,WAAW,EAAE,2CAA2C,UAAU,EAAE;QACpE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE;YACR,EAAE,EAAE,UAAU;YACd,GAAG,EAAE,iDAAiD,UAAU,EAAE;SACnE;QACD,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,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,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;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,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,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.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"]}
|
package/dist/esm/types.js.map
CHANGED
|
@@ -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 +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;
|
|
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"}
|
package/dist/types/types.d.ts
CHANGED
|
@@ -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;
|
|
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": "
|
|
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": "^
|
|
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": "^
|
|
34
|
+
"sablier": "^3"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"@biomejs/biome": "^2.
|
|
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.
|
|
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.
|
|
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.
|
|
81
|
+
"ultracite": "^7.2.5",
|
|
81
82
|
"viem": "^2.43.3",
|
|
82
83
|
"vite": "^7.3.0",
|
|
83
84
|
"vitest": "^3.2.4"
|