Skip to content

Commit 84a7530

Browse files
committed
fix: version validation
1 parent 6976fd2 commit 84a7530

File tree

3 files changed

+18
-30
lines changed

3 files changed

+18
-30
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.34",
4+
"version": "1.0.0-alpha.35",
55
"author": {
66
"name": "Sablier Labs Ltd",
77
"url": "https://sablier.com"

src/helpers.ts

Lines changed: 15 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -13,25 +13,21 @@ export function getContractExplorerURL(explorerURL: string, contractAddress: Sab
1313
return `${explorerURL}/address/${contractAddress}`;
1414
}
1515

16-
export function isValidAirdropsVersion(version: Sablier.Version): boolean {
17-
return version === Version.Airdrops.V1_3;
18-
}
19-
20-
export function isValidFlowVersion(version: Sablier.Version): boolean {
21-
return version === Version.Flow.V1_1;
22-
}
23-
24-
export function isValidLegacyVersion(version: Sablier.Version): boolean {
25-
return version === Version.Legacy.V1_0 || version === Version.Legacy.V1_1;
26-
}
27-
28-
export function isValidLockupVersion(version: Sablier.Version): boolean {
29-
return (
30-
version === Version.Lockup.V1_0 ||
31-
version === Version.Lockup.V1_1 ||
32-
version === Version.Lockup.V1_2 ||
33-
version === Version.Lockup.V2_0
34-
);
16+
/**
17+
* Check if a version is valid for a given protocol
18+
* @see {@link Version}
19+
* @param protocol - The protocol to check (airdrops, flow, legacy, lockup)
20+
* @param version - The version to validate
21+
* @returns Whether the version is valid for the given protocol
22+
*/
23+
export function isValidVersion(protocol: Sablier.Protocol, version: Sablier.Version): boolean {
24+
const protocolMap = {
25+
airdrops: Version.Airdrops,
26+
flow: Version.Flow,
27+
legacy: Version.Legacy,
28+
lockup: Version.Lockup,
29+
};
30+
return _.some(_.values(protocolMap[protocol]), (v) => v === version);
3531
}
3632

3733
export function sortChains<T extends { name: string }>(chains: T[]): T[] {

src/releases/queries.ts

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { isValidAirdropsVersion, isValidFlowVersion, isValidLegacyVersion, isValidLockupVersion } from "@src/helpers";
1+
import { isValidVersion } from "@src/helpers";
22
import type { Sablier } from "@src/types";
33
import _ from "lodash";
44
import {
@@ -100,15 +100,7 @@ export const releases = {
100100
* Get a release for a protocol and version
101101
*/
102102
getByProtocolAndVersion: (protocol: Sablier.Protocol, version: Sablier.Version): Sablier.Release | undefined => {
103-
const versionMap: Record<Sablier.Protocol, (v: Sablier.Version) => boolean> = {
104-
airdrops: isValidAirdropsVersion,
105-
flow: isValidFlowVersion,
106-
legacy: isValidLegacyVersion,
107-
lockup: isValidLockupVersion,
108-
};
109-
110-
const isValidVersion = versionMap[protocol];
111-
if (!isValidVersion(version)) {
103+
if (!isValidVersion(protocol, version)) {
112104
return undefined;
113105
}
114106

0 commit comments

Comments
 (0)