@@ -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 ;
@@ -246,6 +250,31 @@ export namespace Sablier {
246250 }
247251 }
248252
253+ export namespace Solana {
254+ export type Address = string ;
255+ export type ChainCode = "SOL" | "SOLDEV" | "SOLTEST" ;
256+ export type Cluster = "mainnet-beta" | "devnet" | "testnet" ;
257+
258+ export type Chain = BaseChain & {
259+ rpc : {
260+ /** Helius RPC URL generator. */
261+ helius ?: ( apiKey : string ) => string ;
262+ /** Default RPC URL. */
263+ defaults : string [ ] ;
264+ } ;
265+ /** Used in deployment files to identify the chain, e.g., arbitrum-sepolia. */
266+ chainlink : {
267+ program : Address ; // Chainlink program used to retrieve on-chain price feeds
268+ feed : Address ; // Account providing the SOL/USD price feed data.
269+ } ;
270+ definition : {
271+ chainCode : ChainCode ;
272+ chainId : number ;
273+ cluster : Cluster ;
274+ } ;
275+ } ;
276+ }
277+
249278 /* --------------------------------------------------------------------------------------------------- */
250279 /* RE-EXPORTS (FOR BACKWARD COMPATIBILITY) */
251280 /* --------------------------------------------------------------------------------------------------- */
0 commit comments