@bosonprotocol/core-sdk 1.47.0-alpha.3 → 1.47.0-alpha.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/cjs/meta-tx/handler.d.ts +192 -1
  2. package/dist/cjs/meta-tx/handler.d.ts.map +1 -1
  3. package/dist/cjs/meta-tx/handler.js +182 -29
  4. package/dist/cjs/meta-tx/handler.js.map +1 -1
  5. package/dist/cjs/meta-tx/mixin.d.ts +187 -30
  6. package/dist/cjs/meta-tx/mixin.d.ts.map +1 -1
  7. package/dist/cjs/meta-tx/mixin.js +161 -163
  8. package/dist/cjs/meta-tx/mixin.js.map +1 -1
  9. package/dist/cjs/native-meta-tx/handler.d.ts +16 -3
  10. package/dist/cjs/native-meta-tx/handler.d.ts.map +1 -1
  11. package/dist/cjs/native-meta-tx/handler.js +16 -5
  12. package/dist/cjs/native-meta-tx/handler.js.map +1 -1
  13. package/dist/cjs/native-meta-tx/mixin.d.ts +11 -3
  14. package/dist/cjs/native-meta-tx/mixin.d.ts.map +1 -1
  15. package/dist/cjs/native-meta-tx/mixin.js +7 -9
  16. package/dist/cjs/native-meta-tx/mixin.js.map +1 -1
  17. package/dist/esm/meta-tx/handler.d.ts +192 -1
  18. package/dist/esm/meta-tx/handler.d.ts.map +1 -1
  19. package/dist/esm/meta-tx/handler.js +244 -46
  20. package/dist/esm/meta-tx/handler.js.map +1 -1
  21. package/dist/esm/meta-tx/mixin.d.ts +187 -30
  22. package/dist/esm/meta-tx/mixin.d.ts.map +1 -1
  23. package/dist/esm/meta-tx/mixin.js +389 -163
  24. package/dist/esm/meta-tx/mixin.js.map +1 -1
  25. package/dist/esm/native-meta-tx/handler.d.ts +16 -3
  26. package/dist/esm/native-meta-tx/handler.d.ts.map +1 -1
  27. package/dist/esm/native-meta-tx/handler.js +26 -6
  28. package/dist/esm/native-meta-tx/handler.js.map +1 -1
  29. package/dist/esm/native-meta-tx/mixin.d.ts +11 -3
  30. package/dist/esm/native-meta-tx/mixin.d.ts.map +1 -1
  31. package/dist/esm/native-meta-tx/mixin.js +12 -8
  32. package/dist/esm/native-meta-tx/mixin.js.map +1 -1
  33. package/package.json +2 -2
  34. package/src/meta-tx/handler.ts +839 -91
  35. package/src/meta-tx/mixin.ts +858 -62
  36. package/src/native-meta-tx/handler.ts +68 -18
  37. package/src/native-meta-tx/mixin.ts +30 -4
@@ -13,6 +13,7 @@ import { GetRetriedHashesData } from "./biconomy";
13
13
  import { accounts } from "..";
14
14
  import { AccountsMixin } from "../accounts/mixin";
15
15
  import { SellerFieldsFragment } from "../subgraph";
16
+ import { SignedMetaTx, UnsignedMetaTx } from "./handler";
16
17
  export class MetaTxMixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
17
18
  /* -------------------------------------------------------------------------- */
18
19
  /* Meta Tx related methods */
@@ -23,17 +24,42 @@ export class MetaTxMixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
23
24
  * @param args - Meta transaction args.
24
25
  * @returns Signature.
25
26
  */
27
+ // Overload: returnTypedDataToSign is true → returns UnsignedMetaTx
28
+ public async signMetaTx(
29
+ args: Omit<
30
+ Parameters<typeof handler.signMetaTx>[0],
31
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
32
+ > & { returnTypedDataToSign: true }
33
+ ): Promise<UnsignedMetaTx>;
34
+ // Overload: returnTypedDataToSign is false or undefined → returns SignedMetaTx
35
+ public async signMetaTx(
36
+ args: Omit<
37
+ Parameters<typeof handler.signMetaTx>[0],
38
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
39
+ > & { returnTypedDataToSign?: false | undefined }
40
+ ): Promise<SignedMetaTx>;
41
+ // Implementation
26
42
  public async signMetaTx(
27
43
  args: Omit<
28
44
  Parameters<typeof handler.signMetaTx>[0],
29
45
  "web3Lib" | "metaTxHandlerAddress" | "chainId"
30
46
  >
31
- ) {
47
+ ): Promise<SignedMetaTx | UnsignedMetaTx> {
48
+ if (args.returnTypedDataToSign) {
49
+ return handler.signMetaTx({
50
+ web3Lib: this._web3Lib,
51
+ metaTxHandlerAddress: this._protocolDiamond,
52
+ chainId: this._chainId,
53
+ ...args,
54
+ returnTypedDataToSign: true
55
+ });
56
+ }
32
57
  return handler.signMetaTx({
33
58
  web3Lib: this._web3Lib,
34
59
  metaTxHandlerAddress: this._protocolDiamond,
35
60
  chainId: this._chainId,
36
- ...args
61
+ ...args,
62
+ returnTypedDataToSign: false
37
63
  });
38
64
  }
39
65
 
@@ -42,49 +68,128 @@ export class MetaTxMixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
42
68
  * @param args - Meta transaction args.
43
69
  * @returns Signature.
44
70
  */
71
+ // Overload: returnTypedDataToSign is true → returns UnsignedMetaTx
72
+ public async signMetaTxCreateSeller(
73
+ args: Omit<
74
+ Parameters<typeof handler.signMetaTxCreateSeller>[0],
75
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
76
+ > & { returnTypedDataToSign: true }
77
+ ): Promise<UnsignedMetaTx>;
78
+ // Overload: returnTypedDataToSign is false or undefined → returns SignedMetaTx
79
+ public async signMetaTxCreateSeller(
80
+ args: Omit<
81
+ Parameters<typeof handler.signMetaTxCreateSeller>[0],
82
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
83
+ > & { returnTypedDataToSign?: false | undefined }
84
+ ): Promise<SignedMetaTx>;
85
+ // Implementation
45
86
  public async signMetaTxCreateSeller(
46
87
  args: Omit<
47
88
  Parameters<typeof handler.signMetaTxCreateSeller>[0],
48
89
  "web3Lib" | "metaTxHandlerAddress" | "chainId"
49
90
  >
50
- ) {
91
+ ): Promise<SignedMetaTx | UnsignedMetaTx> {
92
+ if (args.returnTypedDataToSign) {
93
+ return handler.signMetaTxCreateSeller({
94
+ web3Lib: this._web3Lib,
95
+ theGraphStorage: this._theGraphStorage,
96
+ metadataStorage: this._metadataStorage,
97
+ metaTxHandlerAddress: this._protocolDiamond,
98
+ chainId: this._chainId,
99
+ ...args,
100
+ returnTypedDataToSign: true
101
+ });
102
+ }
51
103
  return handler.signMetaTxCreateSeller({
52
104
  web3Lib: this._web3Lib,
53
105
  theGraphStorage: this._theGraphStorage,
54
106
  metadataStorage: this._metadataStorage,
55
107
  metaTxHandlerAddress: this._protocolDiamond,
56
108
  chainId: this._chainId,
57
- ...args
109
+ ...args,
110
+ returnTypedDataToSign: false
58
111
  });
59
112
  }
60
113
 
114
+ // Overload: returnTypedDataToSign is true → returns UnsignedMetaTx
115
+ public async signMetaTxUpdateSeller(
116
+ args: Omit<
117
+ Parameters<typeof handler.signMetaTxUpdateSeller>[0],
118
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
119
+ > & { returnTypedDataToSign: true }
120
+ ): Promise<UnsignedMetaTx>;
121
+ // Overload: returnTypedDataToSign is false or undefined → returns SignedMetaTx
122
+ public async signMetaTxUpdateSeller(
123
+ args: Omit<
124
+ Parameters<typeof handler.signMetaTxUpdateSeller>[0],
125
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
126
+ > & { returnTypedDataToSign?: false | undefined }
127
+ ): Promise<SignedMetaTx>;
128
+ // Implementation
61
129
  public async signMetaTxUpdateSeller(
62
130
  args: Omit<
63
131
  Parameters<typeof handler.signMetaTxUpdateSeller>[0],
64
132
  "web3Lib" | "metaTxHandlerAddress" | "chainId"
65
133
  >
66
- ) {
134
+ ): Promise<SignedMetaTx | UnsignedMetaTx> {
135
+ if (args.returnTypedDataToSign) {
136
+ return handler.signMetaTxUpdateSeller({
137
+ web3Lib: this._web3Lib,
138
+ theGraphStorage: this._theGraphStorage,
139
+ metadataStorage: this._metadataStorage,
140
+ metaTxHandlerAddress: this._protocolDiamond,
141
+ chainId: this._chainId,
142
+ ...args,
143
+ returnTypedDataToSign: true
144
+ });
145
+ }
67
146
  return handler.signMetaTxUpdateSeller({
68
147
  web3Lib: this._web3Lib,
69
148
  theGraphStorage: this._theGraphStorage,
70
149
  metadataStorage: this._metadataStorage,
71
150
  metaTxHandlerAddress: this._protocolDiamond,
72
151
  chainId: this._chainId,
73
- ...args
152
+ ...args,
153
+ returnTypedDataToSign: false
74
154
  });
75
155
  }
76
156
 
157
+ // Overload: returnTypedDataToSign is true → returns UnsignedMetaTx
158
+ public async signMetaTxOptInToSellerUpdate(
159
+ args: Omit<
160
+ Parameters<typeof handler.signMetaTxOptInToSellerUpdate>[0],
161
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
162
+ > & { returnTypedDataToSign: true }
163
+ ): Promise<UnsignedMetaTx>;
164
+ // Overload: returnTypedDataToSign is false or undefined → returns SignedMetaTx
165
+ public async signMetaTxOptInToSellerUpdate(
166
+ args: Omit<
167
+ Parameters<typeof handler.signMetaTxOptInToSellerUpdate>[0],
168
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
169
+ > & { returnTypedDataToSign?: false | undefined }
170
+ ): Promise<SignedMetaTx>;
171
+ // Implementation
77
172
  public async signMetaTxOptInToSellerUpdate(
78
173
  args: Omit<
79
174
  Parameters<typeof handler.signMetaTxOptInToSellerUpdate>[0],
80
175
  "web3Lib" | "metaTxHandlerAddress" | "chainId"
81
176
  >
82
- ) {
177
+ ): Promise<SignedMetaTx | UnsignedMetaTx> {
178
+ if (args.returnTypedDataToSign) {
179
+ return handler.signMetaTxOptInToSellerUpdate({
180
+ web3Lib: this._web3Lib,
181
+ metaTxHandlerAddress: this._protocolDiamond,
182
+ chainId: this._chainId,
183
+ ...args,
184
+ returnTypedDataToSign: true
185
+ });
186
+ }
83
187
  return handler.signMetaTxOptInToSellerUpdate({
84
188
  web3Lib: this._web3Lib,
85
189
  metaTxHandlerAddress: this._protocolDiamond,
86
190
  chainId: this._chainId,
87
- ...args
191
+ ...args,
192
+ returnTypedDataToSign: false
88
193
  });
89
194
  }
90
195
 
@@ -174,19 +279,46 @@ export class MetaTxMixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
174
279
  * @param args - Meta transaction args.
175
280
  * @returns Signature.
176
281
  */
282
+ // Overload: returnTypedDataToSign is true → returns UnsignedMetaTx
283
+ public async signMetaTxCreateOffer(
284
+ args: Omit<
285
+ Parameters<typeof handler.signMetaTxCreateOffer>[0],
286
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
287
+ > & { returnTypedDataToSign: true }
288
+ ): Promise<UnsignedMetaTx>;
289
+ // Overload: returnTypedDataToSign is false or undefined → returns SignedMetaTx
290
+ public async signMetaTxCreateOffer(
291
+ args: Omit<
292
+ Parameters<typeof handler.signMetaTxCreateOffer>[0],
293
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
294
+ > & { returnTypedDataToSign?: false | undefined }
295
+ ): Promise<SignedMetaTx>;
296
+ // Implementation
177
297
  public async signMetaTxCreateOffer(
178
298
  args: Omit<
179
299
  Parameters<typeof handler.signMetaTxCreateOffer>[0],
180
300
  "web3Lib" | "metaTxHandlerAddress" | "chainId"
181
301
  >
182
- ) {
302
+ ): Promise<SignedMetaTx | UnsignedMetaTx> {
303
+ if (args.returnTypedDataToSign) {
304
+ return handler.signMetaTxCreateOffer({
305
+ web3Lib: this._web3Lib,
306
+ theGraphStorage: this._theGraphStorage,
307
+ metadataStorage: this._metadataStorage,
308
+ metaTxHandlerAddress: this._protocolDiamond,
309
+ chainId: this._chainId,
310
+ ...args,
311
+ returnTypedDataToSign: true
312
+ });
313
+ }
183
314
  return handler.signMetaTxCreateOffer({
184
315
  web3Lib: this._web3Lib,
185
316
  theGraphStorage: this._theGraphStorage,
186
317
  metadataStorage: this._metadataStorage,
187
318
  metaTxHandlerAddress: this._protocolDiamond,
188
319
  chainId: this._chainId,
189
- ...args
320
+ ...args,
321
+ returnTypedDataToSign: false
190
322
  });
191
323
  }
192
324
 
@@ -195,19 +327,46 @@ export class MetaTxMixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
195
327
  * @param args - Meta transaction args.
196
328
  * @returns Signature.
197
329
  */
330
+ // Overload: returnTypedDataToSign is true → returns UnsignedMetaTx
331
+ public async signMetaTxCreateOfferBatch(
332
+ args: Omit<
333
+ Parameters<typeof handler.signMetaTxCreateOfferBatch>[0],
334
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
335
+ > & { returnTypedDataToSign: true }
336
+ ): Promise<UnsignedMetaTx>;
337
+ // Overload: returnTypedDataToSign is false or undefined → returns SignedMetaTx
338
+ public async signMetaTxCreateOfferBatch(
339
+ args: Omit<
340
+ Parameters<typeof handler.signMetaTxCreateOfferBatch>[0],
341
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
342
+ > & { returnTypedDataToSign?: false | undefined }
343
+ ): Promise<SignedMetaTx>;
344
+ // Implementation
198
345
  public async signMetaTxCreateOfferBatch(
199
346
  args: Omit<
200
347
  Parameters<typeof handler.signMetaTxCreateOfferBatch>[0],
201
348
  "web3Lib" | "metaTxHandlerAddress" | "chainId"
202
349
  >
203
- ) {
350
+ ): Promise<SignedMetaTx | UnsignedMetaTx> {
351
+ if (args.returnTypedDataToSign) {
352
+ return handler.signMetaTxCreateOfferBatch({
353
+ web3Lib: this._web3Lib,
354
+ theGraphStorage: this._theGraphStorage,
355
+ metadataStorage: this._metadataStorage,
356
+ metaTxHandlerAddress: this._protocolDiamond,
357
+ chainId: this._chainId,
358
+ ...args,
359
+ returnTypedDataToSign: true
360
+ });
361
+ }
204
362
  return handler.signMetaTxCreateOfferBatch({
205
363
  web3Lib: this._web3Lib,
206
364
  theGraphStorage: this._theGraphStorage,
207
365
  metadataStorage: this._metadataStorage,
208
366
  metaTxHandlerAddress: this._protocolDiamond,
209
367
  chainId: this._chainId,
210
- ...args
368
+ ...args,
369
+ returnTypedDataToSign: false
211
370
  });
212
371
  }
213
372
 
@@ -216,28 +375,81 @@ export class MetaTxMixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
216
375
  * @param args - Meta transaction args.
217
376
  * @returns Signature.
218
377
  */
378
+ // Overload: returnTypedDataToSign is true → returns UnsignedMetaTx
379
+ public async signMetaTxCreateGroup(
380
+ args: Omit<
381
+ Parameters<typeof handler.signMetaTxCreateGroup>[0],
382
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
383
+ > & { returnTypedDataToSign: true }
384
+ ): Promise<UnsignedMetaTx>;
385
+ // Overload: returnTypedDataToSign is false or undefined → returns SignedMetaTx
386
+ public async signMetaTxCreateGroup(
387
+ args: Omit<
388
+ Parameters<typeof handler.signMetaTxCreateGroup>[0],
389
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
390
+ > & { returnTypedDataToSign?: false | undefined }
391
+ ): Promise<SignedMetaTx>;
392
+ // Implementation
219
393
  public async signMetaTxCreateGroup(
220
394
  args: Omit<
221
395
  Parameters<typeof handler.signMetaTxCreateGroup>[0],
222
396
  "web3Lib" | "metaTxHandlerAddress" | "chainId"
223
397
  >
224
- ) {
398
+ ): Promise<SignedMetaTx | UnsignedMetaTx> {
399
+ if (args.returnTypedDataToSign) {
400
+ return handler.signMetaTxCreateGroup({
401
+ web3Lib: this._web3Lib,
402
+ metaTxHandlerAddress: this._protocolDiamond,
403
+ chainId: this._chainId,
404
+ ...args,
405
+ returnTypedDataToSign: true
406
+ });
407
+ }
225
408
  return handler.signMetaTxCreateGroup({
226
409
  web3Lib: this._web3Lib,
227
410
  metaTxHandlerAddress: this._protocolDiamond,
228
411
  chainId: this._chainId,
229
- ...args
412
+ ...args,
413
+ returnTypedDataToSign: false
230
414
  });
231
415
  }
232
416
 
417
+ // Overload: returnTypedDataToSign is true → returns UnsignedMetaTx
418
+ public async signMetaTxReserveRange(
419
+ args: Omit<
420
+ Parameters<typeof handler.signMetaTxReserveRange>[0],
421
+ "web3Lib" | "metaTxHandlerAddress" | "chainId" | "to"
422
+ > & { to: "seller" | "contract"; returnTypedDataToSign: true }
423
+ ): Promise<UnsignedMetaTx>;
424
+ // Overload: returnTypedDataToSign is false or undefined → returns SignedMetaTx
425
+ public async signMetaTxReserveRange(
426
+ args: Omit<
427
+ Parameters<typeof handler.signMetaTxReserveRange>[0],
428
+ "web3Lib" | "metaTxHandlerAddress" | "chainId" | "to"
429
+ > & { to: "seller" | "contract"; returnTypedDataToSign?: false | undefined }
430
+ ): Promise<SignedMetaTx>;
431
+ // Implementation
233
432
  public async signMetaTxReserveRange(
234
433
  args: Omit<
235
434
  Parameters<typeof handler.signMetaTxReserveRange>[0],
236
435
  "web3Lib" | "metaTxHandlerAddress" | "chainId" | "to"
237
436
  > & { to: "seller" | "contract" }
238
- ) {
437
+ ): Promise<SignedMetaTx | UnsignedMetaTx> {
239
438
  const offer = await getOfferById(this._subgraphUrl, args.offerId);
240
439
 
440
+ if (args.returnTypedDataToSign) {
441
+ return handler.signMetaTxReserveRange({
442
+ web3Lib: this._web3Lib,
443
+ metaTxHandlerAddress: this._protocolDiamond,
444
+ chainId: this._chainId,
445
+ ...args,
446
+ to:
447
+ args.to === "contract"
448
+ ? offer.seller.voucherCloneAddress
449
+ : offer.seller.assistant,
450
+ returnTypedDataToSign: true
451
+ });
452
+ }
241
453
  return handler.signMetaTxReserveRange({
242
454
  web3Lib: this._web3Lib,
243
455
  metaTxHandlerAddress: this._protocolDiamond,
@@ -246,7 +458,8 @@ export class MetaTxMixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
246
458
  to:
247
459
  args.to === "contract"
248
460
  ? offer.seller.voucherCloneAddress
249
- : offer.seller.assistant
461
+ : offer.seller.assistant,
462
+ returnTypedDataToSign: false
250
463
  });
251
464
  }
252
465
 
@@ -456,19 +669,46 @@ export class MetaTxMixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
456
669
  * @param args - Meta transaction args.
457
670
  * @returns Signature.
458
671
  */
672
+ // Overload: returnTypedDataToSign is true → returns UnsignedMetaTx
673
+ public async signMetaTxCreateOfferWithCondition(
674
+ args: Omit<
675
+ Parameters<typeof handler.signMetaTxCreateOfferWithCondition>[0],
676
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
677
+ > & { returnTypedDataToSign: true }
678
+ ): Promise<UnsignedMetaTx>;
679
+ // Overload: returnTypedDataToSign is false or undefined → returns SignedMetaTx
680
+ public async signMetaTxCreateOfferWithCondition(
681
+ args: Omit<
682
+ Parameters<typeof handler.signMetaTxCreateOfferWithCondition>[0],
683
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
684
+ > & { returnTypedDataToSign?: false | undefined }
685
+ ): Promise<SignedMetaTx>;
686
+ // Implementation
459
687
  public async signMetaTxCreateOfferWithCondition(
460
688
  args: Omit<
461
689
  Parameters<typeof handler.signMetaTxCreateOfferWithCondition>[0],
462
690
  "web3Lib" | "metaTxHandlerAddress" | "chainId"
463
691
  >
464
- ) {
692
+ ): Promise<SignedMetaTx | UnsignedMetaTx> {
693
+ if (args.returnTypedDataToSign) {
694
+ return handler.signMetaTxCreateOfferWithCondition({
695
+ web3Lib: this._web3Lib,
696
+ theGraphStorage: this._theGraphStorage,
697
+ metadataStorage: this._metadataStorage,
698
+ metaTxHandlerAddress: this._protocolDiamond,
699
+ chainId: this._chainId,
700
+ ...args,
701
+ returnTypedDataToSign: true
702
+ });
703
+ }
465
704
  return handler.signMetaTxCreateOfferWithCondition({
466
705
  web3Lib: this._web3Lib,
467
706
  theGraphStorage: this._theGraphStorage,
468
707
  metadataStorage: this._metadataStorage,
469
708
  metaTxHandlerAddress: this._protocolDiamond,
470
709
  chainId: this._chainId,
471
- ...args
710
+ ...args,
711
+ returnTypedDataToSign: false
472
712
  });
473
713
  }
474
714
 
@@ -477,17 +717,42 @@ export class MetaTxMixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
477
717
  * @param args - Meta transaction args.
478
718
  * @returns Signature.
479
719
  */
720
+ // Overload: returnTypedDataToSign is true → returns UnsignedMetaTx
721
+ public async signMetaTxVoidOffer(
722
+ args: Omit<
723
+ Parameters<typeof handler.signMetaTxVoidOffer>[0],
724
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
725
+ > & { returnTypedDataToSign: true }
726
+ ): Promise<UnsignedMetaTx>;
727
+ // Overload: returnTypedDataToSign is false or undefined → returns SignedMetaTx
728
+ public async signMetaTxVoidOffer(
729
+ args: Omit<
730
+ Parameters<typeof handler.signMetaTxVoidOffer>[0],
731
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
732
+ > & { returnTypedDataToSign?: false | undefined }
733
+ ): Promise<SignedMetaTx>;
734
+ // Implementation
480
735
  public async signMetaTxVoidOffer(
481
736
  args: Omit<
482
737
  Parameters<typeof handler.signMetaTxVoidOffer>[0],
483
738
  "web3Lib" | "metaTxHandlerAddress" | "chainId"
484
739
  >
485
- ) {
740
+ ): Promise<SignedMetaTx | UnsignedMetaTx> {
741
+ if (args.returnTypedDataToSign) {
742
+ return handler.signMetaTxVoidOffer({
743
+ web3Lib: this._web3Lib,
744
+ metaTxHandlerAddress: this._protocolDiamond,
745
+ chainId: this._chainId,
746
+ ...args,
747
+ returnTypedDataToSign: true
748
+ });
749
+ }
486
750
  return handler.signMetaTxVoidOffer({
487
751
  web3Lib: this._web3Lib,
488
752
  metaTxHandlerAddress: this._protocolDiamond,
489
753
  chainId: this._chainId,
490
- ...args
754
+ ...args,
755
+ returnTypedDataToSign: false
491
756
  });
492
757
  }
493
758
 
@@ -496,17 +761,42 @@ export class MetaTxMixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
496
761
  * @param args - Meta transaction args.
497
762
  * @returns Signature.
498
763
  */
764
+ // Overload: returnTypedDataToSign is true → returns UnsignedMetaTx
765
+ public async signMetaTxVoidOfferBatch(
766
+ args: Omit<
767
+ Parameters<typeof handler.signMetaTxVoidOfferBatch>[0],
768
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
769
+ > & { returnTypedDataToSign: true }
770
+ ): Promise<UnsignedMetaTx>;
771
+ // Overload: returnTypedDataToSign is false or undefined → returns SignedMetaTx
772
+ public async signMetaTxVoidOfferBatch(
773
+ args: Omit<
774
+ Parameters<typeof handler.signMetaTxVoidOfferBatch>[0],
775
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
776
+ > & { returnTypedDataToSign?: false | undefined }
777
+ ): Promise<SignedMetaTx>;
778
+ // Implementation
499
779
  public async signMetaTxVoidOfferBatch(
500
780
  args: Omit<
501
781
  Parameters<typeof handler.signMetaTxVoidOfferBatch>[0],
502
782
  "web3Lib" | "metaTxHandlerAddress" | "chainId"
503
783
  >
504
- ) {
784
+ ): Promise<SignedMetaTx | UnsignedMetaTx> {
785
+ if (args.returnTypedDataToSign) {
786
+ return handler.signMetaTxVoidOfferBatch({
787
+ web3Lib: this._web3Lib,
788
+ metaTxHandlerAddress: this._protocolDiamond,
789
+ chainId: this._chainId,
790
+ ...args,
791
+ returnTypedDataToSign: true
792
+ });
793
+ }
505
794
  return handler.signMetaTxVoidOfferBatch({
506
795
  web3Lib: this._web3Lib,
507
796
  metaTxHandlerAddress: this._protocolDiamond,
508
797
  chainId: this._chainId,
509
- ...args
798
+ ...args,
799
+ returnTypedDataToSign: false
510
800
  });
511
801
  }
512
802
 
@@ -515,17 +805,42 @@ export class MetaTxMixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
515
805
  * @param args - Meta transaction args.
516
806
  * @returns Signature.
517
807
  */
808
+ // Overload: returnTypedDataToSign is true → returns UnsignedMetaTx
809
+ public async signMetaTxExtendOffer(
810
+ args: Omit<
811
+ Parameters<typeof handler.signMetaTxExtendOffer>[0],
812
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
813
+ > & { returnTypedDataToSign: true }
814
+ ): Promise<UnsignedMetaTx>;
815
+ // Overload: returnTypedDataToSign is false or undefined → returns SignedMetaTx
816
+ public async signMetaTxExtendOffer(
817
+ args: Omit<
818
+ Parameters<typeof handler.signMetaTxExtendOffer>[0],
819
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
820
+ > & { returnTypedDataToSign?: false | undefined }
821
+ ): Promise<SignedMetaTx>;
822
+ // Implementation
518
823
  public async signMetaTxExtendOffer(
519
824
  args: Omit<
520
825
  Parameters<typeof handler.signMetaTxExtendOffer>[0],
521
826
  "web3Lib" | "metaTxHandlerAddress" | "chainId"
522
827
  >
523
- ) {
828
+ ): Promise<SignedMetaTx | UnsignedMetaTx> {
829
+ if (args.returnTypedDataToSign) {
830
+ return handler.signMetaTxExtendOffer({
831
+ web3Lib: this._web3Lib,
832
+ metaTxHandlerAddress: this._protocolDiamond,
833
+ chainId: this._chainId,
834
+ ...args,
835
+ returnTypedDataToSign: true
836
+ });
837
+ }
524
838
  return handler.signMetaTxExtendOffer({
525
839
  web3Lib: this._web3Lib,
526
840
  metaTxHandlerAddress: this._protocolDiamond,
527
841
  chainId: this._chainId,
528
- ...args
842
+ ...args,
843
+ returnTypedDataToSign: false
529
844
  });
530
845
  }
531
846
 
@@ -534,36 +849,86 @@ export class MetaTxMixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
534
849
  * @param args - Meta transaction args.
535
850
  * @returns Signature.
536
851
  */
852
+ // Overload: returnTypedDataToSign is true → returns UnsignedMetaTx
853
+ public async signMetaTxExtendOfferBatch(
854
+ args: Omit<
855
+ Parameters<typeof handler.signMetaTxExtendOfferBatch>[0],
856
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
857
+ > & { returnTypedDataToSign: true }
858
+ ): Promise<UnsignedMetaTx>;
859
+ // Overload: returnTypedDataToSign is false or undefined → returns SignedMetaTx
860
+ public async signMetaTxExtendOfferBatch(
861
+ args: Omit<
862
+ Parameters<typeof handler.signMetaTxExtendOfferBatch>[0],
863
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
864
+ > & { returnTypedDataToSign?: false | undefined }
865
+ ): Promise<SignedMetaTx>;
866
+ // Implementation
537
867
  public async signMetaTxExtendOfferBatch(
538
868
  args: Omit<
539
869
  Parameters<typeof handler.signMetaTxExtendOfferBatch>[0],
540
870
  "web3Lib" | "metaTxHandlerAddress" | "chainId"
541
871
  >
542
- ) {
872
+ ): Promise<SignedMetaTx | UnsignedMetaTx> {
873
+ if (args.returnTypedDataToSign) {
874
+ return handler.signMetaTxExtendOfferBatch({
875
+ web3Lib: this._web3Lib,
876
+ metaTxHandlerAddress: this._protocolDiamond,
877
+ chainId: this._chainId,
878
+ ...args,
879
+ returnTypedDataToSign: true
880
+ });
881
+ }
543
882
  return handler.signMetaTxExtendOfferBatch({
544
883
  web3Lib: this._web3Lib,
545
884
  metaTxHandlerAddress: this._protocolDiamond,
546
885
  chainId: this._chainId,
547
- ...args
886
+ ...args,
887
+ returnTypedDataToSign: false
548
888
  });
549
889
  }
550
890
 
551
891
  /**
552
- * Encodes and signs a meta transaction for `completeExchangeBatch` that can be relayed.
892
+ * Encodes and signs a meta transaction for `completeExchange` that can be relayed.
553
893
  * @param args - Meta transaction args.
554
894
  * @returns Signature.
555
895
  */
896
+ // Overload: returnTypedDataToSign is true → returns UnsignedMetaTx
897
+ public async signMetaTxCompleteExchange(
898
+ args: Omit<
899
+ Parameters<typeof handler.signMetaTxCompleteExchange>[0],
900
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
901
+ > & { returnTypedDataToSign: true }
902
+ ): Promise<UnsignedMetaTx>;
903
+ // Overload: returnTypedDataToSign is false or undefined → returns SignedMetaTx
904
+ public async signMetaTxCompleteExchange(
905
+ args: Omit<
906
+ Parameters<typeof handler.signMetaTxCompleteExchange>[0],
907
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
908
+ > & { returnTypedDataToSign?: false | undefined }
909
+ ): Promise<SignedMetaTx>;
910
+ // Implementation
556
911
  public async signMetaTxCompleteExchange(
557
912
  args: Omit<
558
913
  Parameters<typeof handler.signMetaTxCompleteExchange>[0],
559
914
  "web3Lib" | "metaTxHandlerAddress" | "chainId"
560
915
  >
561
- ) {
916
+ ): Promise<SignedMetaTx | UnsignedMetaTx> {
917
+ if (args.returnTypedDataToSign) {
918
+ return handler.signMetaTxCompleteExchange({
919
+ web3Lib: this._web3Lib,
920
+ metaTxHandlerAddress: this._protocolDiamond,
921
+ chainId: this._chainId,
922
+ ...args,
923
+ returnTypedDataToSign: true
924
+ });
925
+ }
562
926
  return handler.signMetaTxCompleteExchange({
563
927
  web3Lib: this._web3Lib,
564
928
  metaTxHandlerAddress: this._protocolDiamond,
565
929
  chainId: this._chainId,
566
- ...args
930
+ ...args,
931
+ returnTypedDataToSign: false
567
932
  });
568
933
  }
569
934
 
@@ -572,17 +937,42 @@ export class MetaTxMixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
572
937
  * @param args - Meta transaction args.
573
938
  * @returns Signature.
574
939
  */
940
+ // Overload: returnTypedDataToSign is true → returns UnsignedMetaTx
941
+ public async signMetaTxCompleteExchangeBatch(
942
+ args: Omit<
943
+ Parameters<typeof handler.signMetaTxCompleteExchangeBatch>[0],
944
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
945
+ > & { returnTypedDataToSign: true }
946
+ ): Promise<UnsignedMetaTx>;
947
+ // Overload: returnTypedDataToSign is false or undefined → returns SignedMetaTx
948
+ public async signMetaTxCompleteExchangeBatch(
949
+ args: Omit<
950
+ Parameters<typeof handler.signMetaTxCompleteExchangeBatch>[0],
951
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
952
+ > & { returnTypedDataToSign?: false | undefined }
953
+ ): Promise<SignedMetaTx>;
954
+ // Implementation
575
955
  public async signMetaTxCompleteExchangeBatch(
576
956
  args: Omit<
577
957
  Parameters<typeof handler.signMetaTxCompleteExchangeBatch>[0],
578
958
  "web3Lib" | "metaTxHandlerAddress" | "chainId"
579
959
  >
580
- ) {
960
+ ): Promise<SignedMetaTx | UnsignedMetaTx> {
961
+ if (args.returnTypedDataToSign) {
962
+ return handler.signMetaTxCompleteExchangeBatch({
963
+ web3Lib: this._web3Lib,
964
+ metaTxHandlerAddress: this._protocolDiamond,
965
+ chainId: this._chainId,
966
+ ...args,
967
+ returnTypedDataToSign: true
968
+ });
969
+ }
581
970
  return handler.signMetaTxCompleteExchangeBatch({
582
971
  web3Lib: this._web3Lib,
583
972
  metaTxHandlerAddress: this._protocolDiamond,
584
973
  chainId: this._chainId,
585
- ...args
974
+ ...args,
975
+ returnTypedDataToSign: false
586
976
  });
587
977
  }
588
978
 
@@ -591,27 +981,60 @@ export class MetaTxMixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
591
981
  * @param args - Meta transaction args.
592
982
  * @returns Signature.
593
983
  */
984
+ // Overload: returnTypedDataToSign is true → returns UnsignedMetaTx
985
+ public async signMetaTxCommitToOffer(
986
+ args: Omit<
987
+ Parameters<typeof handler.signMetaTxCommitToOffer>[0],
988
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
989
+ > & { returnTypedDataToSign: true }
990
+ ): Promise<UnsignedMetaTx>;
991
+ // Overload: returnTypedDataToSign is false or undefined → returns SignedMetaTx
992
+ public async signMetaTxCommitToOffer(
993
+ args: Omit<
994
+ Parameters<typeof handler.signMetaTxCommitToOffer>[0],
995
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
996
+ > & { returnTypedDataToSign?: false | undefined }
997
+ ): Promise<SignedMetaTx>;
998
+ // Implementation
594
999
  public async signMetaTxCommitToOffer(
595
1000
  args: Omit<
596
1001
  Parameters<typeof handler.signMetaTxCommitToOffer>[0],
597
1002
  "web3Lib" | "metaTxHandlerAddress" | "chainId"
598
1003
  >
599
- ) {
1004
+ ): Promise<SignedMetaTx | UnsignedMetaTx> {
600
1005
  const offer = await getOfferById(this._subgraphUrl, args.offerId);
601
1006
 
602
1007
  if (offer.condition) {
603
1008
  // keep compatibility with previous version
604
- return this.signMetaTxCommitToConditionalOffer({
605
- ...args,
1009
+ // Using type assertion because TypeScript can't resolve overloads inside the implementation body
1010
+ // when the args type comes from a complex Omit<Parameters<...>[0], ...> expression
1011
+ const self = this as {
1012
+ signMetaTxCommitToConditionalOffer: (
1013
+ args: Record<string, unknown>
1014
+ ) => Promise<SignedMetaTx | UnsignedMetaTx>;
1015
+ };
1016
+ const conditionalArgs = {
1017
+ ...(args as Record<string, unknown>),
606
1018
  tokenId: offer.condition.minTokenId
607
- });
1019
+ };
1020
+ return self.signMetaTxCommitToConditionalOffer(conditionalArgs);
608
1021
  }
609
1022
 
1023
+ if (args.returnTypedDataToSign) {
1024
+ return handler.signMetaTxCommitToOffer({
1025
+ web3Lib: this._web3Lib,
1026
+ metaTxHandlerAddress: this._protocolDiamond,
1027
+ chainId: this._chainId,
1028
+ ...args,
1029
+ returnTypedDataToSign: true
1030
+ });
1031
+ }
610
1032
  return handler.signMetaTxCommitToOffer({
611
1033
  web3Lib: this._web3Lib,
612
1034
  metaTxHandlerAddress: this._protocolDiamond,
613
1035
  chainId: this._chainId,
614
- ...args
1036
+ ...args,
1037
+ returnTypedDataToSign: false
615
1038
  });
616
1039
  }
617
1040
 
@@ -620,17 +1043,42 @@ export class MetaTxMixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
620
1043
  * @param args - Meta transaction args.
621
1044
  * @returns Signature.
622
1045
  */
1046
+ // Overload: returnTypedDataToSign is true → returns UnsignedMetaTx
1047
+ public async signMetaTxCommitToConditionalOffer(
1048
+ args: Omit<
1049
+ Parameters<typeof handler.signMetaTxCommitToConditionalOffer>[0],
1050
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
1051
+ > & { returnTypedDataToSign: true }
1052
+ ): Promise<UnsignedMetaTx>;
1053
+ // Overload: returnTypedDataToSign is false or undefined → returns SignedMetaTx
1054
+ public async signMetaTxCommitToConditionalOffer(
1055
+ args: Omit<
1056
+ Parameters<typeof handler.signMetaTxCommitToConditionalOffer>[0],
1057
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
1058
+ > & { returnTypedDataToSign?: false | undefined }
1059
+ ): Promise<SignedMetaTx>;
1060
+ // Implementation
623
1061
  public async signMetaTxCommitToConditionalOffer(
624
1062
  args: Omit<
625
1063
  Parameters<typeof handler.signMetaTxCommitToConditionalOffer>[0],
626
1064
  "web3Lib" | "metaTxHandlerAddress" | "chainId"
627
1065
  >
628
- ) {
1066
+ ): Promise<SignedMetaTx | UnsignedMetaTx> {
1067
+ if (args.returnTypedDataToSign) {
1068
+ return handler.signMetaTxCommitToConditionalOffer({
1069
+ web3Lib: this._web3Lib,
1070
+ metaTxHandlerAddress: this._protocolDiamond,
1071
+ chainId: this._chainId,
1072
+ ...args,
1073
+ returnTypedDataToSign: true
1074
+ });
1075
+ }
629
1076
  return handler.signMetaTxCommitToConditionalOffer({
630
1077
  web3Lib: this._web3Lib,
631
1078
  metaTxHandlerAddress: this._protocolDiamond,
632
1079
  chainId: this._chainId,
633
- ...args
1080
+ ...args,
1081
+ returnTypedDataToSign: false
634
1082
  });
635
1083
  }
636
1084
 
@@ -639,17 +1087,90 @@ export class MetaTxMixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
639
1087
  * @param args - Meta transaction args.
640
1088
  * @returns Signature.
641
1089
  */
1090
+ // Overload: returnTypedDataToSign is true → returns UnsignedMetaTx
1091
+ public async signMetaTxCommitToBuyerOffer(
1092
+ args: Omit<
1093
+ Parameters<typeof handler.signMetaTxCommitToBuyerOffer>[0],
1094
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
1095
+ > & { returnTypedDataToSign: true }
1096
+ ): Promise<UnsignedMetaTx>;
1097
+ // Overload: returnTypedDataToSign is false or undefined → returns SignedMetaTx
1098
+ public async signMetaTxCommitToBuyerOffer(
1099
+ args: Omit<
1100
+ Parameters<typeof handler.signMetaTxCommitToBuyerOffer>[0],
1101
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
1102
+ > & { returnTypedDataToSign?: false | undefined }
1103
+ ): Promise<SignedMetaTx>;
1104
+ // Implementation
642
1105
  public async signMetaTxCommitToBuyerOffer(
643
1106
  args: Omit<
644
1107
  Parameters<typeof handler.signMetaTxCommitToBuyerOffer>[0],
645
1108
  "web3Lib" | "metaTxHandlerAddress" | "chainId"
646
1109
  >
647
- ) {
1110
+ ): Promise<SignedMetaTx | UnsignedMetaTx> {
1111
+ if (args.returnTypedDataToSign) {
1112
+ return handler.signMetaTxCommitToBuyerOffer({
1113
+ web3Lib: this._web3Lib,
1114
+ metaTxHandlerAddress: this._protocolDiamond,
1115
+ chainId: this._chainId,
1116
+ ...args,
1117
+ returnTypedDataToSign: true
1118
+ });
1119
+ }
648
1120
  return handler.signMetaTxCommitToBuyerOffer({
649
1121
  web3Lib: this._web3Lib,
650
1122
  metaTxHandlerAddress: this._protocolDiamond,
651
1123
  chainId: this._chainId,
652
- ...args
1124
+ ...args,
1125
+ returnTypedDataToSign: false
1126
+ });
1127
+ }
1128
+
1129
+ /**
1130
+ * Encodes and signs a meta transaction for `createOfferAndCommit` that can be relayed.
1131
+ * @param args - Meta transaction args.
1132
+ * @returns Signature.
1133
+ */
1134
+ // Overload: returnTypedDataToSign is true → returns UnsignedMetaTx
1135
+ public async signMetaTxCreateOfferAndCommit(
1136
+ args: Omit<
1137
+ Parameters<typeof handler.signMetaTxCreateOfferAndCommit>[0],
1138
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
1139
+ > & { returnTypedDataToSign: true }
1140
+ ): Promise<UnsignedMetaTx>;
1141
+ // Overload: returnTypedDataToSign is false or undefined → returns SignedMetaTx
1142
+ public async signMetaTxCreateOfferAndCommit(
1143
+ args: Omit<
1144
+ Parameters<typeof handler.signMetaTxCreateOfferAndCommit>[0],
1145
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
1146
+ > & { returnTypedDataToSign?: false | undefined }
1147
+ ): Promise<SignedMetaTx>;
1148
+ // Implementation
1149
+ public async signMetaTxCreateOfferAndCommit(
1150
+ args: Omit<
1151
+ Parameters<typeof handler.signMetaTxCreateOfferAndCommit>[0],
1152
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
1153
+ >
1154
+ ): Promise<SignedMetaTx | UnsignedMetaTx> {
1155
+ if (args.returnTypedDataToSign) {
1156
+ return handler.signMetaTxCreateOfferAndCommit({
1157
+ web3Lib: this._web3Lib,
1158
+ theGraphStorage: this._theGraphStorage,
1159
+ metadataStorage: this._metadataStorage,
1160
+ metaTxHandlerAddress: this._protocolDiamond,
1161
+ chainId: this._chainId,
1162
+ ...args,
1163
+ returnTypedDataToSign: true
1164
+ });
1165
+ }
1166
+ return handler.signMetaTxCreateOfferAndCommit({
1167
+ web3Lib: this._web3Lib,
1168
+ theGraphStorage: this._theGraphStorage,
1169
+ metadataStorage: this._metadataStorage,
1170
+ metaTxHandlerAddress: this._protocolDiamond,
1171
+ chainId: this._chainId,
1172
+ ...args,
1173
+ returnTypedDataToSign: false
653
1174
  });
654
1175
  }
655
1176
 
@@ -658,17 +1179,42 @@ export class MetaTxMixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
658
1179
  * @param args - Meta transaction args.
659
1180
  * @returns Signature.
660
1181
  */
1182
+ // Overload: returnTypedDataToSign is true → returns UnsignedMetaTx
1183
+ public async signMetaTxCancelVoucher(
1184
+ args: Omit<
1185
+ Parameters<typeof handler.signMetaTxCancelVoucher>[0],
1186
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
1187
+ > & { returnTypedDataToSign: true }
1188
+ ): Promise<UnsignedMetaTx>;
1189
+ // Overload: returnTypedDataToSign is false or undefined → returns SignedMetaTx
1190
+ public async signMetaTxCancelVoucher(
1191
+ args: Omit<
1192
+ Parameters<typeof handler.signMetaTxCancelVoucher>[0],
1193
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
1194
+ > & { returnTypedDataToSign?: false | undefined }
1195
+ ): Promise<SignedMetaTx>;
1196
+ // Implementation
661
1197
  public async signMetaTxCancelVoucher(
662
1198
  args: Omit<
663
1199
  Parameters<typeof handler.signMetaTxCancelVoucher>[0],
664
1200
  "web3Lib" | "metaTxHandlerAddress" | "chainId"
665
1201
  >
666
- ) {
1202
+ ): Promise<SignedMetaTx | UnsignedMetaTx> {
1203
+ if (args.returnTypedDataToSign) {
1204
+ return handler.signMetaTxCancelVoucher({
1205
+ web3Lib: this._web3Lib,
1206
+ metaTxHandlerAddress: this._protocolDiamond,
1207
+ chainId: this._chainId,
1208
+ ...args,
1209
+ returnTypedDataToSign: true
1210
+ });
1211
+ }
667
1212
  return handler.signMetaTxCancelVoucher({
668
1213
  web3Lib: this._web3Lib,
669
1214
  metaTxHandlerAddress: this._protocolDiamond,
670
1215
  chainId: this._chainId,
671
- ...args
1216
+ ...args,
1217
+ returnTypedDataToSign: false
672
1218
  });
673
1219
  }
674
1220
 
@@ -677,17 +1223,42 @@ export class MetaTxMixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
677
1223
  * @param args - Meta transaction args.
678
1224
  * @returns Signature.
679
1225
  */
1226
+ // Overload: returnTypedDataToSign is true → returns UnsignedMetaTx
1227
+ public async signMetaTxRedeemVoucher(
1228
+ args: Omit<
1229
+ Parameters<typeof handler.signMetaTxRedeemVoucher>[0],
1230
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
1231
+ > & { returnTypedDataToSign: true }
1232
+ ): Promise<UnsignedMetaTx>;
1233
+ // Overload: returnTypedDataToSign is false or undefined → returns SignedMetaTx
1234
+ public async signMetaTxRedeemVoucher(
1235
+ args: Omit<
1236
+ Parameters<typeof handler.signMetaTxRedeemVoucher>[0],
1237
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
1238
+ > & { returnTypedDataToSign?: false | undefined }
1239
+ ): Promise<SignedMetaTx>;
1240
+ // Implementation
680
1241
  public async signMetaTxRedeemVoucher(
681
1242
  args: Omit<
682
1243
  Parameters<typeof handler.signMetaTxRedeemVoucher>[0],
683
1244
  "web3Lib" | "metaTxHandlerAddress" | "chainId"
684
1245
  >
685
- ) {
1246
+ ): Promise<SignedMetaTx | UnsignedMetaTx> {
1247
+ if (args.returnTypedDataToSign) {
1248
+ return handler.signMetaTxRedeemVoucher({
1249
+ web3Lib: this._web3Lib,
1250
+ metaTxHandlerAddress: this._protocolDiamond,
1251
+ chainId: this._chainId,
1252
+ ...args,
1253
+ returnTypedDataToSign: true
1254
+ });
1255
+ }
686
1256
  return handler.signMetaTxRedeemVoucher({
687
1257
  web3Lib: this._web3Lib,
688
1258
  metaTxHandlerAddress: this._protocolDiamond,
689
1259
  chainId: this._chainId,
690
- ...args
1260
+ ...args,
1261
+ returnTypedDataToSign: false
691
1262
  });
692
1263
  }
693
1264
 
@@ -696,17 +1267,42 @@ export class MetaTxMixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
696
1267
  * @param args - Meta transaction args.
697
1268
  * @returns Signature.
698
1269
  */
1270
+ // Overload: returnTypedDataToSign is true → returns UnsignedMetaTx
1271
+ public async signMetaTxExpireVoucher(
1272
+ args: Omit<
1273
+ Parameters<typeof handler.signMetaTxExpireVoucher>[0],
1274
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
1275
+ > & { returnTypedDataToSign: true }
1276
+ ): Promise<UnsignedMetaTx>;
1277
+ // Overload: returnTypedDataToSign is false or undefined → returns SignedMetaTx
1278
+ public async signMetaTxExpireVoucher(
1279
+ args: Omit<
1280
+ Parameters<typeof handler.signMetaTxExpireVoucher>[0],
1281
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
1282
+ > & { returnTypedDataToSign?: false | undefined }
1283
+ ): Promise<SignedMetaTx>;
1284
+ // Implementation
699
1285
  public async signMetaTxExpireVoucher(
700
1286
  args: Omit<
701
1287
  Parameters<typeof handler.signMetaTxExpireVoucher>[0],
702
1288
  "web3Lib" | "metaTxHandlerAddress" | "chainId"
703
1289
  >
704
- ) {
1290
+ ): Promise<SignedMetaTx | UnsignedMetaTx> {
1291
+ if (args.returnTypedDataToSign) {
1292
+ return handler.signMetaTxExpireVoucher({
1293
+ web3Lib: this._web3Lib,
1294
+ metaTxHandlerAddress: this._protocolDiamond,
1295
+ chainId: this._chainId,
1296
+ ...args,
1297
+ returnTypedDataToSign: true
1298
+ });
1299
+ }
705
1300
  return handler.signMetaTxExpireVoucher({
706
1301
  web3Lib: this._web3Lib,
707
1302
  metaTxHandlerAddress: this._protocolDiamond,
708
1303
  chainId: this._chainId,
709
- ...args
1304
+ ...args,
1305
+ returnTypedDataToSign: false
710
1306
  });
711
1307
  }
712
1308
 
@@ -715,17 +1311,42 @@ export class MetaTxMixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
715
1311
  * @param args - Meta transaction args.
716
1312
  * @returns Signature.
717
1313
  */
1314
+ // Overload: returnTypedDataToSign is true → returns UnsignedMetaTx
1315
+ public async signMetaTxRevokeVoucher(
1316
+ args: Omit<
1317
+ Parameters<typeof handler.signMetaTxRevokeVoucher>[0],
1318
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
1319
+ > & { returnTypedDataToSign: true }
1320
+ ): Promise<UnsignedMetaTx>;
1321
+ // Overload: returnTypedDataToSign is false or undefined → returns SignedMetaTx
1322
+ public async signMetaTxRevokeVoucher(
1323
+ args: Omit<
1324
+ Parameters<typeof handler.signMetaTxRevokeVoucher>[0],
1325
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
1326
+ > & { returnTypedDataToSign?: false | undefined }
1327
+ ): Promise<SignedMetaTx>;
1328
+ // Implementation
718
1329
  public async signMetaTxRevokeVoucher(
719
1330
  args: Omit<
720
1331
  Parameters<typeof handler.signMetaTxRevokeVoucher>[0],
721
1332
  "web3Lib" | "metaTxHandlerAddress" | "chainId"
722
1333
  >
723
- ) {
1334
+ ): Promise<SignedMetaTx | UnsignedMetaTx> {
1335
+ if (args.returnTypedDataToSign) {
1336
+ return handler.signMetaTxRevokeVoucher({
1337
+ web3Lib: this._web3Lib,
1338
+ metaTxHandlerAddress: this._protocolDiamond,
1339
+ chainId: this._chainId,
1340
+ ...args,
1341
+ returnTypedDataToSign: true
1342
+ });
1343
+ }
724
1344
  return handler.signMetaTxRevokeVoucher({
725
1345
  web3Lib: this._web3Lib,
726
1346
  metaTxHandlerAddress: this._protocolDiamond,
727
1347
  chainId: this._chainId,
728
- ...args
1348
+ ...args,
1349
+ returnTypedDataToSign: false
729
1350
  });
730
1351
  }
731
1352
 
@@ -734,17 +1355,42 @@ export class MetaTxMixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
734
1355
  * @param args - Meta transaction args.
735
1356
  * @returns Signature.
736
1357
  */
1358
+ // Overload: returnTypedDataToSign is true → returns UnsignedMetaTx
1359
+ public async signMetaTxRetractDispute(
1360
+ args: Omit<
1361
+ Parameters<typeof handler.signMetaTxRetractDispute>[0],
1362
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
1363
+ > & { returnTypedDataToSign: true }
1364
+ ): Promise<UnsignedMetaTx>;
1365
+ // Overload: returnTypedDataToSign is false or undefined → returns SignedMetaTx
1366
+ public async signMetaTxRetractDispute(
1367
+ args: Omit<
1368
+ Parameters<typeof handler.signMetaTxRetractDispute>[0],
1369
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
1370
+ > & { returnTypedDataToSign?: false | undefined }
1371
+ ): Promise<SignedMetaTx>;
1372
+ // Implementation
737
1373
  public async signMetaTxRetractDispute(
738
1374
  args: Omit<
739
1375
  Parameters<typeof handler.signMetaTxRetractDispute>[0],
740
1376
  "web3Lib" | "metaTxHandlerAddress" | "chainId"
741
1377
  >
742
- ) {
1378
+ ): Promise<SignedMetaTx | UnsignedMetaTx> {
1379
+ if (args.returnTypedDataToSign) {
1380
+ return handler.signMetaTxRetractDispute({
1381
+ web3Lib: this._web3Lib,
1382
+ metaTxHandlerAddress: this._protocolDiamond,
1383
+ chainId: this._chainId,
1384
+ ...args,
1385
+ returnTypedDataToSign: true
1386
+ });
1387
+ }
743
1388
  return handler.signMetaTxRetractDispute({
744
1389
  web3Lib: this._web3Lib,
745
1390
  metaTxHandlerAddress: this._protocolDiamond,
746
1391
  chainId: this._chainId,
747
- ...args
1392
+ ...args,
1393
+ returnTypedDataToSign: false
748
1394
  });
749
1395
  }
750
1396
 
@@ -753,17 +1399,42 @@ export class MetaTxMixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
753
1399
  * @param args - Meta transaction args.
754
1400
  * @returns Signature.
755
1401
  */
1402
+ // Overload: returnTypedDataToSign is true → returns UnsignedMetaTx
1403
+ public async signMetaTxEscalateDispute(
1404
+ args: Omit<
1405
+ Parameters<typeof handler.signMetaTxEscalateDispute>[0],
1406
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
1407
+ > & { returnTypedDataToSign: true }
1408
+ ): Promise<UnsignedMetaTx>;
1409
+ // Overload: returnTypedDataToSign is false or undefined → returns SignedMetaTx
1410
+ public async signMetaTxEscalateDispute(
1411
+ args: Omit<
1412
+ Parameters<typeof handler.signMetaTxEscalateDispute>[0],
1413
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
1414
+ > & { returnTypedDataToSign?: false | undefined }
1415
+ ): Promise<SignedMetaTx>;
1416
+ // Implementation
756
1417
  public async signMetaTxEscalateDispute(
757
1418
  args: Omit<
758
1419
  Parameters<typeof handler.signMetaTxEscalateDispute>[0],
759
1420
  "web3Lib" | "metaTxHandlerAddress" | "chainId"
760
1421
  >
761
- ) {
1422
+ ): Promise<SignedMetaTx | UnsignedMetaTx> {
1423
+ if (args.returnTypedDataToSign) {
1424
+ return handler.signMetaTxEscalateDispute({
1425
+ web3Lib: this._web3Lib,
1426
+ metaTxHandlerAddress: this._protocolDiamond,
1427
+ chainId: this._chainId,
1428
+ ...args,
1429
+ returnTypedDataToSign: true
1430
+ });
1431
+ }
762
1432
  return handler.signMetaTxEscalateDispute({
763
1433
  web3Lib: this._web3Lib,
764
1434
  metaTxHandlerAddress: this._protocolDiamond,
765
1435
  chainId: this._chainId,
766
- ...args
1436
+ ...args,
1437
+ returnTypedDataToSign: false
767
1438
  });
768
1439
  }
769
1440
 
@@ -772,17 +1443,42 @@ export class MetaTxMixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
772
1443
  * @param args - Meta transaction args.
773
1444
  * @returns Signature.
774
1445
  */
1446
+ // Overload: returnTypedDataToSign is true → returns UnsignedMetaTx
1447
+ public async signMetaTxRaiseDispute(
1448
+ args: Omit<
1449
+ Parameters<typeof handler.signMetaTxRaiseDispute>[0],
1450
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
1451
+ > & { returnTypedDataToSign: true }
1452
+ ): Promise<UnsignedMetaTx>;
1453
+ // Overload: returnTypedDataToSign is false or undefined → returns SignedMetaTx
1454
+ public async signMetaTxRaiseDispute(
1455
+ args: Omit<
1456
+ Parameters<typeof handler.signMetaTxRaiseDispute>[0],
1457
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
1458
+ > & { returnTypedDataToSign?: false | undefined }
1459
+ ): Promise<SignedMetaTx>;
1460
+ // Implementation
775
1461
  public async signMetaTxRaiseDispute(
776
1462
  args: Omit<
777
1463
  Parameters<typeof handler.signMetaTxRaiseDispute>[0],
778
1464
  "web3Lib" | "metaTxHandlerAddress" | "chainId"
779
1465
  >
780
- ) {
1466
+ ): Promise<SignedMetaTx | UnsignedMetaTx> {
1467
+ if (args.returnTypedDataToSign) {
1468
+ return handler.signMetaTxRaiseDispute({
1469
+ web3Lib: this._web3Lib,
1470
+ metaTxHandlerAddress: this._protocolDiamond,
1471
+ chainId: this._chainId,
1472
+ ...args,
1473
+ returnTypedDataToSign: true
1474
+ });
1475
+ }
781
1476
  return handler.signMetaTxRaiseDispute({
782
1477
  web3Lib: this._web3Lib,
783
1478
  metaTxHandlerAddress: this._protocolDiamond,
784
1479
  chainId: this._chainId,
785
- ...args
1480
+ ...args,
1481
+ returnTypedDataToSign: false
786
1482
  });
787
1483
  }
788
1484
 
@@ -791,17 +1487,42 @@ export class MetaTxMixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
791
1487
  * @param args - Meta transaction args.
792
1488
  * @returns Signature.
793
1489
  */
1490
+ // Overload: returnTypedDataToSign is true → returns UnsignedMetaTx
1491
+ public async signMetaTxResolveDispute(
1492
+ args: Omit<
1493
+ Parameters<typeof handler.signMetaTxResolveDispute>[0],
1494
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
1495
+ > & { returnTypedDataToSign: true }
1496
+ ): Promise<UnsignedMetaTx>;
1497
+ // Overload: returnTypedDataToSign is false or undefined → returns SignedMetaTx
1498
+ public async signMetaTxResolveDispute(
1499
+ args: Omit<
1500
+ Parameters<typeof handler.signMetaTxResolveDispute>[0],
1501
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
1502
+ > & { returnTypedDataToSign?: false | undefined }
1503
+ ): Promise<SignedMetaTx>;
1504
+ // Implementation
794
1505
  public async signMetaTxResolveDispute(
795
1506
  args: Omit<
796
1507
  Parameters<typeof handler.signMetaTxResolveDispute>[0],
797
1508
  "web3Lib" | "metaTxHandlerAddress" | "chainId"
798
1509
  >
799
- ) {
1510
+ ): Promise<SignedMetaTx | UnsignedMetaTx> {
1511
+ if (args.returnTypedDataToSign) {
1512
+ return handler.signMetaTxResolveDispute({
1513
+ web3Lib: this._web3Lib,
1514
+ metaTxHandlerAddress: this._protocolDiamond,
1515
+ chainId: this._chainId,
1516
+ ...args,
1517
+ returnTypedDataToSign: true
1518
+ });
1519
+ }
800
1520
  return handler.signMetaTxResolveDispute({
801
1521
  web3Lib: this._web3Lib,
802
1522
  metaTxHandlerAddress: this._protocolDiamond,
803
1523
  chainId: this._chainId,
804
- ...args
1524
+ ...args,
1525
+ returnTypedDataToSign: false
805
1526
  });
806
1527
  }
807
1528
 
@@ -810,17 +1531,42 @@ export class MetaTxMixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
810
1531
  * @param args - Meta transaction args.
811
1532
  * @returns Signature.
812
1533
  */
1534
+ // Overload: returnTypedDataToSign is true → returns UnsignedMetaTx
1535
+ public async signMetaTxExtendDisputeTimeout(
1536
+ args: Omit<
1537
+ Parameters<typeof handler.signMetaTxExtendDisputeTimeout>[0],
1538
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
1539
+ > & { returnTypedDataToSign: true }
1540
+ ): Promise<UnsignedMetaTx>;
1541
+ // Overload: returnTypedDataToSign is false or undefined → returns SignedMetaTx
1542
+ public async signMetaTxExtendDisputeTimeout(
1543
+ args: Omit<
1544
+ Parameters<typeof handler.signMetaTxExtendDisputeTimeout>[0],
1545
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
1546
+ > & { returnTypedDataToSign?: false | undefined }
1547
+ ): Promise<SignedMetaTx>;
1548
+ // Implementation
813
1549
  public async signMetaTxExtendDisputeTimeout(
814
1550
  args: Omit<
815
1551
  Parameters<typeof handler.signMetaTxExtendDisputeTimeout>[0],
816
1552
  "web3Lib" | "metaTxHandlerAddress" | "chainId"
817
1553
  >
818
- ) {
1554
+ ): Promise<SignedMetaTx | UnsignedMetaTx> {
1555
+ if (args.returnTypedDataToSign) {
1556
+ return handler.signMetaTxExtendDisputeTimeout({
1557
+ web3Lib: this._web3Lib,
1558
+ metaTxHandlerAddress: this._protocolDiamond,
1559
+ chainId: this._chainId,
1560
+ ...args,
1561
+ returnTypedDataToSign: true
1562
+ });
1563
+ }
819
1564
  return handler.signMetaTxExtendDisputeTimeout({
820
1565
  web3Lib: this._web3Lib,
821
1566
  metaTxHandlerAddress: this._protocolDiamond,
822
1567
  chainId: this._chainId,
823
- ...args
1568
+ ...args,
1569
+ returnTypedDataToSign: false
824
1570
  });
825
1571
  }
826
1572
 
@@ -829,17 +1575,42 @@ export class MetaTxMixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
829
1575
  * @param args - Meta transaction args.
830
1576
  * @returns Signature.
831
1577
  */
1578
+ // Overload: returnTypedDataToSign is true → returns UnsignedMetaTx
1579
+ public async signMetaTxWithdrawFunds(
1580
+ args: Omit<
1581
+ Parameters<typeof handler.signMetaTxWithdrawFunds>[0],
1582
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
1583
+ > & { returnTypedDataToSign: true }
1584
+ ): Promise<UnsignedMetaTx>;
1585
+ // Overload: returnTypedDataToSign is false or undefined → returns SignedMetaTx
1586
+ public async signMetaTxWithdrawFunds(
1587
+ args: Omit<
1588
+ Parameters<typeof handler.signMetaTxWithdrawFunds>[0],
1589
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
1590
+ > & { returnTypedDataToSign?: false | undefined }
1591
+ ): Promise<SignedMetaTx>;
1592
+ // Implementation
832
1593
  public async signMetaTxWithdrawFunds(
833
1594
  args: Omit<
834
1595
  Parameters<typeof handler.signMetaTxWithdrawFunds>[0],
835
1596
  "web3Lib" | "metaTxHandlerAddress" | "chainId"
836
1597
  >
837
- ) {
1598
+ ): Promise<SignedMetaTx | UnsignedMetaTx> {
1599
+ if (args.returnTypedDataToSign) {
1600
+ return handler.signMetaTxWithdrawFunds({
1601
+ web3Lib: this._web3Lib,
1602
+ metaTxHandlerAddress: this._protocolDiamond,
1603
+ chainId: this._chainId,
1604
+ ...args,
1605
+ returnTypedDataToSign: true
1606
+ });
1607
+ }
838
1608
  return handler.signMetaTxWithdrawFunds({
839
1609
  web3Lib: this._web3Lib,
840
1610
  metaTxHandlerAddress: this._protocolDiamond,
841
1611
  chainId: this._chainId,
842
- ...args
1612
+ ...args,
1613
+ returnTypedDataToSign: false
843
1614
  });
844
1615
  }
845
1616
 
@@ -848,17 +1619,42 @@ export class MetaTxMixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
848
1619
  * @param args - Meta transaction args.
849
1620
  * @returns Signature.
850
1621
  */
1622
+ // Overload: returnTypedDataToSign is true → returns UnsignedMetaTx
1623
+ public async signMetaTxDepositFunds(
1624
+ args: Omit<
1625
+ Parameters<typeof handler.signMetaTxDepositFunds>[0],
1626
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
1627
+ > & { returnTypedDataToSign: true }
1628
+ ): Promise<UnsignedMetaTx>;
1629
+ // Overload: returnTypedDataToSign is false or undefined → returns SignedMetaTx
1630
+ public async signMetaTxDepositFunds(
1631
+ args: Omit<
1632
+ Parameters<typeof handler.signMetaTxDepositFunds>[0],
1633
+ "web3Lib" | "metaTxHandlerAddress" | "chainId"
1634
+ > & { returnTypedDataToSign?: false | undefined }
1635
+ ): Promise<SignedMetaTx>;
1636
+ // Implementation
851
1637
  public async signMetaTxDepositFunds(
852
1638
  args: Omit<
853
1639
  Parameters<typeof handler.signMetaTxDepositFunds>[0],
854
1640
  "web3Lib" | "metaTxHandlerAddress" | "chainId"
855
1641
  >
856
- ) {
1642
+ ): Promise<SignedMetaTx | UnsignedMetaTx> {
1643
+ if (args.returnTypedDataToSign) {
1644
+ return handler.signMetaTxDepositFunds({
1645
+ web3Lib: this._web3Lib,
1646
+ metaTxHandlerAddress: this._protocolDiamond,
1647
+ chainId: this._chainId,
1648
+ ...args,
1649
+ returnTypedDataToSign: true
1650
+ });
1651
+ }
857
1652
  return handler.signMetaTxDepositFunds({
858
1653
  web3Lib: this._web3Lib,
859
1654
  metaTxHandlerAddress: this._protocolDiamond,
860
1655
  chainId: this._chainId,
861
- ...args
1656
+ ...args,
1657
+ returnTypedDataToSign: false
862
1658
  });
863
1659
  }
864
1660