@@ -13,25 +13,21 @@ export function getContractExplorerURL(explorerURL: string, contractAddress: Sab
13
13
return `${ explorerURL } /address/${ contractAddress } ` ;
14
14
}
15
15
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 ) ;
35
31
}
36
32
37
33
export function sortChains < T extends { name : string } > ( chains : T [ ] ) : T [ ] {
0 commit comments