Skip to content

Commit 0a83553

Browse files
committed
fix: fix queries for deployments
1 parent 7fb6873 commit 0a83553

File tree

5 files changed

+50
-57
lines changed

5 files changed

+50
-57
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@sablier/deployments",
33
"description": "Keeping track of Sablier deployments",
4-
"version": "1.0.0-alpha.37",
4+
"version": "1.0.0-alpha.38",
55
"author": {
66
"name": "Sablier Labs Ltd",
77
"url": "https://sablier.com"

src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,4 @@ export * from "./releases";
66
export * from "./types";
77
export * as contracts from "./contracts";
88
export * as nativeTokens from "./native-tokens";
9+
export { default as queries } from "./queries";

src/queries.ts

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import type { Sablier } from "@src/types";
22
import _ from "lodash";
3-
import { releases as allReleases, releasesByProtocol } from "./releases/data";
3+
import { releases as allReleases, releasesByProtocol } from "./releases";
44

55
const contracts = {
66
/**
@@ -81,23 +81,17 @@ const deployments = {
8181
* Get many deployments.
8282
* - no options ⇒ all across all releases
8383
* - {release} ⇒ that release's deployments
84-
* - {release, chainId} ⇒ single deployment
8584
*/
86-
get: (opts?: {
87-
release?: Sablier.Release;
88-
chainId?: number;
89-
}): Sablier.Deployment[] | Sablier.Deployment | undefined => {
90-
const { release, chainId } = opts || {};
91-
92-
if (release) {
93-
if (chainId) {
94-
return _.find(release.deployments, (d) => d.chainId === chainId);
95-
}
96-
return release.deployments;
97-
}
98-
85+
getAll: (): Sablier.Deployment[] | undefined => {
9986
return allReleases.flatMap((r) => r.deployments);
10087
},
88+
get: (opts: {
89+
release: Sablier.Release;
90+
chainId: number;
91+
}): Sablier.Deployment | undefined => {
92+
const { release, chainId } = opts || {};
93+
return _.find(release.deployments, (d) => d.chainId === chainId);
94+
},
10195
};
10296

10397
const releases = {

src/releases/data.ts

Lines changed: 0 additions & 39 deletions
This file was deleted.

src/releases/index.ts

Lines changed: 39 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,39 @@
1-
export * from "./data";
2-
export { default as queries } from "../queries";
1+
import _ from "lodash";
2+
import type { Sablier } from "../types";
3+
import airdrops from "./airdrops";
4+
import flow from "./flow";
5+
import legacy from "./legacy";
6+
import lockup from "./lockup";
7+
8+
// All releases in a flat array
9+
export const releases = [...airdrops, ...flow, ...legacy, ...lockup];
10+
11+
// Grouped by protocol
12+
export const releasesByProtocol = {
13+
airdrops,
14+
flow,
15+
legacy,
16+
lockup,
17+
};
18+
19+
// Group by version
20+
function groupReleases<T extends Sablier.Version>(releases: Sablier.Release[]): Record<T, Sablier.Release> {
21+
return _.reduce(
22+
releases,
23+
(result: Record<T, Sablier.Release>, release: Sablier.Release) => {
24+
result[release.version as T] = release;
25+
return result;
26+
},
27+
{} as Record<T, Sablier.Release>,
28+
);
29+
}
30+
31+
export const releasesByVersion = {
32+
airdrops: groupReleases<Sablier.Version.Airdrops>(airdrops),
33+
flow: groupReleases<Sablier.Version.Flow>(flow),
34+
legacy: groupReleases<Sablier.Version.Legacy>(legacy),
35+
lockup: groupReleases<Sablier.Version.Lockup>(lockup),
36+
};
37+
38+
// Re-export individual collections
39+
export { airdrops, flow, legacy, lockup };

0 commit comments

Comments
 (0)