Skip to content

Commit cf1891b

Browse files
feat: add solana contract versions
1 parent e77e2c7 commit cf1891b

File tree

4 files changed

+44
-6
lines changed

4 files changed

+44
-6
lines changed

src/solana/enums.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
export enum Protocol {
2+
Airdrops = "airdrops",
3+
Lockup = "lockup",
4+
}
5+
6+
export namespace Version {
7+
export enum Airdrops {
8+
V1_0 = "v1.0",
9+
}
10+
11+
export enum Lockup {
12+
V1_0 = "v1.0",
13+
}
14+
}
15+
16+
export const enums = {
17+
Protocol,
18+
Version,
19+
};

src/solana/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
export { chains } from "./chains";
22
export * from "./idl";
3+
export * from "./types";

src/solana/types.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import type * as enums from "./enums";
2+
3+
export namespace SolanaVersion {
4+
export type Airdrops = `${enums.Version.Airdrops}` | enums.Version.Airdrops;
5+
export type Lockup = `${enums.Version.Lockup}` | enums.Version.Lockup;
6+
}
7+
8+
export type SolanaVersion = SolanaVersion.Airdrops | SolanaVersion.Lockup;

src/types.ts

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import type { Chain as ViemChain } from "viem";
2-
import type * as enums from "./evm/enums";
2+
import type * as evmEnums from "./evm/enums";
3+
import type * as solanaEnums from "./solana/enums";
34

45
export namespace Sablier {
56
/* -------------------------------------------------------------------------- */
@@ -98,7 +99,7 @@ export namespace Sablier {
9899
[contractName: string]: Address | [Address, number];
99100
};
100101

101-
export type Protocol = `${enums.Protocol}` | enums.Protocol;
102+
export type Protocol = `${evmEnums.Protocol}` | evmEnums.Protocol;
102103

103104
export type CompilerSettings = {
104105
/** The EVM version such as shanghai, paris, etc. */
@@ -192,13 +193,13 @@ export namespace Sablier {
192193
export type Release = Release.Standard | Release.LockupV1;
193194

194195
export namespace Version {
195-
export type Airdrops = `${enums.Version.Airdrops}` | enums.Version.Airdrops;
196+
export type Airdrops = `${evmEnums.Version.Airdrops}` | evmEnums.Version.Airdrops;
196197

197-
export type Flow = `${enums.Version.Flow}` | enums.Version.Flow;
198+
export type Flow = `${evmEnums.Version.Flow}` | evmEnums.Version.Flow;
198199

199-
export type Legacy = `${enums.Version.Legacy}` | enums.Version.Legacy;
200+
export type Legacy = `${evmEnums.Version.Legacy}` | evmEnums.Version.Legacy;
200201

201-
export type Lockup = `${enums.Version.Lockup}` | enums.Version.Lockup;
202+
export type Lockup = `${evmEnums.Version.Lockup}` | evmEnums.Version.Lockup;
202203
}
203204

204205
export type Version = Version.Airdrops | Version.Flow | Version.Legacy | Version.Lockup;
@@ -227,6 +228,15 @@ export namespace Sablier {
227228
cluster: Cluster;
228229
};
229230
};
231+
232+
export type Protocol = `${solanaEnums.Protocol}` | solanaEnums.Protocol;
233+
234+
export namespace Version {
235+
export type Airdrops = `${solanaEnums.Version.Airdrops}` | solanaEnums.Version.Airdrops;
236+
export type Lockup = `${solanaEnums.Version.Lockup}` | solanaEnums.Version.Lockup;
237+
}
238+
239+
export type Version = Version.Airdrops | Version.Lockup;
230240
}
231241

232242
export namespace Indexer {

0 commit comments

Comments
 (0)