@@ -9,17 +9,16 @@ import { peerIdFromString } from '@libp2p/peer-id';
9
9
import { PeerId } from '@libp2p/interface-peer-id' ;
10
10
import { OPEN } from '@libp2p/interface-connection/status' ;
11
11
import { AbstractProvider } from 'ethers' ;
12
- import { z } from 'zod' ;
13
12
import { centerSub , CenterSub } from '../shared/pubsub.js' ;
14
13
import {
15
14
buildRequest ,
16
15
BuildRequestOptions ,
17
- createOfferDataSchema ,
16
+ OfferData ,
18
17
GenericOfferOptions ,
19
18
GenericQuery ,
20
19
RequestData ,
21
20
} from '../shared/messages.js' ;
22
- import { ClientOptions , createClientOptionsSchema } from '../shared/options.js' ;
21
+ import { ClientOptions } from '../shared/options.js' ;
23
22
import { RequestRecord , RequestsRegistry } from './requestsRegistry.js' ;
24
23
import { decodeText } from '../utils/text.js' ;
25
24
import { ContractConfig } from '../utils/contract.js' ;
@@ -210,35 +209,30 @@ export class Client<
210
209
serverMultiaddr : Multiaddr ;
211
210
/** Server peer Id */
212
211
serverPeerId : PeerId ;
213
- /** Request query validation schema */
214
- querySchema : z . ZodType < CustomRequestQuery > ;
215
- /** Offer options validation schema */
216
- offerOptionsSchema : z . ZodType < CustomOfferOptions > ;
217
212
/** Smart contract configuration */
218
213
contractConfig : ContractConfig ;
219
214
/** Ethers.js provider instance */
220
215
provider ?: AbstractProvider ;
216
+
221
217
/**
222
218
*Creates an instance of Client.
223
- * @param {ClientOptions<CustomRequestQuery, CustomOfferOptions> } options
219
+ * @param {ClientOptions } options
224
220
* @memberof Client
225
221
*/
226
- constructor ( options : ClientOptions < CustomRequestQuery , CustomOfferOptions > ) {
222
+ constructor ( options : ClientOptions ) {
227
223
super ( ) ;
228
224
229
225
const {
230
- querySchema,
231
- offerOptionsSchema,
232
226
contractConfig,
233
227
libp2p,
234
228
provider,
235
229
serverAddress,
236
230
storageInitializer,
237
231
requestRegistryPrefix,
238
- } = createClientOptionsSchema < CustomRequestQuery , CustomOfferOptions > ( ) . parse ( options ) ;
232
+ } = options ;
233
+
234
+ // @todo Validate ClientOptions
239
235
240
- this . querySchema = querySchema ;
241
- this . offerOptionsSchema = offerOptionsSchema ;
242
236
this . contractConfig = contractConfig ;
243
237
this . libp2pInit = ( libp2p ?? { } ) as Libp2pOptions ;
244
238
this . provider = provider ;
@@ -329,10 +323,13 @@ export class Client<
329
323
}
330
324
331
325
/** Check is the message is an offer */
332
- const offer = createOfferDataSchema < CustomRequestQuery , CustomOfferOptions > (
333
- this . querySchema ,
334
- this . offerOptionsSchema ,
335
- ) . parse ( JSON . parse ( decodeText ( detail . data ) ) ) ;
326
+ const offer = JSON . parse ( decodeText ( detail . data ) ) as OfferData <
327
+ CustomRequestQuery ,
328
+ CustomOfferOptions
329
+ > ;
330
+
331
+ // @todo Validate offer
332
+
336
333
logger . trace ( 'Offer received:' , offer ) ;
337
334
338
335
// Verify the offer
@@ -459,10 +456,7 @@ export class Client<
459
456
throw new Error ( 'Client not initialized yet' ) ;
460
457
}
461
458
462
- return await buildRequest < CustomRequestQuery > ( {
463
- ...requestOptions ,
464
- querySchema : this . querySchema ,
465
- } as BuildRequestOptions < CustomRequestQuery > ) ;
459
+ return await buildRequest < CustomRequestQuery > ( requestOptions ) ;
466
460
}
467
461
468
462
/**
@@ -606,14 +600,14 @@ export class Client<
606
600
/**
607
601
* Creates client instance
608
602
*
609
- * @param {ClientOptions<CustomRequestQuery, CustomOfferOptions> } options Client initialization options
603
+ * @param {ClientOptions } options Client initialization options
610
604
* @returns {Client }
611
605
*/
612
606
export const createClient = <
613
607
CustomRequestQuery extends GenericQuery ,
614
608
CustomOfferOptions extends GenericOfferOptions ,
615
609
> (
616
- options : ClientOptions < CustomRequestQuery , CustomOfferOptions > ,
610
+ options : ClientOptions ,
617
611
) : Client < CustomRequestQuery , CustomOfferOptions > => {
618
612
return new Client ( options ) ;
619
613
} ;
0 commit comments