@@ -55,7 +55,7 @@ export {
55
55
56
56
export default class Client {
57
57
_client : GeyserClient ;
58
-
58
+ _insecureXToken : string | undefined ;
59
59
constructor (
60
60
endpoint : string ,
61
61
xToken : string | undefined ,
@@ -79,13 +79,24 @@ export default class Client {
79
79
) ;
80
80
} else {
81
81
creds = ChannelCredentials . createInsecure ( ) ;
82
+ if ( xToken !== undefined ) {
83
+ this . _insecureXToken = xToken ;
84
+ }
82
85
}
83
86
84
87
this . _client = new GeyserClient ( endpointURL . host , creds , channelOptions ) ;
85
88
}
86
89
90
+ private _getInsecureMetadata ( ) : Metadata {
91
+ const metadata = new Metadata ( ) ;
92
+ if ( this . _insecureXToken ) {
93
+ metadata . add ( "x-token" , this . _insecureXToken ) ;
94
+ }
95
+ return metadata ;
96
+ }
97
+
87
98
async subscribe ( ) {
88
- return await this . _client . subscribe ( ) ;
99
+ return await this . _client . subscribe ( this . _getInsecureMetadata ( ) ) ;
89
100
}
90
101
91
102
async subscribeOnce (
@@ -99,7 +110,7 @@ export default class Client {
99
110
commitment : CommitmentLevel | undefined ,
100
111
accountsDataSlice : SubscribeRequestAccountsDataSlice [ ]
101
112
) {
102
- const stream = await this . _client . subscribe ( ) ;
113
+ const stream = await this . _client . subscribe ( this . _getInsecureMetadata ( ) ) ;
103
114
104
115
await new Promise < void > ( ( resolve , reject ) => {
105
116
stream . write (
@@ -129,51 +140,67 @@ export default class Client {
129
140
130
141
async ping ( count : number ) : Promise < number > {
131
142
return await new Promise < number > ( ( resolve , reject ) => {
132
- this . _client . ping ( { count } , ( err , response ) => {
133
- if ( err === null || err === undefined ) {
134
- resolve ( response . count ) ;
135
- } else {
136
- reject ( err ) ;
143
+ this . _client . ping (
144
+ { count } ,
145
+ this . _getInsecureMetadata ( ) ,
146
+ ( err , response ) => {
147
+ if ( err === null || err === undefined ) {
148
+ resolve ( response . count ) ;
149
+ } else {
150
+ reject ( err ) ;
151
+ }
137
152
}
138
- } ) ;
153
+ ) ;
139
154
} ) ;
140
155
}
141
156
142
157
async getLatestBlockhash (
143
158
commitment ?: CommitmentLevel
144
159
) : Promise < GetLatestBlockhashResponse > {
145
160
return await new Promise < GetLatestBlockhashResponse > ( ( resolve , reject ) => {
146
- this . _client . getLatestBlockhash ( { commitment } , ( err , response ) => {
147
- if ( err === null || err === undefined ) {
148
- resolve ( response ) ;
149
- } else {
150
- reject ( err ) ;
161
+ this . _client . getLatestBlockhash (
162
+ { commitment } ,
163
+ this . _getInsecureMetadata ( ) ,
164
+ ( err , response ) => {
165
+ if ( err === null || err === undefined ) {
166
+ resolve ( response ) ;
167
+ } else {
168
+ reject ( err ) ;
169
+ }
151
170
}
152
- } ) ;
171
+ ) ;
153
172
} ) ;
154
173
}
155
174
156
175
async getBlockHeight ( commitment ?: CommitmentLevel ) : Promise < string > {
157
176
return await new Promise < string > ( ( resolve , reject ) => {
158
- this . _client . getBlockHeight ( { commitment } , ( err , response ) => {
159
- if ( err === null || err === undefined ) {
160
- resolve ( response . blockHeight ) ;
161
- } else {
162
- reject ( err ) ;
177
+ this . _client . getBlockHeight (
178
+ { commitment } ,
179
+ this . _getInsecureMetadata ( ) ,
180
+ ( err , response ) => {
181
+ if ( err === null || err === undefined ) {
182
+ resolve ( response . blockHeight ) ;
183
+ } else {
184
+ reject ( err ) ;
185
+ }
163
186
}
164
- } ) ;
187
+ ) ;
165
188
} ) ;
166
189
}
167
190
168
191
async getSlot ( commitment ?: CommitmentLevel ) : Promise < string > {
169
192
return await new Promise < string > ( ( resolve , reject ) => {
170
- this . _client . getSlot ( { commitment } , ( err , response ) => {
171
- if ( err === null || err === undefined ) {
172
- resolve ( response . slot ) ;
173
- } else {
174
- reject ( err ) ;
193
+ this . _client . getSlot (
194
+ { commitment } ,
195
+ this . _getInsecureMetadata ( ) ,
196
+ ( err , response ) => {
197
+ if ( err === null || err === undefined ) {
198
+ resolve ( response . slot ) ;
199
+ } else {
200
+ reject ( err ) ;
201
+ }
175
202
}
176
- } ) ;
203
+ ) ;
177
204
} ) ;
178
205
}
179
206
@@ -184,6 +211,7 @@ export default class Client {
184
211
return await new Promise < IsBlockhashValidResponse > ( ( resolve , reject ) => {
185
212
this . _client . isBlockhashValid (
186
213
{ blockhash, commitment } ,
214
+ this . _getInsecureMetadata ( ) ,
187
215
( err , response ) => {
188
216
if ( err === null || err === undefined ) {
189
217
resolve ( response ) ;
@@ -197,13 +225,17 @@ export default class Client {
197
225
198
226
async getVersion ( ) : Promise < string > {
199
227
return await new Promise < string > ( ( resolve , reject ) => {
200
- this . _client . getVersion ( { } , ( err , response ) => {
201
- if ( err === null || err === undefined ) {
202
- resolve ( response . version ) ;
203
- } else {
204
- reject ( err ) ;
228
+ this . _client . getVersion (
229
+ { } ,
230
+ this . _getInsecureMetadata ( ) ,
231
+ ( err , response ) => {
232
+ if ( err === null || err === undefined ) {
233
+ resolve ( response . version ) ;
234
+ } else {
235
+ reject ( err ) ;
236
+ }
205
237
}
206
- } ) ;
238
+ ) ;
207
239
} ) ;
208
240
}
209
241
}
0 commit comments