@sablier/indexers 1.3.0-beta.9 → 2.0.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.
Files changed (262) hide show
  1. package/dist/cjs/constants.js.map +1 -0
  2. package/dist/cjs/enums.js.map +1 -0
  3. package/dist/{experimental.js → cjs/experimental.js} +2 -2
  4. package/dist/cjs/experimental.js.map +1 -0
  5. package/dist/{queries/flow/graph.js → cjs/index.js} +10 -10
  6. package/dist/cjs/index.js.map +1 -0
  7. package/dist/cjs/indexers/data.js +10 -0
  8. package/dist/cjs/indexers/data.js.map +1 -0
  9. package/dist/cjs/indexers/envio-deployments.js.map +1 -0
  10. package/dist/{indexers → cjs/indexers}/envio.js +5 -4
  11. package/dist/cjs/indexers/envio.js.map +1 -0
  12. package/dist/cjs/indexers/getters.js +20 -0
  13. package/dist/cjs/indexers/getters.js.map +1 -0
  14. package/dist/{indexers → cjs/indexers}/graph.js +5 -15
  15. package/dist/cjs/indexers/graph.js.map +1 -0
  16. package/dist/{gql/airdrops/envio → cjs/indexers}/index.js +2 -1
  17. package/dist/cjs/indexers/index.js.map +1 -0
  18. package/dist/cjs/package.json +1 -0
  19. package/dist/cjs/types.js +3 -0
  20. package/dist/cjs/types.js.map +1 -0
  21. package/dist/esm/constants.js +2 -0
  22. package/dist/esm/constants.js.map +1 -0
  23. package/dist/esm/enums.js +6 -0
  24. package/dist/esm/enums.js.map +1 -0
  25. package/dist/esm/experimental.js +19 -0
  26. package/dist/esm/experimental.js.map +1 -0
  27. package/dist/esm/index.js +6 -0
  28. package/dist/esm/index.js.map +1 -0
  29. package/dist/esm/indexers/data.js +7 -0
  30. package/dist/esm/indexers/data.js.map +1 -0
  31. package/dist/esm/indexers/envio-deployments.js +40 -0
  32. package/dist/esm/indexers/envio-deployments.js.map +1 -0
  33. package/dist/esm/indexers/envio.js +60 -0
  34. package/dist/esm/indexers/envio.js.map +1 -0
  35. package/dist/esm/indexers/getters.js +15 -0
  36. package/dist/esm/indexers/getters.js.map +1 -0
  37. package/dist/esm/indexers/graph.js +207 -0
  38. package/dist/esm/indexers/graph.js.map +1 -0
  39. package/dist/esm/indexers/index.js +3 -0
  40. package/dist/esm/indexers/index.js.map +1 -0
  41. package/dist/esm/package.json +1 -0
  42. package/dist/esm/types.js +2 -0
  43. package/dist/esm/types.js.map +1 -0
  44. package/dist/types/constants.d.ts.map +1 -0
  45. package/dist/types/enums.d.ts.map +1 -0
  46. package/dist/{experimental.d.ts → types/experimental.d.ts} +1 -1
  47. package/dist/types/experimental.d.ts.map +1 -0
  48. package/dist/types/index.d.ts +6 -0
  49. package/dist/types/index.d.ts.map +1 -0
  50. package/dist/types/indexers/data.d.ts +5 -0
  51. package/dist/types/indexers/data.d.ts.map +1 -0
  52. package/dist/types/indexers/envio-deployments.d.ts +3 -0
  53. package/dist/types/indexers/envio-deployments.d.ts.map +1 -0
  54. package/dist/{indexers → types/indexers}/envio.d.ts +2 -2
  55. package/dist/types/indexers/envio.d.ts.map +1 -0
  56. package/dist/{indexers → types/indexers}/getters.d.ts +5 -5
  57. package/dist/types/indexers/getters.d.ts.map +1 -0
  58. package/dist/{indexers → types/indexers}/graph.d.ts +1 -1
  59. package/dist/types/indexers/graph.d.ts.map +1 -0
  60. package/dist/types/indexers/index.d.ts +3 -0
  61. package/dist/types/indexers/index.d.ts.map +1 -0
  62. package/dist/{types.d.ts → types/types.d.ts} +1 -13
  63. package/dist/types/types.d.ts.map +1 -0
  64. package/package.json +51 -37
  65. package/dist/constants.d.ts.map +0 -1
  66. package/dist/constants.js.map +0 -1
  67. package/dist/enums.d.ts.map +0 -1
  68. package/dist/enums.js.map +0 -1
  69. package/dist/experimental.d.ts.map +0 -1
  70. package/dist/experimental.js.map +0 -1
  71. package/dist/fragments/airdrops/common.d.ts +0 -10
  72. package/dist/fragments/airdrops/common.d.ts.map +0 -1
  73. package/dist/fragments/airdrops/common.js +0 -142
  74. package/dist/fragments/airdrops/common.js.map +0 -1
  75. package/dist/fragments/airdrops/envio.d.ts +0 -7
  76. package/dist/fragments/airdrops/envio.d.ts.map +0 -1
  77. package/dist/fragments/airdrops/envio.js +0 -19
  78. package/dist/fragments/airdrops/envio.js.map +0 -1
  79. package/dist/fragments/airdrops/graph.d.ts +0 -7
  80. package/dist/fragments/airdrops/graph.d.ts.map +0 -1
  81. package/dist/fragments/airdrops/graph.js +0 -19
  82. package/dist/fragments/airdrops/graph.js.map +0 -1
  83. package/dist/fragments/common/action.d.ts +0 -2
  84. package/dist/fragments/common/action.d.ts.map +0 -1
  85. package/dist/fragments/common/action.js +0 -25
  86. package/dist/fragments/common/action.js.map +0 -1
  87. package/dist/fragments/common/asset.d.ts +0 -2
  88. package/dist/fragments/common/asset.d.ts.map +0 -1
  89. package/dist/fragments/common/asset.js +0 -14
  90. package/dist/fragments/common/asset.js.map +0 -1
  91. package/dist/fragments/common/batch.d.ts +0 -2
  92. package/dist/fragments/common/batch.d.ts.map +0 -1
  93. package/dist/fragments/common/batch.js +0 -15
  94. package/dist/fragments/common/batch.js.map +0 -1
  95. package/dist/fragments/common/index.d.ts +0 -4
  96. package/dist/fragments/common/index.d.ts.map +0 -1
  97. package/dist/fragments/common/index.js +0 -20
  98. package/dist/fragments/common/index.js.map +0 -1
  99. package/dist/fragments/flow/common.d.ts +0 -8
  100. package/dist/fragments/flow/common.d.ts.map +0 -1
  101. package/dist/fragments/flow/common.js +0 -92
  102. package/dist/fragments/flow/common.js.map +0 -1
  103. package/dist/fragments/flow/envio.d.ts +0 -5
  104. package/dist/fragments/flow/envio.d.ts.map +0 -1
  105. package/dist/fragments/flow/envio.js +0 -10
  106. package/dist/fragments/flow/envio.js.map +0 -1
  107. package/dist/fragments/flow/graph.d.ts +0 -5
  108. package/dist/fragments/flow/graph.d.ts.map +0 -1
  109. package/dist/fragments/flow/graph.js +0 -10
  110. package/dist/fragments/flow/graph.js.map +0 -1
  111. package/dist/fragments/lockup/common.d.ts +0 -10
  112. package/dist/fragments/lockup/common.d.ts.map +0 -1
  113. package/dist/fragments/lockup/common.js +0 -110
  114. package/dist/fragments/lockup/common.js.map +0 -1
  115. package/dist/fragments/lockup/envio.d.ts +0 -5
  116. package/dist/fragments/lockup/envio.d.ts.map +0 -1
  117. package/dist/fragments/lockup/envio.js +0 -20
  118. package/dist/fragments/lockup/envio.js.map +0 -1
  119. package/dist/fragments/lockup/graph.d.ts +0 -5
  120. package/dist/fragments/lockup/graph.d.ts.map +0 -1
  121. package/dist/fragments/lockup/graph.js +0 -20
  122. package/dist/fragments/lockup/graph.js.map +0 -1
  123. package/dist/gql/airdrops/envio/gql.d.ts +0 -41
  124. package/dist/gql/airdrops/envio/gql.d.ts.map +0 -1
  125. package/dist/gql/airdrops/envio/gql.js +0 -59
  126. package/dist/gql/airdrops/envio/gql.js.map +0 -1
  127. package/dist/gql/airdrops/envio/graphql.d.ts +0 -3611
  128. package/dist/gql/airdrops/envio/graphql.d.ts.map +0 -1
  129. package/dist/gql/airdrops/envio/graphql.js +0 -203
  130. package/dist/gql/airdrops/envio/graphql.js.map +0 -1
  131. package/dist/gql/airdrops/envio/index.d.ts +0 -2
  132. package/dist/gql/airdrops/envio/index.d.ts.map +0 -1
  133. package/dist/gql/airdrops/envio/index.js.map +0 -1
  134. package/dist/gql/airdrops/graph/gql.d.ts +0 -41
  135. package/dist/gql/airdrops/graph/gql.d.ts.map +0 -1
  136. package/dist/gql/airdrops/graph/gql.js +0 -59
  137. package/dist/gql/airdrops/graph/gql.js.map +0 -1
  138. package/dist/gql/airdrops/graph/graphql.d.ts +0 -2580
  139. package/dist/gql/airdrops/graph/graphql.d.ts.map +0 -1
  140. package/dist/gql/airdrops/graph/graphql.js +0 -296
  141. package/dist/gql/airdrops/graph/graphql.js.map +0 -1
  142. package/dist/gql/airdrops/graph/index.d.ts +0 -2
  143. package/dist/gql/airdrops/graph/index.d.ts.map +0 -1
  144. package/dist/gql/airdrops/graph/index.js +0 -18
  145. package/dist/gql/airdrops/graph/index.js.map +0 -1
  146. package/dist/gql/flow/envio/gql.d.ts +0 -27
  147. package/dist/gql/flow/envio/gql.d.ts.map +0 -1
  148. package/dist/gql/flow/envio/gql.js +0 -52
  149. package/dist/gql/flow/envio/gql.js.map +0 -1
  150. package/dist/gql/flow/envio/graphql.d.ts +0 -2966
  151. package/dist/gql/flow/envio/graphql.d.ts.map +0 -1
  152. package/dist/gql/flow/envio/graphql.js +0 -185
  153. package/dist/gql/flow/envio/graphql.js.map +0 -1
  154. package/dist/gql/flow/envio/index.d.ts +0 -2
  155. package/dist/gql/flow/envio/index.d.ts.map +0 -1
  156. package/dist/gql/flow/envio/index.js +0 -18
  157. package/dist/gql/flow/envio/index.js.map +0 -1
  158. package/dist/gql/flow/graph/gql.d.ts +0 -27
  159. package/dist/gql/flow/graph/gql.d.ts.map +0 -1
  160. package/dist/gql/flow/graph/gql.js +0 -52
  161. package/dist/gql/flow/graph/gql.js.map +0 -1
  162. package/dist/gql/flow/graph/graphql.d.ts +0 -1992
  163. package/dist/gql/flow/graph/graphql.d.ts.map +0 -1
  164. package/dist/gql/flow/graph/graphql.js +0 -238
  165. package/dist/gql/flow/graph/graphql.js.map +0 -1
  166. package/dist/gql/flow/graph/index.d.ts +0 -2
  167. package/dist/gql/flow/graph/index.d.ts.map +0 -1
  168. package/dist/gql/flow/graph/index.js +0 -18
  169. package/dist/gql/flow/graph/index.js.map +0 -1
  170. package/dist/gql/lockup/envio/gql.d.ts +0 -33
  171. package/dist/gql/lockup/envio/gql.d.ts.map +0 -1
  172. package/dist/gql/lockup/envio/gql.js +0 -55
  173. package/dist/gql/lockup/envio/gql.js.map +0 -1
  174. package/dist/gql/lockup/envio/graphql.d.ts +0 -3555
  175. package/dist/gql/lockup/envio/graphql.d.ts.map +0 -1
  176. package/dist/gql/lockup/envio/graphql.js +0 -224
  177. package/dist/gql/lockup/envio/graphql.js.map +0 -1
  178. package/dist/gql/lockup/envio/index.d.ts +0 -2
  179. package/dist/gql/lockup/envio/index.d.ts.map +0 -1
  180. package/dist/gql/lockup/envio/index.js +0 -18
  181. package/dist/gql/lockup/envio/index.js.map +0 -1
  182. package/dist/gql/lockup/graph/gql.d.ts +0 -33
  183. package/dist/gql/lockup/graph/gql.d.ts.map +0 -1
  184. package/dist/gql/lockup/graph/gql.js +0 -55
  185. package/dist/gql/lockup/graph/gql.js.map +0 -1
  186. package/dist/gql/lockup/graph/graphql.d.ts +0 -2504
  187. package/dist/gql/lockup/graph/graphql.d.ts.map +0 -1
  188. package/dist/gql/lockup/graph/graphql.js +0 -325
  189. package/dist/gql/lockup/graph/graphql.js.map +0 -1
  190. package/dist/gql/lockup/graph/index.d.ts +0 -2
  191. package/dist/gql/lockup/graph/index.d.ts.map +0 -1
  192. package/dist/gql/lockup/graph/index.js +0 -18
  193. package/dist/gql/lockup/graph/index.js.map +0 -1
  194. package/dist/index.d.ts +0 -6
  195. package/dist/index.d.ts.map +0 -1
  196. package/dist/index.js +0 -22
  197. package/dist/index.js.map +0 -1
  198. package/dist/indexers/data.d.ts +0 -5
  199. package/dist/indexers/data.d.ts.map +0 -1
  200. package/dist/indexers/data.js +0 -10
  201. package/dist/indexers/data.js.map +0 -1
  202. package/dist/indexers/envio-deployments.d.ts +0 -3
  203. package/dist/indexers/envio-deployments.d.ts.map +0 -1
  204. package/dist/indexers/envio-deployments.js.map +0 -1
  205. package/dist/indexers/envio.d.ts.map +0 -1
  206. package/dist/indexers/envio.js.map +0 -1
  207. package/dist/indexers/getters.d.ts.map +0 -1
  208. package/dist/indexers/getters.js +0 -17
  209. package/dist/indexers/getters.js.map +0 -1
  210. package/dist/indexers/graph.d.ts.map +0 -1
  211. package/dist/indexers/graph.js.map +0 -1
  212. package/dist/indexers/index.d.ts +0 -3
  213. package/dist/indexers/index.d.ts.map +0 -1
  214. package/dist/indexers/index.js +0 -19
  215. package/dist/indexers/index.js.map +0 -1
  216. package/dist/queries/airdrops/envio.d.ts +0 -44
  217. package/dist/queries/airdrops/envio.d.ts.map +0 -1
  218. package/dist/queries/airdrops/envio.js +0 -179
  219. package/dist/queries/airdrops/envio.js.map +0 -1
  220. package/dist/queries/airdrops/graph.d.ts +0 -43
  221. package/dist/queries/airdrops/graph.d.ts.map +0 -1
  222. package/dist/queries/airdrops/graph.js +0 -145
  223. package/dist/queries/airdrops/graph.js.map +0 -1
  224. package/dist/queries/common/actions/envio.d.ts +0 -2
  225. package/dist/queries/common/actions/envio.d.ts.map +0 -1
  226. package/dist/queries/common/actions/envio.js +0 -23
  227. package/dist/queries/common/actions/envio.js.map +0 -1
  228. package/dist/queries/common/actions/graph.d.ts +0 -2
  229. package/dist/queries/common/actions/graph.d.ts.map +0 -1
  230. package/dist/queries/common/actions/graph.js +0 -23
  231. package/dist/queries/common/actions/graph.js.map +0 -1
  232. package/dist/queries/common/streams/envio.d.ts +0 -5
  233. package/dist/queries/common/streams/envio.d.ts.map +0 -1
  234. package/dist/queries/common/streams/envio.js +0 -48
  235. package/dist/queries/common/streams/envio.js.map +0 -1
  236. package/dist/queries/common/streams/graph.d.ts +0 -5
  237. package/dist/queries/common/streams/graph.d.ts.map +0 -1
  238. package/dist/queries/common/streams/graph.js +0 -48
  239. package/dist/queries/common/streams/graph.js.map +0 -1
  240. package/dist/queries/flow/envio.d.ts +0 -22
  241. package/dist/queries/flow/envio.d.ts.map +0 -1
  242. package/dist/queries/flow/envio.js +0 -45
  243. package/dist/queries/flow/envio.js.map +0 -1
  244. package/dist/queries/flow/graph.d.ts +0 -22
  245. package/dist/queries/flow/graph.d.ts.map +0 -1
  246. package/dist/queries/flow/graph.js.map +0 -1
  247. package/dist/queries/lockup/envio.d.ts +0 -22
  248. package/dist/queries/lockup/envio.d.ts.map +0 -1
  249. package/dist/queries/lockup/envio.js +0 -45
  250. package/dist/queries/lockup/envio.js.map +0 -1
  251. package/dist/queries/lockup/graph.d.ts +0 -22
  252. package/dist/queries/lockup/graph.d.ts.map +0 -1
  253. package/dist/queries/lockup/graph.js +0 -45
  254. package/dist/queries/lockup/graph.js.map +0 -1
  255. package/dist/types.d.ts.map +0 -1
  256. package/dist/types.js +0 -18
  257. package/dist/types.js.map +0 -1
  258. /package/dist/{constants.js → cjs/constants.js} +0 -0
  259. /package/dist/{enums.js → cjs/enums.js} +0 -0
  260. /package/dist/{indexers → cjs/indexers}/envio-deployments.js +0 -0
  261. /package/dist/{constants.d.ts → types/constants.d.ts} +0 -0
  262. /package/dist/{enums.d.ts → types/enums.d.ts} +0 -0
@@ -0,0 +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"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../src/enums.ts"],"names":[],"mappings":";;;AAAA,IAAY,MAGX;AAHD,WAAY,MAAM;IAChB,yBAAe,CAAA;IACf,yBAAe,CAAA;AACjB,CAAC,EAHW,MAAM,sBAAN,MAAM,QAGjB","sourcesContent":["export enum Vendor {\n Envio = \"envio\",\n Graph = \"graph\",\n}\n"]}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getExperimentalURL = getExperimentalURL;
4
4
  const chains_1 = require("sablier/evm/chains");
5
- const getters_1 = require("./indexers/getters");
5
+ const getters_js_1 = require("./indexers/getters.js");
6
6
  function getExperimentalURL(opts) {
7
7
  const { protocol, vendor } = opts;
8
8
  if (vendor === "envio") {
@@ -13,7 +13,7 @@ function getExperimentalURL(opts) {
13
13
  };
14
14
  return `https://indexer.hyperindex.xyz/${id[protocol]}/v1/graphql`;
15
15
  }
16
- const indexer = (0, getters_1.getIndexer)({ chainId: chains_1.sepolia.id, protocol, vendor: "graph" });
16
+ const indexer = (0, getters_js_1.getIndexer)({ chainId: chains_1.sepolia.id, protocol, vendor: "graph" });
17
17
  if (!indexer?.testingURL) {
18
18
  throw new Error(`Sepolia Indexer not found for protocol ${protocol}`);
19
19
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"experimental.js","sourceRoot":"","sources":["../../src/experimental.ts"],"names":[],"mappings":";;AAkBA,gDAmBC;AA1BD,+CAA6C;AAC7C,sDAAmD;AAMnD,SAAgB,kBAAkB,CAAC,IAGlC;IACC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAClC,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACvB,MAAM,EAAE,GAAG;YACT,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,SAAS;SAClB,CAAC;QACF,OAAO,kCAAkC,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;IACrE,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,uBAAU,EAAC,EAAE,OAAO,EAAE,gBAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/E,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,0CAA0C,QAAQ,EAAE,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;AAC/D,CAAC","sourcesContent":["/**\n * @file The experimental indexers are the staging environment where we test new\n * features before they are released. They run on the Sepolia testnet.\n *\n * The experimental indexers are used for generating the GraphQL bindings in:\n * @see {@link file://./gql/flow/envio/gql.ts}\n * @see {@link file://./gql/flow/graph/gql.ts}\n *\n * As well as for the equivalence tests in:\n * @see {@link file://./../tests/vendors/equivalence/create-test.ts}\n */\nimport { sepolia } from \"sablier/evm/chains\";\nimport { getIndexer } from \"./indexers/getters.js\";\nimport type { Indexer } from \"./types.js\";\n\n/**\n * The experimental indexers run on Sepolia.\n */\nexport function getExperimentalURL(opts: {\n protocol: Indexer.Protocol;\n vendor: Indexer.Vendor;\n}): string {\n const { protocol, vendor } = opts;\n if (vendor === \"envio\") {\n const id = {\n airdrops: \"508d217\", // https://envio.dev/app/sablier-labs/merkle-envio\n flow: \"3b4ea6b\", // https://envio.dev/app/sablier-labs/flow-envio\n lockup: \"53b7e25\", // https://envio.dev/app/sablier-labs/lockup-envio\n };\n return `https://indexer.hyperindex.xyz/${id[protocol]}/v1/graphql`;\n }\n\n const indexer = getIndexer({ chainId: sepolia.id, protocol, vendor: \"graph\" });\n if (!indexer?.testingURL) {\n throw new Error(`Sepolia Indexer not found for protocol ${protocol}`);\n }\n return indexer.testingURL.replace(\"sepolia\", \"experimental\");\n}\n"]}
@@ -32,14 +32,14 @@ var __importStar = (this && this.__importStar) || (function () {
32
32
  return result;
33
33
  };
34
34
  })();
35
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
36
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
37
+ };
35
38
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.getStreamsWithActions = exports.getStreams = exports.getStreamWithActions = exports.getStream = exports.getActions = void 0;
37
- const gql_1 = require("../../gql/flow/graph/gql");
38
- const actionsQueries = __importStar(require("../common/actions/graph"));
39
- const streamsQueries = __importStar(require("../common/streams/graph"));
40
- exports.getActions = (0, gql_1.gql)(actionsQueries.getActions);
41
- exports.getStream = (0, gql_1.gql)(streamsQueries.getStream);
42
- exports.getStreamWithActions = (0, gql_1.gql)(streamsQueries.getStreamWithActions);
43
- exports.getStreams = (0, gql_1.gql)(streamsQueries.getStreams);
44
- exports.getStreamsWithActions = (0, gql_1.gql)(streamsQueries.getStreamsWithActions);
45
- //# sourceMappingURL=graph.js.map
39
+ exports.constants = void 0;
40
+ exports.constants = __importStar(require("./constants.js"));
41
+ __exportStar(require("./enums.js"), exports);
42
+ __exportStar(require("./experimental.js"), exports);
43
+ __exportStar(require("./indexers/index.js"), exports);
44
+ __exportStar(require("./types.js"), exports);
45
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,4DAA4C;AAC5C,6CAA2B;AAC3B,oDAAkC;AAClC,sDAAoC;AACpC,6CAA2B","sourcesContent":["/**\n * @file @see https://docs.sablier.com/api/overview\n */\nexport * as constants from \"./constants.js\";\nexport * from \"./enums.js\";\nexport * from \"./experimental.js\";\nexport * from \"./indexers/index.js\";\nexport * from \"./types.js\";\n"]}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.indexers = void 0;
4
+ const envio_js_1 = require("./envio.js");
5
+ const graph_js_1 = require("./graph.js");
6
+ exports.indexers = {
7
+ envio: envio_js_1.envio,
8
+ graph: graph_js_1.graph,
9
+ };
10
+ //# sourceMappingURL=data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.js","sourceRoot":"","sources":["../../../src/indexers/data.ts"],"names":[],"mappings":";;;AAAA,yCAAmC;AACnC,yCAAmC;AAEtB,QAAA,QAAQ,GAAG;IACtB,KAAK,EAAL,gBAAK;IACL,KAAK,EAAL,gBAAK;CACN,CAAC","sourcesContent":["import { envio } from \"./envio.js\";\nimport { graph } from \"./graph.js\";\n\nexport const indexers = {\n envio,\n graph,\n};\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"envio-deployments.js","sourceRoot":"","sources":["../../../src/indexers/envio-deployments.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AAGvC,SAAS,MAAM,CAAC,EAAU;IACxB,OAAO,kCAAkC,EAAE,aAAa,CAAC;AAC3D,CAAC;AAEY,QAAA,gBAAgB,GAAsD;IACjF,QAAQ,EAAE;QACR,SAAS,EAAE,aAAa;QACxB,QAAQ,EAAE;YACR,EAAE,EAAE,SAAS;YACb,IAAI,GAAG;gBACL,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC;SACF;QACD,WAAW,EAAE,iDAAiD;QAC9D,QAAQ,EAAE,cAAQ,CAAC,QAAQ;KAC5B;IACD,IAAI,EAAE;QACJ,SAAS,EAAE,aAAa;QACxB,QAAQ,EAAE;YACR,EAAE,EAAE,SAAS;YACb,IAAI,GAAG;gBACL,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC;SACF;QACD,WAAW,EAAE,+CAA+C;QAC5D,QAAQ,EAAE,cAAQ,CAAC,IAAI;KACxB;IACD,MAAM,EAAE;QACN,SAAS,EAAE,aAAa;QACxB,QAAQ,EAAE;YACR,EAAE,EAAE,SAAS;YACb,IAAI,GAAG;gBACL,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC;SACF;QACD,WAAW,EAAE,iDAAiD;QAC9D,QAAQ,EAAE,cAAQ,CAAC,MAAM;KAC1B;CACF,CAAC","sourcesContent":["import { Protocol } from \"sablier/evm\";\nimport type { Indexer } from \"../types.js\";\n\nfunction getURL(id: string) {\n return `https://indexer.hyperindex.xyz/${id}/v1/graphql`;\n}\n\nexport const envioDeployments: Record<Indexer.Protocol, Indexer.EnvioDeployment> = {\n airdrops: {\n createdOn: 1_712_673_343, // April 8, 2024\n endpoint: {\n id: \"508d217\",\n get url() {\n return getURL(this.id);\n },\n },\n explorerURL: \"https://envio.dev/app/sablier-labs/merkle-envio\",\n protocol: Protocol.Airdrops,\n },\n flow: {\n createdOn: 1_731_318_958, // November 1, 2024\n endpoint: {\n id: \"3b4ea6b\",\n get url() {\n return getURL(this.id);\n },\n },\n explorerURL: \"https://envio.dev/app/sablier-labs/flow-envio\",\n protocol: Protocol.Flow,\n },\n lockup: {\n createdOn: 1_712_673_343, // April 8, 2024\n endpoint: {\n id: \"53b7e25\",\n get url() {\n return getURL(this.id);\n },\n },\n explorerURL: \"https://envio.dev/app/sablier-labs/lockup-envio\",\n protocol: Protocol.Lockup,\n },\n};\n"]}
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.envioChains = exports.envio = void 0;
4
4
  const evm_1 = require("sablier/evm");
5
- const enums_1 = require("../enums");
6
- const envio_deployments_1 = require("./envio-deployments");
5
+ const enums_js_1 = require("../enums.js");
6
+ const envio_deployments_js_1 = require("./envio-deployments.js");
7
7
  function get(id, config) {
8
8
  return { config, id };
9
9
  }
@@ -27,6 +27,7 @@ const SUPPORTED_CHAINS = [
27
27
  get(evm_1.chains.polygon.id),
28
28
  get(evm_1.chains.sonic.id),
29
29
  get(evm_1.chains.scroll.id),
30
+ get(evm_1.chains.sei.id, { hypersync: "sei" }),
30
31
  get(evm_1.chains.sophon.id),
31
32
  get(evm_1.chains.superseed.id),
32
33
  get(evm_1.chains.unichain.id),
@@ -37,7 +38,7 @@ const SUPPORTED_CHAINS = [
37
38
  ];
38
39
  function getIndexers(protocol) {
39
40
  return SUPPORTED_CHAINS.map((chain) => {
40
- const deployment = envio_deployments_1.envioDeployments[protocol];
41
+ const deployment = envio_deployments_js_1.envioDeployments[protocol];
41
42
  return {
42
43
  chainId: chain.id,
43
44
  endpoint: {
@@ -49,7 +50,7 @@ function getIndexers(protocol) {
49
50
  name: `sablier-${protocol}`,
50
51
  protocol,
51
52
  testingURL: `https://cloud.hasura.io/public/graphiql?endpoint=${encodeURIComponent(deployment.endpoint.url)}`,
52
- vendor: enums_1.Vendor.Envio,
53
+ vendor: enums_js_1.Vendor.Envio,
53
54
  };
54
55
  });
55
56
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"envio.js","sourceRoot":"","sources":["../../../src/indexers/envio.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @file Use this file to define new indexers for Envio.\n *\n * @see https://docs.envio.dev/docs/HyperSync/hypersync-supported-networks\n */\nimport { chains, Protocol } from \"sablier/evm\";\nimport { Vendor } from \"../enums.js\";\nimport type { Indexer } from \"../types.js\";\nimport { envioDeployments } from \"./envio-deployments.js\";\n\ntype EnvioChainConfig = {\n /**\n * @see https://github.com/sablier-labs/indexers/discussions/147\n * @see https://github.com/enviodev/hyperindex/issues/599\n */\n hypersync?: string;\n /**\n * Chains indexed only through RPC. No HyperSync support.\n * @see https://docs.envio.dev/docs/HyperIndex/rpc-sync\n */\n rpcOnly?: boolean;\n};\n\ntype EnvioChain = {\n config?: EnvioChainConfig;\n id: number;\n};\n\nfunction get(id: number, config?: EnvioChainConfig): EnvioChain {\n return { config, id };\n}\n\nconst SUPPORTED_CHAINS = [\n /* -------------------------------------------------------------------------- */\n /* MAINNETS */\n /* -------------------------------------------------------------------------- */\n get(chains.abstract.id),\n get(chains.arbitrum.id),\n get(chains.avalanche.id),\n get(chains.base.id),\n get(chains.blast.id),\n get(chains.berachain.id),\n get(chains.bsc.id),\n get(chains.chiliz.id, { hypersync: \"chiliz\" }),\n get(chains.gnosis.id),\n get(chains.hyperevm.id),\n get(chains.linea.id),\n get(chains.mainnet.id),\n get(chains.mode.id),\n get(chains.monad.id),\n get(chains.morph.id),\n get(chains.optimism.id),\n get(chains.polygon.id),\n get(chains.sonic.id),\n get(chains.scroll.id),\n get(chains.sei.id, { hypersync: \"sei\" }),\n get(chains.sophon.id),\n get(chains.superseed.id),\n get(chains.unichain.id),\n get(chains.xdc.id),\n get(chains.zksync.id),\n /* -------------------------------------------------------------------------- */\n /* TESTNETS */\n /* -------------------------------------------------------------------------- */\n get(chains.baseSepolia.id),\n get(chains.sepolia.id),\n] as const;\n\nfunction getIndexers(protocol: Indexer.Protocol): Indexer[] {\n return SUPPORTED_CHAINS.map((chain) => {\n const deployment = envioDeployments[protocol];\n return {\n chainId: chain.id,\n endpoint: {\n id: deployment.endpoint.id,\n url: deployment.endpoint.url,\n },\n explorerURL: deployment.explorerURL,\n kind: \"official\",\n name: `sablier-${protocol}`,\n protocol,\n testingURL: `https://cloud.hasura.io/public/graphiql?endpoint=${encodeURIComponent(deployment.endpoint.url)}`,\n vendor: Vendor.Envio,\n };\n });\n}\n\nexport const envio: Record<Indexer.Protocol, Indexer[]> = {\n airdrops: getIndexers(Protocol.Airdrops),\n flow: getIndexers(Protocol.Flow),\n lockup: getIndexers(Protocol.Lockup),\n} as const;\n\nexport const envioChains = SUPPORTED_CHAINS;\n"]}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getIndexer = getIndexer;
4
+ exports.getIndexerGraph = getIndexerGraph;
5
+ exports.getIndexerEnvio = getIndexerEnvio;
6
+ const data_js_1 = require("./data.js");
7
+ function getIndexer(opts) {
8
+ const { chainId, protocol, vendor } = opts;
9
+ if (vendor === "envio") {
10
+ return data_js_1.indexers.envio[protocol].find((c) => c.chainId === chainId);
11
+ }
12
+ return data_js_1.indexers.graph[protocol].find((c) => c.chainId === chainId);
13
+ }
14
+ function getIndexerGraph(opts) {
15
+ return getIndexer({ ...opts, vendor: "graph" });
16
+ }
17
+ function getIndexerEnvio(opts) {
18
+ return getIndexer({ ...opts, vendor: "envio" });
19
+ }
20
+ //# sourceMappingURL=getters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getters.js","sourceRoot":"","sources":["../../../src/indexers/getters.ts"],"names":[],"mappings":";;AAeA,gCAMC;AAWD,0CAEC;AAYD,0CAEC;AA/CD,uCAAqC;AAcrC,SAAgB,UAAU,CAAC,IAAiD;IAC1E,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC3C,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACvB,OAAO,kBAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,kBAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;AACrE,CAAC;AAWD,SAAgB,eAAe,CAAC,IAAsC;IACpE,OAAO,UAAU,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;AAClD,CAAC;AAYD,SAAgB,eAAe,CAAC,IAAsC;IACpE,OAAO,UAAU,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;AAClD,CAAC","sourcesContent":["import type { Indexer } from \"../types.js\";\nimport { indexers } from \"./data.js\";\n\ntype I = Indexer;\ntype P = Indexer.Protocol;\ntype V = Indexer.Vendor;\n\n/**\n * Retrieves an indexer configuration by chain ID, protocol, and vendor.\n *\n * @param opts.chainId - The chain ID to look up\n * @param opts.protocol - The Sablier protocol (airdrops, flow, or lockup)\n * @param opts.vendor - The indexing vendor (envio or graph)\n * @returns The indexer configuration, or `undefined` if not found\n */\nexport function getIndexer(opts: { chainId: number; protocol: P; vendor: V }): I | undefined {\n const { chainId, protocol, vendor } = opts;\n if (vendor === \"envio\") {\n return indexers.envio[protocol].find((c) => c.chainId === chainId);\n }\n return indexers.graph[protocol].find((c) => c.chainId === chainId);\n}\n/**\n * Retrieves a Graph indexer for the specified chain and protocol.\n *\n * Each Graph subgraph is deployed independently per chain, so each has a unique\n * endpoint URL specific to that chain.\n *\n * @param opts.chainId - The chain ID to look up\n * @param opts.protocol - The Sablier protocol (airdrops, flow, or lockup)\n * @returns The Graph indexer configuration, or `undefined` if not found\n */\nexport function getIndexerGraph(opts: { chainId: number; protocol: P }): I | undefined {\n return getIndexer({ ...opts, vendor: \"graph\" });\n}\n/**\n * Retrieves an Envio indexer for the specified chain and protocol.\n *\n * Returns the same endpoint URL for any chain on which Envio is supported, since\n * Envio deployments are multi-chain with a single shared endpoint per protocol.\n * Returns `undefined` for chains where Envio is unsupported.\n *\n * @param opts.chainId - The chain ID to look up\n * @param opts.protocol - The Sablier protocol (airdrops, flow, or lockup)\n * @returns The Envio indexer configuration, or `undefined` if the chain is unsupported\n */\nexport function getIndexerEnvio(opts: { chainId: number; protocol: P }): I | undefined {\n return getIndexer({ ...opts, vendor: \"envio\" });\n}\n"]}
@@ -6,8 +6,8 @@ exports.getSablierChainSlug = getSablierChainSlug;
6
6
  exports.getSubgraphYamlChainSlug = getSubgraphYamlChainSlug;
7
7
  const sablier_1 = require("sablier");
8
8
  const evm_1 = require("sablier/evm");
9
- const constants_1 = require("../constants");
10
- const enums_1 = require("../enums");
9
+ const constants_js_1 = require("../constants.js");
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
13
  [evm_1.chains.blast.id]: "blast-mainnet",
@@ -54,7 +54,7 @@ function resolveCustom(protocol, chainId, templateURL) {
54
54
  kind: "custom",
55
55
  name: subgraphName,
56
56
  protocol,
57
- vendor: enums_1.Vendor.Graph,
57
+ vendor: enums_js_1.Vendor.Graph,
58
58
  };
59
59
  }
60
60
  function resolveOfficial(protocol, chainId, subgraphId) {
@@ -69,8 +69,8 @@ function resolveOfficial(protocol, chainId, subgraphId) {
69
69
  kind: "official",
70
70
  name: subgraphName,
71
71
  protocol,
72
- testingURL: `https://api.studio.thegraph.com/query/${constants_1.SUBGRAPH_STUDIO_USER_ID}/${subgraphName}/version/latest`,
73
- vendor: enums_1.Vendor.Graph,
72
+ testingURL: `https://api.studio.thegraph.com/query/${constants_js_1.SUBGRAPH_STUDIO_USER_ID}/${subgraphName}/version/latest`,
73
+ vendor: enums_js_1.Vendor.Graph,
74
74
  };
75
75
  }
76
76
  function custom(chainId, baseURL) {
@@ -183,21 +183,11 @@ const OFFICIALS = [
183
183
  flow: "9DRgWhDAMovpkej3eT8izum6jxEKHE62ciArffsTAScx",
184
184
  lockup: "7SuEYGYwZ835LjVGB85ZE8z5zmqdKgmRh8kAEeJefWQN",
185
185
  }),
186
- official(evm_1.chains.arbitrumSepolia.id, {
187
- airdrops: "3S7v3VkDq8XMBd8EFVhKur2Vk44xScaW8a4BRjoPuYWk",
188
- flow: "2uWnxpYiDMkEMu1urxqt925mLfuax9XbvfcBoD97AU6d",
189
- lockup: "ApEFvaPGARHedGmFp6TRQu7DoDHQKwt1LPWi1ka6DFHT",
190
- }),
191
186
  official(evm_1.chains.baseSepolia.id, {
192
187
  airdrops: "4R2hm27YJ7CVEJ97BbBJz2r4KTKYc8sTqqzrD8UzEfJt",
193
188
  flow: "AsnKT1waQMvuQxZAqfFuYwtRtAfN8uekDu75jPttfyLh",
194
189
  lockup: "DdiYENuyh5ztSybRJnBnCZuUgESkFasjGFHZUbURpKHz",
195
190
  }),
196
- official(evm_1.chains.optimismSepolia.id, {
197
- airdrops: "3kp1eR2T1XpvvLkSZ7Wtt45DbDaiykTes478RZ7zwTz",
198
- flow: "EFKqBB6TeH6etGuHCffnbMbETEgDZ6U29Lgpc4gpYvdB",
199
- lockup: "2LFYyhMVMUMYA2q7XMMnBvCs6v6awWxBeMuMk3tMtmiT",
200
- }),
201
191
  official(evm_1.chains.sepolia.id, {
202
192
  airdrops: "8PLGDyXEsPgRTAnozL7MAjmTUFY4TBzs8i4F9Pq3wwSh",
203
193
  flow: "EU9AWmJjrjMRkjxcdHfuWPZvPTNAL3hiXfNGN5MwUpvm",
@@ -0,0 +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"]}
@@ -14,5 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./gql"), exports);
17
+ __exportStar(require("./data.js"), exports);
18
+ __exportStar(require("./getters.js"), exports);
18
19
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/indexers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,+CAA6B","sourcesContent":["export * from \"./data.js\";\nexport * from \"./getters.js\";\n"]}
@@ -0,0 +1 @@
1
+ {"type":"commonjs"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +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"]}
@@ -0,0 +1,2 @@
1
+ export const SUBGRAPH_STUDIO_USER_ID = 112_500;
2
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +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"]}
@@ -0,0 +1,6 @@
1
+ export var Vendor;
2
+ (function (Vendor) {
3
+ Vendor["Envio"] = "envio";
4
+ Vendor["Graph"] = "graph";
5
+ })(Vendor || (Vendor = {}));
6
+ //# sourceMappingURL=enums.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../src/enums.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,MAGX;AAHD,WAAY,MAAM;IAChB,yBAAe,CAAA;IACf,yBAAe,CAAA;AACjB,CAAC,EAHW,MAAM,KAAN,MAAM,QAGjB","sourcesContent":["export enum Vendor {\n Envio = \"envio\",\n Graph = \"graph\",\n}\n"]}
@@ -0,0 +1,19 @@
1
+ import { sepolia } from "sablier/evm/chains";
2
+ import { getIndexer } from "./indexers/getters.js";
3
+ export function getExperimentalURL(opts) {
4
+ const { protocol, vendor } = opts;
5
+ if (vendor === "envio") {
6
+ const id = {
7
+ airdrops: "508d217",
8
+ flow: "3b4ea6b",
9
+ lockup: "53b7e25",
10
+ };
11
+ return `https://indexer.hyperindex.xyz/${id[protocol]}/v1/graphql`;
12
+ }
13
+ const indexer = getIndexer({ chainId: sepolia.id, protocol, vendor: "graph" });
14
+ if (!indexer?.testingURL) {
15
+ throw new Error(`Sepolia Indexer not found for protocol ${protocol}`);
16
+ }
17
+ return indexer.testingURL.replace("sepolia", "experimental");
18
+ }
19
+ //# sourceMappingURL=experimental.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"experimental.js","sourceRoot":"","sources":["../../src/experimental.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAMnD,MAAM,UAAU,kBAAkB,CAAC,IAGlC;IACC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAClC,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACvB,MAAM,EAAE,GAAG;YACT,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,SAAS;SAClB,CAAC;QACF,OAAO,kCAAkC,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;IACrE,CAAC;IAED,MAAM,OAAO,GAAG,UAAU,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/E,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,0CAA0C,QAAQ,EAAE,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;AAC/D,CAAC","sourcesContent":["/**\n * @file The experimental indexers are the staging environment where we test new\n * features before they are released. They run on the Sepolia testnet.\n *\n * The experimental indexers are used for generating the GraphQL bindings in:\n * @see {@link file://./gql/flow/envio/gql.ts}\n * @see {@link file://./gql/flow/graph/gql.ts}\n *\n * As well as for the equivalence tests in:\n * @see {@link file://./../tests/vendors/equivalence/create-test.ts}\n */\nimport { sepolia } from \"sablier/evm/chains\";\nimport { getIndexer } from \"./indexers/getters.js\";\nimport type { Indexer } from \"./types.js\";\n\n/**\n * The experimental indexers run on Sepolia.\n */\nexport function getExperimentalURL(opts: {\n protocol: Indexer.Protocol;\n vendor: Indexer.Vendor;\n}): string {\n const { protocol, vendor } = opts;\n if (vendor === \"envio\") {\n const id = {\n airdrops: \"508d217\", // https://envio.dev/app/sablier-labs/merkle-envio\n flow: \"3b4ea6b\", // https://envio.dev/app/sablier-labs/flow-envio\n lockup: \"53b7e25\", // https://envio.dev/app/sablier-labs/lockup-envio\n };\n return `https://indexer.hyperindex.xyz/${id[protocol]}/v1/graphql`;\n }\n\n const indexer = getIndexer({ chainId: sepolia.id, protocol, vendor: \"graph\" });\n if (!indexer?.testingURL) {\n throw new Error(`Sepolia Indexer not found for protocol ${protocol}`);\n }\n return indexer.testingURL.replace(\"sepolia\", \"experimental\");\n}\n"]}
@@ -0,0 +1,6 @@
1
+ export * as constants from "./constants.js";
2
+ export * from "./enums.js";
3
+ export * from "./experimental.js";
4
+ export * from "./indexers/index.js";
5
+ export * from "./types.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAC5C,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC","sourcesContent":["/**\n * @file @see https://docs.sablier.com/api/overview\n */\nexport * as constants from \"./constants.js\";\nexport * from \"./enums.js\";\nexport * from \"./experimental.js\";\nexport * from \"./indexers/index.js\";\nexport * from \"./types.js\";\n"]}
@@ -0,0 +1,7 @@
1
+ import { envio } from "./envio.js";
2
+ import { graph } from "./graph.js";
3
+ export const indexers = {
4
+ envio,
5
+ graph,
6
+ };
7
+ //# sourceMappingURL=data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.js","sourceRoot":"","sources":["../../../src/indexers/data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,KAAK;IACL,KAAK;CACN,CAAC","sourcesContent":["import { envio } from \"./envio.js\";\nimport { graph } from \"./graph.js\";\n\nexport const indexers = {\n envio,\n graph,\n};\n"]}
@@ -0,0 +1,40 @@
1
+ import { Protocol } from "sablier/evm";
2
+ function getURL(id) {
3
+ return `https://indexer.hyperindex.xyz/${id}/v1/graphql`;
4
+ }
5
+ export const envioDeployments = {
6
+ airdrops: {
7
+ createdOn: 1_712_673_343,
8
+ endpoint: {
9
+ id: "508d217",
10
+ get url() {
11
+ return getURL(this.id);
12
+ },
13
+ },
14
+ explorerURL: "https://envio.dev/app/sablier-labs/merkle-envio",
15
+ protocol: Protocol.Airdrops,
16
+ },
17
+ flow: {
18
+ createdOn: 1_731_318_958,
19
+ endpoint: {
20
+ id: "3b4ea6b",
21
+ get url() {
22
+ return getURL(this.id);
23
+ },
24
+ },
25
+ explorerURL: "https://envio.dev/app/sablier-labs/flow-envio",
26
+ protocol: Protocol.Flow,
27
+ },
28
+ lockup: {
29
+ createdOn: 1_712_673_343,
30
+ endpoint: {
31
+ id: "53b7e25",
32
+ get url() {
33
+ return getURL(this.id);
34
+ },
35
+ },
36
+ explorerURL: "https://envio.dev/app/sablier-labs/lockup-envio",
37
+ protocol: Protocol.Lockup,
38
+ },
39
+ };
40
+ //# sourceMappingURL=envio-deployments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"envio-deployments.js","sourceRoot":"","sources":["../../../src/indexers/envio-deployments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,SAAS,MAAM,CAAC,EAAU;IACxB,OAAO,kCAAkC,EAAE,aAAa,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAsD;IACjF,QAAQ,EAAE;QACR,SAAS,EAAE,aAAa;QACxB,QAAQ,EAAE;YACR,EAAE,EAAE,SAAS;YACb,IAAI,GAAG;gBACL,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC;SACF;QACD,WAAW,EAAE,iDAAiD;QAC9D,QAAQ,EAAE,QAAQ,CAAC,QAAQ;KAC5B;IACD,IAAI,EAAE;QACJ,SAAS,EAAE,aAAa;QACxB,QAAQ,EAAE;YACR,EAAE,EAAE,SAAS;YACb,IAAI,GAAG;gBACL,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC;SACF;QACD,WAAW,EAAE,+CAA+C;QAC5D,QAAQ,EAAE,QAAQ,CAAC,IAAI;KACxB;IACD,MAAM,EAAE;QACN,SAAS,EAAE,aAAa;QACxB,QAAQ,EAAE;YACR,EAAE,EAAE,SAAS;YACb,IAAI,GAAG;gBACL,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC;SACF;QACD,WAAW,EAAE,iDAAiD;QAC9D,QAAQ,EAAE,QAAQ,CAAC,MAAM;KAC1B;CACF,CAAC","sourcesContent":["import { Protocol } from \"sablier/evm\";\nimport type { Indexer } from \"../types.js\";\n\nfunction getURL(id: string) {\n return `https://indexer.hyperindex.xyz/${id}/v1/graphql`;\n}\n\nexport const envioDeployments: Record<Indexer.Protocol, Indexer.EnvioDeployment> = {\n airdrops: {\n createdOn: 1_712_673_343, // April 8, 2024\n endpoint: {\n id: \"508d217\",\n get url() {\n return getURL(this.id);\n },\n },\n explorerURL: \"https://envio.dev/app/sablier-labs/merkle-envio\",\n protocol: Protocol.Airdrops,\n },\n flow: {\n createdOn: 1_731_318_958, // November 1, 2024\n endpoint: {\n id: \"3b4ea6b\",\n get url() {\n return getURL(this.id);\n },\n },\n explorerURL: \"https://envio.dev/app/sablier-labs/flow-envio\",\n protocol: Protocol.Flow,\n },\n lockup: {\n createdOn: 1_712_673_343, // April 8, 2024\n endpoint: {\n id: \"53b7e25\",\n get url() {\n return getURL(this.id);\n },\n },\n explorerURL: \"https://envio.dev/app/sablier-labs/lockup-envio\",\n protocol: Protocol.Lockup,\n },\n};\n"]}
@@ -0,0 +1,60 @@
1
+ import { chains, Protocol } from "sablier/evm";
2
+ import { Vendor } from "../enums.js";
3
+ import { envioDeployments } from "./envio-deployments.js";
4
+ function get(id, config) {
5
+ return { config, id };
6
+ }
7
+ const SUPPORTED_CHAINS = [
8
+ get(chains.abstract.id),
9
+ get(chains.arbitrum.id),
10
+ get(chains.avalanche.id),
11
+ get(chains.base.id),
12
+ get(chains.blast.id),
13
+ get(chains.berachain.id),
14
+ get(chains.bsc.id),
15
+ get(chains.chiliz.id, { hypersync: "chiliz" }),
16
+ get(chains.gnosis.id),
17
+ get(chains.hyperevm.id),
18
+ get(chains.linea.id),
19
+ get(chains.mainnet.id),
20
+ get(chains.mode.id),
21
+ get(chains.monad.id),
22
+ get(chains.morph.id),
23
+ get(chains.optimism.id),
24
+ get(chains.polygon.id),
25
+ get(chains.sonic.id),
26
+ get(chains.scroll.id),
27
+ get(chains.sei.id, { hypersync: "sei" }),
28
+ get(chains.sophon.id),
29
+ get(chains.superseed.id),
30
+ get(chains.unichain.id),
31
+ get(chains.xdc.id),
32
+ get(chains.zksync.id),
33
+ get(chains.baseSepolia.id),
34
+ get(chains.sepolia.id),
35
+ ];
36
+ function getIndexers(protocol) {
37
+ return SUPPORTED_CHAINS.map((chain) => {
38
+ const deployment = envioDeployments[protocol];
39
+ return {
40
+ chainId: chain.id,
41
+ endpoint: {
42
+ id: deployment.endpoint.id,
43
+ url: deployment.endpoint.url,
44
+ },
45
+ explorerURL: deployment.explorerURL,
46
+ kind: "official",
47
+ name: `sablier-${protocol}`,
48
+ protocol,
49
+ testingURL: `https://cloud.hasura.io/public/graphiql?endpoint=${encodeURIComponent(deployment.endpoint.url)}`,
50
+ vendor: Vendor.Envio,
51
+ };
52
+ });
53
+ }
54
+ export const envio = {
55
+ airdrops: getIndexers(Protocol.Airdrops),
56
+ flow: getIndexers(Protocol.Flow),
57
+ lockup: getIndexers(Protocol.Lockup),
58
+ };
59
+ export const envioChains = SUPPORTED_CHAINS;
60
+ //# sourceMappingURL=envio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"envio.js","sourceRoot":"","sources":["../../../src/indexers/envio.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @file Use this file to define new indexers for Envio.\n *\n * @see https://docs.envio.dev/docs/HyperSync/hypersync-supported-networks\n */\nimport { chains, Protocol } from \"sablier/evm\";\nimport { Vendor } from \"../enums.js\";\nimport type { Indexer } from \"../types.js\";\nimport { envioDeployments } from \"./envio-deployments.js\";\n\ntype EnvioChainConfig = {\n /**\n * @see https://github.com/sablier-labs/indexers/discussions/147\n * @see https://github.com/enviodev/hyperindex/issues/599\n */\n hypersync?: string;\n /**\n * Chains indexed only through RPC. No HyperSync support.\n * @see https://docs.envio.dev/docs/HyperIndex/rpc-sync\n */\n rpcOnly?: boolean;\n};\n\ntype EnvioChain = {\n config?: EnvioChainConfig;\n id: number;\n};\n\nfunction get(id: number, config?: EnvioChainConfig): EnvioChain {\n return { config, id };\n}\n\nconst SUPPORTED_CHAINS = [\n /* -------------------------------------------------------------------------- */\n /* MAINNETS */\n /* -------------------------------------------------------------------------- */\n get(chains.abstract.id),\n get(chains.arbitrum.id),\n get(chains.avalanche.id),\n get(chains.base.id),\n get(chains.blast.id),\n get(chains.berachain.id),\n get(chains.bsc.id),\n get(chains.chiliz.id, { hypersync: \"chiliz\" }),\n get(chains.gnosis.id),\n get(chains.hyperevm.id),\n get(chains.linea.id),\n get(chains.mainnet.id),\n get(chains.mode.id),\n get(chains.monad.id),\n get(chains.morph.id),\n get(chains.optimism.id),\n get(chains.polygon.id),\n get(chains.sonic.id),\n get(chains.scroll.id),\n get(chains.sei.id, { hypersync: \"sei\" }),\n get(chains.sophon.id),\n get(chains.superseed.id),\n get(chains.unichain.id),\n get(chains.xdc.id),\n get(chains.zksync.id),\n /* -------------------------------------------------------------------------- */\n /* TESTNETS */\n /* -------------------------------------------------------------------------- */\n get(chains.baseSepolia.id),\n get(chains.sepolia.id),\n] as const;\n\nfunction getIndexers(protocol: Indexer.Protocol): Indexer[] {\n return SUPPORTED_CHAINS.map((chain) => {\n const deployment = envioDeployments[protocol];\n return {\n chainId: chain.id,\n endpoint: {\n id: deployment.endpoint.id,\n url: deployment.endpoint.url,\n },\n explorerURL: deployment.explorerURL,\n kind: \"official\",\n name: `sablier-${protocol}`,\n protocol,\n testingURL: `https://cloud.hasura.io/public/graphiql?endpoint=${encodeURIComponent(deployment.endpoint.url)}`,\n vendor: Vendor.Envio,\n };\n });\n}\n\nexport const envio: Record<Indexer.Protocol, Indexer[]> = {\n airdrops: getIndexers(Protocol.Airdrops),\n flow: getIndexers(Protocol.Flow),\n lockup: getIndexers(Protocol.Lockup),\n} as const;\n\nexport const envioChains = SUPPORTED_CHAINS;\n"]}
@@ -0,0 +1,15 @@
1
+ import { indexers } from "./data.js";
2
+ export function getIndexer(opts) {
3
+ const { chainId, protocol, vendor } = opts;
4
+ if (vendor === "envio") {
5
+ return indexers.envio[protocol].find((c) => c.chainId === chainId);
6
+ }
7
+ return indexers.graph[protocol].find((c) => c.chainId === chainId);
8
+ }
9
+ export function getIndexerGraph(opts) {
10
+ return getIndexer({ ...opts, vendor: "graph" });
11
+ }
12
+ export function getIndexerEnvio(opts) {
13
+ return getIndexer({ ...opts, vendor: "envio" });
14
+ }
15
+ //# sourceMappingURL=getters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getters.js","sourceRoot":"","sources":["../../../src/indexers/getters.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAcrC,MAAM,UAAU,UAAU,CAAC,IAAiD;IAC1E,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC3C,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACvB,OAAO,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;AACrE,CAAC;AAWD,MAAM,UAAU,eAAe,CAAC,IAAsC;IACpE,OAAO,UAAU,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;AAClD,CAAC;AAYD,MAAM,UAAU,eAAe,CAAC,IAAsC;IACpE,OAAO,UAAU,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;AAClD,CAAC","sourcesContent":["import type { Indexer } from \"../types.js\";\nimport { indexers } from \"./data.js\";\n\ntype I = Indexer;\ntype P = Indexer.Protocol;\ntype V = Indexer.Vendor;\n\n/**\n * Retrieves an indexer configuration by chain ID, protocol, and vendor.\n *\n * @param opts.chainId - The chain ID to look up\n * @param opts.protocol - The Sablier protocol (airdrops, flow, or lockup)\n * @param opts.vendor - The indexing vendor (envio or graph)\n * @returns The indexer configuration, or `undefined` if not found\n */\nexport function getIndexer(opts: { chainId: number; protocol: P; vendor: V }): I | undefined {\n const { chainId, protocol, vendor } = opts;\n if (vendor === \"envio\") {\n return indexers.envio[protocol].find((c) => c.chainId === chainId);\n }\n return indexers.graph[protocol].find((c) => c.chainId === chainId);\n}\n/**\n * Retrieves a Graph indexer for the specified chain and protocol.\n *\n * Each Graph subgraph is deployed independently per chain, so each has a unique\n * endpoint URL specific to that chain.\n *\n * @param opts.chainId - The chain ID to look up\n * @param opts.protocol - The Sablier protocol (airdrops, flow, or lockup)\n * @returns The Graph indexer configuration, or `undefined` if not found\n */\nexport function getIndexerGraph(opts: { chainId: number; protocol: P }): I | undefined {\n return getIndexer({ ...opts, vendor: \"graph\" });\n}\n/**\n * Retrieves an Envio indexer for the specified chain and protocol.\n *\n * Returns the same endpoint URL for any chain on which Envio is supported, since\n * Envio deployments are multi-chain with a single shared endpoint per protocol.\n * Returns `undefined` for chains where Envio is unsupported.\n *\n * @param opts.chainId - The chain ID to look up\n * @param opts.protocol - The Sablier protocol (airdrops, flow, or lockup)\n * @returns The Envio indexer configuration, or `undefined` if the chain is unsupported\n */\nexport function getIndexerEnvio(opts: { chainId: number; protocol: P }): I | undefined {\n return getIndexer({ ...opts, vendor: \"envio\" });\n}\n"]}