@bosonprotocol/core-sdk 1.45.0-alpha.0 → 1.45.0-alpha.2
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.
- package/dist/cjs/accounts/handler.d.ts +17 -1
- package/dist/cjs/accounts/handler.d.ts.map +1 -1
- package/dist/cjs/accounts/handler.js +16 -0
- package/dist/cjs/accounts/handler.js.map +1 -1
- package/dist/cjs/accounts/interface.d.ts +2 -1
- package/dist/cjs/accounts/interface.d.ts.map +1 -1
- package/dist/cjs/accounts/interface.js +14 -0
- package/dist/cjs/accounts/interface.js.map +1 -1
- package/dist/cjs/accounts/mixin.d.ts +10 -0
- package/dist/cjs/accounts/mixin.d.ts.map +1 -1
- package/dist/cjs/accounts/mixin.js +19 -0
- package/dist/cjs/accounts/mixin.js.map +1 -1
- package/dist/cjs/accounts/types.d.ts +1 -1
- package/dist/cjs/accounts/types.d.ts.map +1 -1
- package/dist/cjs/accounts/types.js.map +1 -1
- package/dist/cjs/exchanges/handler.d.ts +36 -1
- package/dist/cjs/exchanges/handler.d.ts.map +1 -1
- package/dist/cjs/exchanges/handler.js +200 -0
- package/dist/cjs/exchanges/handler.js.map +1 -1
- package/dist/cjs/exchanges/interface.d.ts +14 -1
- package/dist/cjs/exchanges/interface.d.ts.map +1 -1
- package/dist/cjs/exchanges/interface.js +38 -0
- package/dist/cjs/exchanges/interface.js.map +1 -1
- package/dist/cjs/exchanges/mixin.d.ts +31 -1
- package/dist/cjs/exchanges/mixin.d.ts.map +1 -1
- package/dist/cjs/exchanges/mixin.js +45 -0
- package/dist/cjs/exchanges/mixin.js.map +1 -1
- package/dist/cjs/exchanges/subgraph.d.ts +2 -1
- package/dist/cjs/exchanges/subgraph.d.ts.map +1 -1
- package/dist/cjs/exchanges/subgraph.js +8 -0
- package/dist/cjs/exchanges/subgraph.js.map +1 -1
- package/dist/cjs/offers/handler.d.ts +34 -1
- package/dist/cjs/offers/handler.d.ts.map +1 -1
- package/dist/cjs/offers/handler.js +51 -2
- package/dist/cjs/offers/handler.js.map +1 -1
- package/dist/cjs/offers/interface.d.ts +5 -1
- package/dist/cjs/offers/interface.d.ts.map +1 -1
- package/dist/cjs/offers/interface.js +26 -1
- package/dist/cjs/offers/interface.js.map +1 -1
- package/dist/cjs/offers/mixin.d.ts +27 -1
- package/dist/cjs/offers/mixin.d.ts.map +1 -1
- package/dist/cjs/offers/mixin.js +67 -0
- package/dist/cjs/offers/mixin.js.map +1 -1
- package/dist/cjs/offers/types.d.ts +1 -1
- package/dist/cjs/offers/types.d.ts.map +1 -1
- package/dist/cjs/offers/types.js.map +1 -1
- package/dist/cjs/subgraph.d.ts +162 -0
- package/dist/cjs/subgraph.d.ts.map +1 -1
- package/dist/cjs/subgraph.js +53 -4
- package/dist/cjs/subgraph.js.map +1 -1
- package/dist/cjs/utils/graphql.d.ts +1 -0
- package/dist/cjs/utils/graphql.d.ts.map +1 -1
- package/dist/esm/accounts/handler.d.ts +17 -1
- package/dist/esm/accounts/handler.d.ts.map +1 -1
- package/dist/esm/accounts/handler.js +14 -1
- package/dist/esm/accounts/handler.js.map +1 -1
- package/dist/esm/accounts/interface.d.ts +2 -1
- package/dist/esm/accounts/interface.d.ts.map +1 -1
- package/dist/esm/accounts/interface.js +16 -0
- package/dist/esm/accounts/interface.js.map +1 -1
- package/dist/esm/accounts/mixin.d.ts +10 -0
- package/dist/esm/accounts/mixin.d.ts.map +1 -1
- package/dist/esm/accounts/mixin.js +23 -0
- package/dist/esm/accounts/mixin.js.map +1 -1
- package/dist/esm/accounts/types.d.ts +1 -1
- package/dist/esm/accounts/types.d.ts.map +1 -1
- package/dist/esm/accounts/types.js.map +1 -1
- package/dist/esm/exchanges/handler.d.ts +36 -1
- package/dist/esm/exchanges/handler.d.ts.map +1 -1
- package/dist/esm/exchanges/handler.js +216 -3
- package/dist/esm/exchanges/handler.js.map +1 -1
- package/dist/esm/exchanges/interface.d.ts +14 -1
- package/dist/esm/exchanges/interface.d.ts.map +1 -1
- package/dist/esm/exchanges/interface.js +36 -0
- package/dist/esm/exchanges/interface.js.map +1 -1
- package/dist/esm/exchanges/mixin.d.ts +31 -1
- package/dist/esm/exchanges/mixin.d.ts.map +1 -1
- package/dist/esm/exchanges/mixin.js +48 -1
- package/dist/esm/exchanges/mixin.js.map +1 -1
- package/dist/esm/exchanges/subgraph.d.ts +2 -1
- package/dist/esm/exchanges/subgraph.d.ts.map +1 -1
- package/dist/esm/exchanges/subgraph.js +5 -0
- package/dist/esm/exchanges/subgraph.js.map +1 -1
- package/dist/esm/offers/handler.d.ts +34 -1
- package/dist/esm/offers/handler.d.ts.map +1 -1
- package/dist/esm/offers/handler.js +43 -4
- package/dist/esm/offers/handler.js.map +1 -1
- package/dist/esm/offers/interface.d.ts +5 -1
- package/dist/esm/offers/interface.d.ts.map +1 -1
- package/dist/esm/offers/interface.js +22 -0
- package/dist/esm/offers/interface.js.map +1 -1
- package/dist/esm/offers/mixin.d.ts +27 -1
- package/dist/esm/offers/mixin.d.ts.map +1 -1
- package/dist/esm/offers/mixin.js +72 -0
- package/dist/esm/offers/mixin.js.map +1 -1
- package/dist/esm/offers/types.d.ts +1 -1
- package/dist/esm/offers/types.d.ts.map +1 -1
- package/dist/esm/offers/types.js.map +1 -1
- package/dist/esm/subgraph.d.ts +162 -0
- package/dist/esm/subgraph.d.ts.map +1 -1
- package/dist/esm/subgraph.js +49 -0
- package/dist/esm/subgraph.js.map +1 -1
- package/dist/esm/utils/graphql.d.ts +1 -0
- package/dist/esm/utils/graphql.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/accounts/handler.ts +42 -2
- package/src/accounts/interface.ts +23 -1
- package/src/accounts/mixin.ts +52 -0
- package/src/accounts/types.ts +1 -0
- package/src/exchanges/handler.ts +329 -2
- package/src/exchanges/interface.ts +94 -1
- package/src/exchanges/mixin.ts +104 -0
- package/src/exchanges/queries.graphql +28 -0
- package/src/exchanges/subgraph.ts +13 -1
- package/src/offers/handler.ts +150 -3
- package/src/offers/interface.ts +58 -1
- package/src/offers/mixin.ts +182 -1
- package/src/offers/types.ts +5 -1
- package/src/subgraph.ts +218 -0
package/src/offers/handler.ts
CHANGED
|
@@ -5,15 +5,21 @@ import {
|
|
|
5
5
|
MetadataStorage,
|
|
6
6
|
utils,
|
|
7
7
|
RoyaltyInfo,
|
|
8
|
-
TransactionRequest
|
|
8
|
+
TransactionRequest,
|
|
9
|
+
FullOfferArgs,
|
|
10
|
+
OfferCreator
|
|
9
11
|
} from "@bosonprotocol/common";
|
|
10
12
|
import {
|
|
11
13
|
bosonOfferHandlerIface,
|
|
14
|
+
decodeGetOfferHash,
|
|
12
15
|
encodeCreateOffer,
|
|
13
16
|
encodeCreateOfferBatch,
|
|
17
|
+
encodeGetOfferHash,
|
|
14
18
|
encodeReserveRange,
|
|
15
19
|
encodeUpdateOfferRoyaltyRecipients,
|
|
16
|
-
encodeUpdateOfferRoyaltyRecipientsBatch
|
|
20
|
+
encodeUpdateOfferRoyaltyRecipientsBatch,
|
|
21
|
+
encodeVoidNonListedOffer,
|
|
22
|
+
encodeVoidNonListedOfferBatch
|
|
17
23
|
} from "./interface";
|
|
18
24
|
import { getOfferById, getOffers } from "./subgraph";
|
|
19
25
|
import { storeMetadataOnTheGraph } from "./storage";
|
|
@@ -328,6 +334,124 @@ export async function voidOfferBatch(args: {
|
|
|
328
334
|
}
|
|
329
335
|
}
|
|
330
336
|
|
|
337
|
+
// Overload: returnTxInfo is true → returns TransactionRequest
|
|
338
|
+
export async function voidNonListedOffer(args: {
|
|
339
|
+
contractAddress: string;
|
|
340
|
+
subgraphUrl: string;
|
|
341
|
+
fullOffer: Omit<
|
|
342
|
+
FullOfferArgs,
|
|
343
|
+
| "offerCreator"
|
|
344
|
+
| "committer"
|
|
345
|
+
| "signature"
|
|
346
|
+
| "conditionalTokenId"
|
|
347
|
+
| "sellerOfferParams"
|
|
348
|
+
>;
|
|
349
|
+
web3Lib: Web3LibAdapter;
|
|
350
|
+
returnTxInfo: true;
|
|
351
|
+
}): Promise<TransactionRequest>;
|
|
352
|
+
|
|
353
|
+
// Overload: returnTxInfo is false or undefined → returns TransactionResponse
|
|
354
|
+
export async function voidNonListedOffer(args: {
|
|
355
|
+
contractAddress: string;
|
|
356
|
+
subgraphUrl: string;
|
|
357
|
+
fullOffer: Omit<
|
|
358
|
+
FullOfferArgs,
|
|
359
|
+
| "offerCreator"
|
|
360
|
+
| "committer"
|
|
361
|
+
| "signature"
|
|
362
|
+
| "conditionalTokenId"
|
|
363
|
+
| "sellerOfferParams"
|
|
364
|
+
>;
|
|
365
|
+
web3Lib: Web3LibAdapter;
|
|
366
|
+
returnTxInfo?: false | undefined;
|
|
367
|
+
}): Promise<TransactionResponse>;
|
|
368
|
+
|
|
369
|
+
// Implementation
|
|
370
|
+
export async function voidNonListedOffer(args: {
|
|
371
|
+
contractAddress: string;
|
|
372
|
+
subgraphUrl: string;
|
|
373
|
+
fullOffer: Omit<
|
|
374
|
+
FullOfferArgs,
|
|
375
|
+
| "offerCreator"
|
|
376
|
+
| "committer"
|
|
377
|
+
| "signature"
|
|
378
|
+
| "conditionalTokenId"
|
|
379
|
+
| "sellerOfferParams"
|
|
380
|
+
>;
|
|
381
|
+
web3Lib: Web3LibAdapter;
|
|
382
|
+
returnTxInfo?: boolean;
|
|
383
|
+
}): Promise<TransactionRequest | TransactionResponse> {
|
|
384
|
+
const transactionRequest = {
|
|
385
|
+
to: args.contractAddress,
|
|
386
|
+
data: encodeVoidNonListedOffer(args.fullOffer)
|
|
387
|
+
} satisfies TransactionRequest;
|
|
388
|
+
|
|
389
|
+
if (args.returnTxInfo) {
|
|
390
|
+
return transactionRequest;
|
|
391
|
+
} else {
|
|
392
|
+
return args.web3Lib.sendTransaction(transactionRequest);
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
// Overload: returnTxInfo is true → returns TransactionRequest
|
|
397
|
+
export async function voidNonListedOfferBatch(args: {
|
|
398
|
+
contractAddress: string;
|
|
399
|
+
subgraphUrl: string;
|
|
400
|
+
fullOffers: Omit<
|
|
401
|
+
FullOfferArgs,
|
|
402
|
+
| "offerCreator"
|
|
403
|
+
| "committer"
|
|
404
|
+
| "signature"
|
|
405
|
+
| "conditionalTokenId"
|
|
406
|
+
| "sellerOfferParams"
|
|
407
|
+
>[];
|
|
408
|
+
web3Lib: Web3LibAdapter;
|
|
409
|
+
returnTxInfo: true;
|
|
410
|
+
}): Promise<TransactionRequest>;
|
|
411
|
+
|
|
412
|
+
// Overload: returnTxInfo is false or undefined → returns TransactionResponse
|
|
413
|
+
export async function voidNonListedOfferBatch(args: {
|
|
414
|
+
contractAddress: string;
|
|
415
|
+
subgraphUrl: string;
|
|
416
|
+
fullOffers: Omit<
|
|
417
|
+
FullOfferArgs,
|
|
418
|
+
| "offerCreator"
|
|
419
|
+
| "committer"
|
|
420
|
+
| "signature"
|
|
421
|
+
| "conditionalTokenId"
|
|
422
|
+
| "sellerOfferParams"
|
|
423
|
+
>[];
|
|
424
|
+
web3Lib: Web3LibAdapter;
|
|
425
|
+
returnTxInfo?: false | undefined;
|
|
426
|
+
}): Promise<TransactionResponse>;
|
|
427
|
+
|
|
428
|
+
// Implementation
|
|
429
|
+
export async function voidNonListedOfferBatch(args: {
|
|
430
|
+
contractAddress: string;
|
|
431
|
+
subgraphUrl: string;
|
|
432
|
+
fullOffers: Omit<
|
|
433
|
+
FullOfferArgs,
|
|
434
|
+
| "offerCreator"
|
|
435
|
+
| "committer"
|
|
436
|
+
| "signature"
|
|
437
|
+
| "conditionalTokenId"
|
|
438
|
+
| "sellerOfferParams"
|
|
439
|
+
>[];
|
|
440
|
+
web3Lib: Web3LibAdapter;
|
|
441
|
+
returnTxInfo?: boolean;
|
|
442
|
+
}): Promise<TransactionRequest | TransactionResponse> {
|
|
443
|
+
const transactionRequest = {
|
|
444
|
+
to: args.contractAddress,
|
|
445
|
+
data: encodeVoidNonListedOfferBatch(args.fullOffers)
|
|
446
|
+
} satisfies TransactionRequest;
|
|
447
|
+
|
|
448
|
+
if (args.returnTxInfo) {
|
|
449
|
+
return transactionRequest;
|
|
450
|
+
} else {
|
|
451
|
+
return args.web3Lib.sendTransaction(transactionRequest);
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
|
|
331
455
|
// Overload: returnTxInfo is true → returns TransactionRequest
|
|
332
456
|
export async function extendOffer(args: {
|
|
333
457
|
contractAddress: string;
|
|
@@ -506,13 +630,24 @@ function checkIfOfferVoidable(
|
|
|
506
630
|
}
|
|
507
631
|
|
|
508
632
|
if (
|
|
633
|
+
offerFromSubgraph.creator === OfferCreator.Seller &&
|
|
509
634
|
offerFromSubgraph.seller.assistant.toLowerCase() !==
|
|
510
|
-
|
|
635
|
+
signerAddress.toLowerCase()
|
|
511
636
|
) {
|
|
512
637
|
throw new Error(
|
|
513
638
|
`Signer with address "${signerAddress}" is not the assistant "${offerFromSubgraph.seller.assistant}" of offer with id "${offerId}"`
|
|
514
639
|
);
|
|
515
640
|
}
|
|
641
|
+
|
|
642
|
+
if (
|
|
643
|
+
offerFromSubgraph.creator === OfferCreator.Buyer &&
|
|
644
|
+
offerFromSubgraph.buyer?.wallet.toLowerCase() !==
|
|
645
|
+
signerAddress.toLowerCase()
|
|
646
|
+
) {
|
|
647
|
+
throw new Error(
|
|
648
|
+
`Signer with address "${signerAddress}" is not the creator's wallet "${offerFromSubgraph.buyer?.wallet}" of offer with id "${offerId}"`
|
|
649
|
+
);
|
|
650
|
+
}
|
|
516
651
|
}
|
|
517
652
|
|
|
518
653
|
function checkIfOfferReservable(
|
|
@@ -531,3 +666,15 @@ function checkIfOfferReservable(
|
|
|
531
666
|
throw new Error(`Range length is too large`);
|
|
532
667
|
}
|
|
533
668
|
}
|
|
669
|
+
|
|
670
|
+
export async function getOfferHash(args: {
|
|
671
|
+
fullOfferArgsUnsigned: Omit<FullOfferArgs, "signature">;
|
|
672
|
+
contractAddress: string;
|
|
673
|
+
web3Lib: Web3LibAdapter;
|
|
674
|
+
}): Promise<string> {
|
|
675
|
+
const result = await args.web3Lib.call({
|
|
676
|
+
to: args.contractAddress,
|
|
677
|
+
data: encodeGetOfferHash(args.fullOfferArgsUnsigned)
|
|
678
|
+
});
|
|
679
|
+
return decodeGetOfferHash(result);
|
|
680
|
+
}
|
package/src/offers/interface.ts
CHANGED
|
@@ -7,13 +7,15 @@ import {
|
|
|
7
7
|
PriceType,
|
|
8
8
|
RoyaltyInfo,
|
|
9
9
|
OfferCreator,
|
|
10
|
-
DRParametersStruct
|
|
10
|
+
DRParametersStruct,
|
|
11
|
+
FullOfferArgs
|
|
11
12
|
} from "@bosonprotocol/common";
|
|
12
13
|
import { Interface } from "@ethersproject/abi";
|
|
13
14
|
import { getAddress } from "@ethersproject/address";
|
|
14
15
|
import { BigNumberish } from "@ethersproject/bignumber";
|
|
15
16
|
import { CreateOfferArgs } from "./types";
|
|
16
17
|
import { AddressZero } from "@ethersproject/constants";
|
|
18
|
+
import { fullOfferArgsToStruct } from "../exchanges/interface";
|
|
17
19
|
|
|
18
20
|
export const bosonOfferHandlerIface = new Interface(abis.IBosonOfferHandlerABI);
|
|
19
21
|
|
|
@@ -150,6 +152,7 @@ export function argsToOfferStruct(args: CreateOfferArgs): Partial<OfferStruct> {
|
|
|
150
152
|
id: "0",
|
|
151
153
|
sellerId: "0",
|
|
152
154
|
buyerId: "0",
|
|
155
|
+
voided: false,
|
|
153
156
|
...restArgs,
|
|
154
157
|
exchangeToken: getAddress(exchangeToken),
|
|
155
158
|
priceType,
|
|
@@ -223,3 +226,57 @@ export function encodeReserveRange(
|
|
|
223
226
|
to
|
|
224
227
|
]);
|
|
225
228
|
}
|
|
229
|
+
|
|
230
|
+
export function encodeVoidNonListedOffer(
|
|
231
|
+
fullOfferArgsUnsigned: Omit<
|
|
232
|
+
FullOfferArgs,
|
|
233
|
+
| "offerCreator"
|
|
234
|
+
| "committer"
|
|
235
|
+
| "signature"
|
|
236
|
+
| "conditionalTokenId"
|
|
237
|
+
| "sellerOfferParams"
|
|
238
|
+
>
|
|
239
|
+
) {
|
|
240
|
+
return bosonOfferHandlerIface.encodeFunctionData("voidNonListedOffer", [
|
|
241
|
+
fullOfferArgsToStruct(fullOfferArgsUnsigned)
|
|
242
|
+
]);
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
export function encodeVoidNonListedOfferBatch(
|
|
246
|
+
argsBatch: Omit<
|
|
247
|
+
FullOfferArgs,
|
|
248
|
+
| "offerCreator"
|
|
249
|
+
| "committer"
|
|
250
|
+
| "signature"
|
|
251
|
+
| "conditionalTokenId"
|
|
252
|
+
| "sellerOfferParams"
|
|
253
|
+
>[]
|
|
254
|
+
) {
|
|
255
|
+
const argsStructs = argsBatch.map((args) => fullOfferArgsToStruct(args));
|
|
256
|
+
return bosonOfferHandlerIface.encodeFunctionData("voidNonListedOfferBatch", [
|
|
257
|
+
argsStructs
|
|
258
|
+
]);
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
export function encodeGetOfferHash(
|
|
262
|
+
fullOfferArgsUnsigned: Omit<
|
|
263
|
+
FullOfferArgs,
|
|
264
|
+
| "offerCreator"
|
|
265
|
+
| "committer"
|
|
266
|
+
| "signature"
|
|
267
|
+
| "conditionalTokenId"
|
|
268
|
+
| "sellerOfferParams"
|
|
269
|
+
>
|
|
270
|
+
) {
|
|
271
|
+
return bosonOfferHandlerIface.encodeFunctionData("getOfferHash", [
|
|
272
|
+
fullOfferArgsToStruct(fullOfferArgsUnsigned)
|
|
273
|
+
]);
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
export function decodeGetOfferHash(result: string): string {
|
|
277
|
+
const [offerHash] = bosonOfferHandlerIface.decodeFunctionResult(
|
|
278
|
+
"getOfferHash",
|
|
279
|
+
result
|
|
280
|
+
);
|
|
281
|
+
return offerHash;
|
|
282
|
+
}
|
package/src/offers/mixin.ts
CHANGED
|
@@ -15,7 +15,8 @@ import {
|
|
|
15
15
|
GatingType,
|
|
16
16
|
RoyaltyInfo,
|
|
17
17
|
TransactionRequest,
|
|
18
|
-
Web3LibAdapter
|
|
18
|
+
Web3LibAdapter,
|
|
19
|
+
FullOfferArgs
|
|
19
20
|
} from "@bosonprotocol/common";
|
|
20
21
|
import groupBy from "lodash/groupBy";
|
|
21
22
|
import { BigNumber, BigNumberish } from "@ethersproject/bignumber";
|
|
@@ -225,6 +226,31 @@ export class OfferMixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
|
|
|
225
226
|
)?.toString();
|
|
226
227
|
}
|
|
227
228
|
|
|
229
|
+
/**
|
|
230
|
+
* Utility method to retrieve the created `buyerId` from logs after calling `createBuyer`
|
|
231
|
+
*
|
|
232
|
+
* @param logs - Logs to search in.
|
|
233
|
+
* @returns Created buyer id.
|
|
234
|
+
*/
|
|
235
|
+
public getCreatedBuyerIdFromLogs(logs: Log[]): string | null {
|
|
236
|
+
const buyerId = getValueFromLogs<BigNumber>({
|
|
237
|
+
iface: accounts.iface.bosonAccountHandlerIface,
|
|
238
|
+
logs,
|
|
239
|
+
eventArgsKey: "buyerId",
|
|
240
|
+
eventName: "BuyerCreated"
|
|
241
|
+
});
|
|
242
|
+
|
|
243
|
+
return (
|
|
244
|
+
buyerId ||
|
|
245
|
+
getValueFromLogs<BigNumber>({
|
|
246
|
+
iface: orchestration.iface.bosonOrchestrationHandlerIface,
|
|
247
|
+
logs,
|
|
248
|
+
eventArgsKey: "buyerId",
|
|
249
|
+
eventName: "BuyerCreated"
|
|
250
|
+
})
|
|
251
|
+
)?.toString();
|
|
252
|
+
}
|
|
253
|
+
|
|
228
254
|
/**
|
|
229
255
|
* Voids an existing offer by calling the `OfferHandlerFacet` contract.
|
|
230
256
|
* This transaction only succeeds if the connected signer is the `assistant`.
|
|
@@ -336,6 +362,148 @@ export class OfferMixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
|
|
|
336
362
|
}
|
|
337
363
|
}
|
|
338
364
|
|
|
365
|
+
// Overload: returnTxInfo is true → returns TransactionRequest
|
|
366
|
+
public async voidNonListedOffer(
|
|
367
|
+
fullOffer: Omit<
|
|
368
|
+
FullOfferArgs,
|
|
369
|
+
| "offerCreator"
|
|
370
|
+
| "committer"
|
|
371
|
+
| "signature"
|
|
372
|
+
| "conditionalTokenId"
|
|
373
|
+
| "sellerOfferParams"
|
|
374
|
+
>,
|
|
375
|
+
overrides: Partial<{
|
|
376
|
+
contractAddress: string;
|
|
377
|
+
returnTxInfo: true;
|
|
378
|
+
}>
|
|
379
|
+
): Promise<TransactionRequest>;
|
|
380
|
+
|
|
381
|
+
// Overload: returnTxInfo is false or undefined → returns TransactionResponse
|
|
382
|
+
public async voidNonListedOffer(
|
|
383
|
+
fullOffer: Omit<
|
|
384
|
+
FullOfferArgs,
|
|
385
|
+
| "offerCreator"
|
|
386
|
+
| "committer"
|
|
387
|
+
| "signature"
|
|
388
|
+
| "conditionalTokenId"
|
|
389
|
+
| "sellerOfferParams"
|
|
390
|
+
>,
|
|
391
|
+
overrides?: Partial<{
|
|
392
|
+
contractAddress: string;
|
|
393
|
+
returnTxInfo?: false | undefined;
|
|
394
|
+
}>
|
|
395
|
+
): Promise<TransactionResponse>;
|
|
396
|
+
|
|
397
|
+
// Implementation
|
|
398
|
+
public async voidNonListedOffer(
|
|
399
|
+
fullOffer: Omit<
|
|
400
|
+
FullOfferArgs,
|
|
401
|
+
| "offerCreator"
|
|
402
|
+
| "committer"
|
|
403
|
+
| "signature"
|
|
404
|
+
| "conditionalTokenId"
|
|
405
|
+
| "sellerOfferParams"
|
|
406
|
+
>,
|
|
407
|
+
overrides: Partial<{
|
|
408
|
+
contractAddress: string;
|
|
409
|
+
returnTxInfo?: boolean;
|
|
410
|
+
}> = {}
|
|
411
|
+
): Promise<TransactionResponse | TransactionRequest> {
|
|
412
|
+
const { returnTxInfo } = overrides;
|
|
413
|
+
|
|
414
|
+
const voidArgs = {
|
|
415
|
+
fullOffer,
|
|
416
|
+
web3Lib: this._web3Lib,
|
|
417
|
+
subgraphUrl: this._subgraphUrl,
|
|
418
|
+
contractAddress: overrides.contractAddress || this._protocolDiamond
|
|
419
|
+
} as const satisfies Parameters<
|
|
420
|
+
typeof offers.handler.voidNonListedOffer
|
|
421
|
+
>[0];
|
|
422
|
+
|
|
423
|
+
if (returnTxInfo === true) {
|
|
424
|
+
return offers.handler.voidNonListedOffer({
|
|
425
|
+
...voidArgs,
|
|
426
|
+
returnTxInfo: true
|
|
427
|
+
});
|
|
428
|
+
} else {
|
|
429
|
+
return offers.handler.voidNonListedOffer({
|
|
430
|
+
...voidArgs,
|
|
431
|
+
returnTxInfo: false
|
|
432
|
+
});
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
// Overload: returnTxInfo is true → returns TransactionRequest
|
|
437
|
+
public async voidNonListedOfferBatch(
|
|
438
|
+
fullOffers: Omit<
|
|
439
|
+
FullOfferArgs,
|
|
440
|
+
| "offerCreator"
|
|
441
|
+
| "committer"
|
|
442
|
+
| "signature"
|
|
443
|
+
| "conditionalTokenId"
|
|
444
|
+
| "sellerOfferParams"
|
|
445
|
+
>[],
|
|
446
|
+
overrides: Partial<{
|
|
447
|
+
contractAddress: string;
|
|
448
|
+
returnTxInfo: true;
|
|
449
|
+
}>
|
|
450
|
+
): Promise<TransactionRequest>;
|
|
451
|
+
|
|
452
|
+
// Overload: returnTxInfo is false or undefined → returns TransactionResponse
|
|
453
|
+
public async voidNonListedOfferBatch(
|
|
454
|
+
fullOffers: Omit<
|
|
455
|
+
FullOfferArgs,
|
|
456
|
+
| "offerCreator"
|
|
457
|
+
| "committer"
|
|
458
|
+
| "signature"
|
|
459
|
+
| "conditionalTokenId"
|
|
460
|
+
| "sellerOfferParams"
|
|
461
|
+
>[],
|
|
462
|
+
overrides?: Partial<{
|
|
463
|
+
contractAddress: string;
|
|
464
|
+
returnTxInfo?: false | undefined;
|
|
465
|
+
}>
|
|
466
|
+
): Promise<TransactionResponse>;
|
|
467
|
+
|
|
468
|
+
// Implementation
|
|
469
|
+
public async voidNonListedOfferBatch(
|
|
470
|
+
fullOffers: Omit<
|
|
471
|
+
FullOfferArgs,
|
|
472
|
+
| "offerCreator"
|
|
473
|
+
| "committer"
|
|
474
|
+
| "signature"
|
|
475
|
+
| "conditionalTokenId"
|
|
476
|
+
| "sellerOfferParams"
|
|
477
|
+
>[],
|
|
478
|
+
overrides: Partial<{
|
|
479
|
+
contractAddress: string;
|
|
480
|
+
returnTxInfo?: boolean;
|
|
481
|
+
}> = {}
|
|
482
|
+
): Promise<TransactionResponse | TransactionRequest> {
|
|
483
|
+
const { returnTxInfo } = overrides;
|
|
484
|
+
|
|
485
|
+
const voidArgs = {
|
|
486
|
+
fullOffers,
|
|
487
|
+
web3Lib: this._web3Lib,
|
|
488
|
+
subgraphUrl: this._subgraphUrl,
|
|
489
|
+
contractAddress: overrides.contractAddress || this._protocolDiamond
|
|
490
|
+
} as const satisfies Parameters<
|
|
491
|
+
typeof offers.handler.voidNonListedOfferBatch
|
|
492
|
+
>[0];
|
|
493
|
+
|
|
494
|
+
if (returnTxInfo === true) {
|
|
495
|
+
return offers.handler.voidNonListedOfferBatch({
|
|
496
|
+
...voidArgs,
|
|
497
|
+
returnTxInfo: true
|
|
498
|
+
});
|
|
499
|
+
} else {
|
|
500
|
+
return offers.handler.voidNonListedOfferBatch({
|
|
501
|
+
...voidArgs,
|
|
502
|
+
returnTxInfo: false
|
|
503
|
+
});
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
|
|
339
507
|
/**
|
|
340
508
|
* Extends an existing offer by calling the `OfferHandlerFacet` contract.
|
|
341
509
|
* This transaction only succeeds if the connected signer is the `assistant`.
|
|
@@ -1093,4 +1261,17 @@ export class OfferMixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
|
|
|
1093
1261
|
});
|
|
1094
1262
|
}
|
|
1095
1263
|
}
|
|
1264
|
+
|
|
1265
|
+
public async getOfferHash(
|
|
1266
|
+
fullOfferArgsUnsigned: Omit<FullOfferArgs, "signature">,
|
|
1267
|
+
overrides: Partial<{
|
|
1268
|
+
contractAddress: string;
|
|
1269
|
+
}> = {}
|
|
1270
|
+
) {
|
|
1271
|
+
return offers.handler.getOfferHash({
|
|
1272
|
+
fullOfferArgsUnsigned,
|
|
1273
|
+
web3Lib: this._web3Lib,
|
|
1274
|
+
contractAddress: overrides.contractAddress || this._protocolDiamond
|
|
1275
|
+
});
|
|
1276
|
+
}
|
|
1096
1277
|
}
|
package/src/offers/types.ts
CHANGED