@@ -6,6 +6,22 @@ export namespace Sablier {
66 /* TYPES */
77 /* -------------------------------------------------------------------------- */
88
9+ type BaseChain = ViemChain & {
10+ blockExplorers : {
11+ [ key : string ] : ChainBlockExplorer ;
12+ default : ChainBlockExplorer ;
13+ } ;
14+ /** Whether this chain is supported by the Sablier Interface at https://app.sablier.com. */
15+ isSupportedByUI : boolean ;
16+ /** Whether this is a testnet network. */
17+ isTestnet : boolean ;
18+ /** Whether this is a zkEVM like zkSync. */
19+ nativeCurrency : ViemChain [ "nativeCurrency" ] & {
20+ coinGeckoId : string ;
21+ } ;
22+ slug : string ;
23+ } ;
24+
925 /**
1026 * @see https://github.com/wevm/viem/discussions/3678
1127 */
@@ -30,20 +46,8 @@ export namespace Sablier {
3046 export type Address = `0x${string } `;
3147
3248 export type AbiMap = { [ contractName : string ] : readonly object [ ] } ;
33- export type Chain = ViemChain & {
34- blockExplorers : {
35- [ key : string ] : ChainBlockExplorer ;
36- default : ChainBlockExplorer ;
37- } ;
38- /** Whether this chain is supported by the Sablier Interface at https://app.sablier.com. */
39- isSupportedByUI : boolean ;
40- /** Whether this is a testnet network. */
41- isTestnet : boolean ;
42- /** Whether this is a zkEVM like zkSync. */
49+ export type Chain = BaseChain & {
4350 isZK : boolean ;
44- nativeCurrency : ViemChain [ "nativeCurrency" ] & {
45- coinGeckoId : string ;
46- } ;
4751 rpc : {
4852 /** Alchemy RPC URL generator. */
4953 alchemy ?: ( apiKey : string ) => string ;
@@ -200,6 +204,31 @@ export namespace Sablier {
200204 export type Version = Version . Airdrops | Version . Flow | Version . Legacy | Version . Lockup ;
201205 }
202206
207+ export namespace Solana {
208+ export type Address = string ;
209+ export type ChainCode = "SOL" | "SOLDEV" | "SOLTEST" ;
210+ export type Cluster = "mainnet-beta" | "devnet" | "testnet" ;
211+
212+ export type Chain = BaseChain & {
213+ rpc : {
214+ /** Helius RPC URL generator. */
215+ helius ?: ( apiKey : string ) => string ;
216+ /** Default RPC URL. */
217+ defaults : string [ ] ;
218+ } ;
219+ /** Used in deployment files to identify the chain, e.g., arbitrum-sepolia. */
220+ chainlink : {
221+ program : Address ; // Chainlink program used to retrieve on-chain price feeds
222+ feed : Address ; // Account providing the SOL/USD price feed data.
223+ } ;
224+ definition : {
225+ chainCode : ChainCode ;
226+ chainId : number ;
227+ cluster : Cluster ;
228+ } ;
229+ } ;
230+ }
231+
203232 export namespace Indexer {
204233 type Common = {
205234 chainId : number ;
0 commit comments