@bosonprotocol/core-sdk 1.40.4 → 1.40.5-alpha.0

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.
@@ -1,8 +1,10 @@
1
1
  import { AssetWithTokenId, FulfillmentDataResponse, GetNFTResponse, OrderAPIOptions, OrderSide, OrderV2, OrdersQueryOptions, ProtocolData } from "opensea-js";
2
2
  import { BigNumberish } from "@ethersproject/bignumber";
3
- import { Listing, Marketplace, MarketplaceType, Order, SignedOrder } from "./types";
3
+ import { Interface } from "@ethersproject/abi";
4
+ import { Listing, Marketplace, MarketplaceType, Order, SignedOrder, Wrapper } from "./types";
4
5
  import { CreateOrderAction, CreateOrderInput, OrderParameters, OrderUseCase } from "@opensea/seaport-js/lib/types";
5
- import { ContractAddresses, PriceDiscoveryStruct, Side } from "@bosonprotocol/common";
6
+ import { ContractAddresses, PriceDiscoveryStruct, Side, Web3LibAdapter } from "@bosonprotocol/common";
7
+ import { AdvancedOrder } from "../seaport/interface";
6
8
  export type OpenSeaListing = {
7
9
  asset: AssetWithTokenId;
8
10
  accountAddress: string;
@@ -31,17 +33,70 @@ export type OpenSeaSDKHandler = {
31
33
  };
32
34
  createListing(listing: OpenSeaListing): Promise<OrderV2>;
33
35
  };
36
+ export declare class WrapperFactory {
37
+ protected _contract: string;
38
+ protected _web3Lib: Web3LibAdapter;
39
+ protected iface: Interface;
40
+ constructor(_contract: string, _web3Lib: Web3LibAdapter);
41
+ create(args: {
42
+ voucherContract: string;
43
+ }): Promise<import("@bosonprotocol/common").TransactionResponse>;
44
+ getWrapper(args: {
45
+ voucherContract: string;
46
+ }): Promise<string | undefined>;
47
+ }
48
+ export declare class OpenSeaWrapper extends Wrapper {
49
+ protected _contract: string;
50
+ protected _web3Lib: Web3LibAdapter;
51
+ protected iface: Interface;
52
+ constructor(_contract: string, _web3Lib: Web3LibAdapter);
53
+ wrapForAuction(args: {
54
+ tokenIds: BigNumberish[];
55
+ }): Promise<import("@bosonprotocol/common").TransactionResponse>;
56
+ unwrap(args: {
57
+ tokenId: BigNumberish;
58
+ }): Promise<import("@bosonprotocol/common").TransactionResponse>;
59
+ encodeFinalizeAuction(args: {
60
+ tokenId: BigNumberish;
61
+ order: AdvancedOrder;
62
+ }): string;
63
+ finalizeAuction(args: {
64
+ tokenId: BigNumberish;
65
+ order: AdvancedOrder;
66
+ }): Promise<import("@bosonprotocol/common").TransactionResponse>;
67
+ get address(): string;
68
+ }
34
69
  export declare class OpenSeaMarketplace extends Marketplace {
35
70
  protected _handler: OpenSeaSDKHandler;
36
71
  protected _contracts: ContractAddresses;
37
72
  protected _feeRecipient: string;
38
- constructor(_type: MarketplaceType, _handler: OpenSeaSDKHandler, _contracts: ContractAddresses, _feeRecipient: string);
73
+ protected _web3Lib: Web3LibAdapter;
74
+ protected _wrapperFactory: WrapperFactory;
75
+ protected _wrappersMap: Map<string, OpenSeaWrapper>;
76
+ constructor(_type: MarketplaceType, _handler: OpenSeaSDKHandler, _contracts: ContractAddresses, _feeRecipient: string, _web3Lib: Web3LibAdapter);
39
77
  createListing(listing: Listing): Promise<Order>;
40
78
  createBidOrder(listing: Listing): Promise<Order>;
79
+ buildAdvancedOrder(asset: {
80
+ contract: string;
81
+ tokenId: string;
82
+ }): Promise<AdvancedOrder>;
41
83
  generateFulfilmentData(asset: {
42
84
  contract: string;
43
85
  tokenId: string;
44
- }): Promise<PriceDiscoveryStruct>;
86
+ }, withWrapper?: boolean): Promise<PriceDiscoveryStruct>;
87
+ /** getOrCreateVouchersWrapper needs to be done at voucher contract level,
88
+ * before being able to wrap vouchers, then list them on OS **/
89
+ getOrCreateVouchersWrapper(contractAddress: string): Promise<OpenSeaWrapper>;
90
+ isVoucherWrapped(contractAddress: string, tokenId: string): Promise<{
91
+ wrapped: boolean;
92
+ wrapper?: string;
93
+ }>;
94
+ wrapVouchers(contract: string, tokenIds: string[]): Promise<import("@bosonprotocol/common").TransactionResponse>;
95
+ unwrapVoucher(contract: string, tokenId: string): Promise<import("@bosonprotocol/common").TransactionResponse>;
96
+ finalizeAuction(asset: {
97
+ contract: string;
98
+ tokenId: string;
99
+ }): Promise<import("@bosonprotocol/common").TransactionResponse>;
45
100
  protected convertListing(listing: Listing): OpenSeaListing;
46
101
  protected convertOsOrder(osOrder: OrderV2 | undefined): Order | undefined;
47
102
  protected extractOrderInfo(parameters: OrderParameters, side?: OrderSide): {
@@ -1 +1 @@
1
- {"version":3,"file":"opensea.d.ts","sourceRoot":"","sources":["../../../src/marketplaces/opensea.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opensea.d.ts","sourceRoot":"","sources":["../../../src/marketplaces/opensea.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,94 @@
1
1
  import { formatUnits } from "@ethersproject/units";
2
2
  import { OrderSide } from "opensea-js";
3
3
  import { BigNumber } from "@ethersproject/bignumber";
4
- import { Marketplace } from "./types";
4
+ import { abis } from "@bosonprotocol/common";
5
+ import { Interface } from "@ethersproject/abi";
6
+ import { AddressZero } from "@ethersproject/constants";
7
+ import { Marketplace, Wrapper } from "./types";
5
8
  import { ItemType, NO_CONDUIT, OPENSEA_CONDUIT_ADDRESS } from "@opensea/seaport-js/lib/constants";
6
9
  import { Side } from "@bosonprotocol/common";
7
10
  import { encodeMatchAdvancedOrders } from "../seaport/interface";
11
+ import { ownerOf as erc721OwnerOf } from "../erc721/handler";
12
+ export class WrapperFactory {
13
+ _contract;
14
+ _web3Lib;
15
+ iface;
16
+ constructor(_contract, _web3Lib) {
17
+ this._contract = _contract;
18
+ this._web3Lib = _web3Lib;
19
+ this.iface = new Interface(abis.OpenSeaWrapperFactoryABI);
20
+ //TODO: check contract address is valid (trying to read contract)?
21
+ }
22
+ async create(args) {
23
+ return this._web3Lib.sendTransaction({
24
+ to: this._contract,
25
+ data: this.iface.encodeFunctionData("create", [args.voucherContract])
26
+ });
27
+ }
28
+ async getWrapper(args) {
29
+ const result = await this._web3Lib.call({
30
+ to: this._contract,
31
+ data: this.iface.encodeFunctionData("getWrapper", [args.voucherContract])
32
+ });
33
+ const [wrapper] = this.iface.decodeFunctionResult("getWrapper", result);
34
+ return wrapper !== AddressZero ? wrapper : undefined;
35
+ }
36
+ }
37
+ export class OpenSeaWrapper extends Wrapper {
38
+ _contract;
39
+ _web3Lib;
40
+ iface;
41
+ constructor(_contract, _web3Lib) {
42
+ super();
43
+ this._contract = _contract;
44
+ this._web3Lib = _web3Lib;
45
+ this.iface = new Interface(abis.OpenSeaWrapperABI);
46
+ }
47
+ async wrapForAuction(args) {
48
+ return this._web3Lib.sendTransaction({
49
+ to: this._contract,
50
+ data: this.iface.encodeFunctionData("wrapForAuction", [args.tokenIds])
51
+ });
52
+ }
53
+ async unwrap(args) {
54
+ return this._web3Lib.sendTransaction({
55
+ to: this._contract,
56
+ data: this.iface.encodeFunctionData("unwrap", [args.tokenId])
57
+ });
58
+ }
59
+ encodeFinalizeAuction(args) {
60
+ return this.iface.encodeFunctionData("finalizeAuction", [
61
+ args.tokenId,
62
+ args.order
63
+ ]);
64
+ }
65
+ async finalizeAuction(args) {
66
+ return this._web3Lib.sendTransaction({
67
+ to: this._contract,
68
+ data: this.iface.encodeFunctionData("finalizeAuction", [
69
+ args.tokenId,
70
+ args.order
71
+ ])
72
+ });
73
+ }
74
+ get address() {
75
+ return this._contract;
76
+ }
77
+ }
8
78
  export class OpenSeaMarketplace extends Marketplace {
9
79
  _handler;
10
80
  _contracts;
11
81
  _feeRecipient;
12
- constructor(_type, _handler, _contracts, _feeRecipient) {
82
+ _web3Lib;
83
+ _wrapperFactory;
84
+ _wrappersMap = new Map();
85
+ constructor(_type, _handler, _contracts, _feeRecipient, _web3Lib) {
13
86
  super(_type);
14
87
  this._handler = _handler;
15
88
  this._contracts = _contracts;
16
89
  this._feeRecipient = _feeRecipient;
90
+ this._web3Lib = _web3Lib;
91
+ this._wrapperFactory = new WrapperFactory(this._contracts.openseaWrapper, this._web3Lib);
17
92
  }
18
93
  async createListing(listing) {
19
94
  const osListing = this.convertListing(listing);
@@ -73,25 +148,56 @@ export class OpenSeaMarketplace extends Marketplace {
73
148
  });
74
149
  return this.convertOsOrder(osOrder);
75
150
  }
76
- async generateFulfilmentData(asset) {
151
+ async buildAdvancedOrder(asset) {
77
152
  // Asumption: we're fulfilling a Bid Order (don't know if it makes sense with an Ask order)
78
153
  const osOrder = await this._handler.api.getOrder({
79
154
  assetContractAddress: asset.contract,
80
155
  tokenId: asset.tokenId,
81
156
  side: OrderSide.BID
82
157
  });
83
- const orderInfo = this.extractOrderInfo(osOrder.protocolData.parameters);
84
158
  const ffd = await this._handler.api.generateFulfillmentData(this._contracts.priceDiscoveryClient, // the address of the PriceDiscoveryClient contract, which will call the fulfilment method
85
159
  osOrder.orderHash, osOrder.protocolAddress, osOrder.side);
160
+ const inputData = ffd.fulfillment_data.transaction
161
+ .input_data;
162
+ return inputData.orders[0];
163
+ }
164
+ async generateFulfilmentData(asset, withWrapper = false) {
165
+ const wrapper = withWrapper
166
+ ? await this.getOrCreateVouchersWrapper(asset.contract)
167
+ : undefined;
168
+ // Asumption: we're fulfilling a Bid Order (don't know if it makes sense with an Ask order)
169
+ const osOrder = await this._handler.api.getOrder({
170
+ assetContractAddress: withWrapper ? wrapper.address : asset.contract,
171
+ tokenId: asset.tokenId,
172
+ side: OrderSide.BID
173
+ });
174
+ const ffd = await this._handler.api.generateFulfillmentData(withWrapper
175
+ ? wrapper.address // the wrapper will call the fulfilment method (seaport)
176
+ : this._contracts.priceDiscoveryClient, // the priceDiscoveryClient will call the fulfilment method (seaport)
177
+ osOrder.orderHash, osOrder.protocolAddress, osOrder.side);
86
178
  const inputData = ffd.fulfillment_data.transaction
87
179
  .input_data;
88
180
  const price = inputData.orders[1].parameters.consideration[0].startAmount; // offer price minus opensea fees
89
- const side = Side.Bid; // ?
90
- const priceDiscoveryContract = osOrder.protocolAddress; // seaport contract address
91
- const conduit = osOrder.protocolData.parameters.conduitKey === NO_CONDUIT
92
- ? osOrder.protocolAddress // Seaport is used as conduit
93
- : OPENSEA_CONDUIT_ADDRESS; // TODO: might not work on mocked networks
94
- const priceDiscoveryData = encodeMatchAdvancedOrders(inputData.orders, inputData.criteriaResolvers, inputData.fulfillments, inputData.recipient);
181
+ let side, priceDiscoveryContract, conduit, priceDiscoveryData;
182
+ if (withWrapper) {
183
+ side = Side.Wrapper;
184
+ priceDiscoveryContract = wrapper.address;
185
+ conduit = wrapper.address;
186
+ priceDiscoveryData = wrapper.encodeFinalizeAuction({
187
+ tokenId: asset.tokenId,
188
+ order: ffd.fulfillment_data.transaction.input_data
189
+ .orders[0]
190
+ });
191
+ }
192
+ else {
193
+ side = Side.Bid;
194
+ priceDiscoveryContract = osOrder.protocolAddress; // seaport contract address
195
+ conduit =
196
+ osOrder.protocolData.parameters.conduitKey === NO_CONDUIT
197
+ ? osOrder.protocolAddress // Seaport is used as conduit
198
+ : OPENSEA_CONDUIT_ADDRESS; // TODO: might not work on mocked networks
199
+ priceDiscoveryData = encodeMatchAdvancedOrders(inputData.orders, inputData.criteriaResolvers, inputData.fulfillments, inputData.recipient);
200
+ }
95
201
  return {
96
202
  price,
97
203
  side,
@@ -100,6 +206,84 @@ export class OpenSeaMarketplace extends Marketplace {
100
206
  priceDiscoveryData
101
207
  };
102
208
  }
209
+ /** getOrCreateVouchersWrapper needs to be done at voucher contract level,
210
+ * before being able to wrap vouchers, then list them on OS **/
211
+ async getOrCreateVouchersWrapper(contractAddress) {
212
+ // Is the wrapper already cached?
213
+ let wrapper = this._wrappersMap.get(contractAddress);
214
+ if (!wrapper) {
215
+ // Does the wrapper exist on chain?
216
+ let wrapperAddress = await this._wrapperFactory.getWrapper({
217
+ voucherContract: contractAddress
218
+ });
219
+ if (!wrapperAddress) {
220
+ // Create the wrapper on-chain
221
+ const tx = await this._wrapperFactory.create({
222
+ voucherContract: contractAddress
223
+ });
224
+ await tx.wait();
225
+ wrapperAddress = await this._wrapperFactory.getWrapper({
226
+ voucherContract: contractAddress
227
+ });
228
+ }
229
+ wrapper = new OpenSeaWrapper(wrapperAddress, this._web3Lib);
230
+ // cache the wrapper for next time
231
+ this._wrappersMap.set(contractAddress, wrapper);
232
+ }
233
+ return wrapper;
234
+ }
235
+ async isVoucherWrapped(contractAddress, tokenId) {
236
+ let wrapper = this._wrappersMap.get(contractAddress);
237
+ if (!wrapper) {
238
+ // Does the wrapper exist on chain?
239
+ const wrapperAddress = await this._wrapperFactory.getWrapper({
240
+ voucherContract: contractAddress
241
+ });
242
+ if (!wrapperAddress) {
243
+ // Wrapper contract doesn't exist
244
+ return { wrapped: false };
245
+ }
246
+ wrapper = new OpenSeaWrapper(wrapperAddress, this._web3Lib);
247
+ // cache the wrapper for next time
248
+ this._wrappersMap.set(contractAddress, wrapper);
249
+ }
250
+ try {
251
+ await erc721OwnerOf({
252
+ contractAddress: wrapper.address,
253
+ tokenId,
254
+ web3Lib: this._web3Lib
255
+ });
256
+ }
257
+ catch (e) {
258
+ // Wrapper contract exists, however the token is not wrapped
259
+ return { wrapped: false, wrapper: wrapper.address };
260
+ }
261
+ return { wrapped: true, wrapper: wrapper.address };
262
+ }
263
+ async wrapVouchers(contract, tokenIds) {
264
+ const wrapper = await this.getOrCreateVouchersWrapper(contract);
265
+ return wrapper.wrapForAuction({ tokenIds });
266
+ }
267
+ async unwrapVoucher(contract, tokenId) {
268
+ const wrapper = await this.getOrCreateVouchersWrapper(contract);
269
+ return wrapper.unwrap({ tokenId });
270
+ }
271
+ async finalizeAuction(asset) {
272
+ const wrapper = await this.getOrCreateVouchersWrapper(asset.contract);
273
+ const osOrder = await this._handler.api.getOrder({
274
+ assetContractAddress: wrapper.address,
275
+ tokenId: asset.tokenId,
276
+ side: OrderSide.BID
277
+ });
278
+ const ffd = await this._handler.api.generateFulfillmentData(this._contracts.priceDiscoveryClient, // the address of the PriceDiscoveryClient contract, which will call the fulfilment method
279
+ osOrder.orderHash, osOrder.protocolAddress, osOrder.side);
280
+ const buyerOrder = ffd.fulfillment_data.transaction.input_data
281
+ .orders[0];
282
+ return wrapper.finalizeAuction({
283
+ tokenId: asset.tokenId,
284
+ order: buyerOrder
285
+ });
286
+ }
103
287
  convertListing(listing) {
104
288
  return {
105
289
  asset: {
@@ -1 +1 @@
1
- {"version":3,"file":"opensea.js","sourceRoot":"","sources":["../../../src/marketplaces/opensea.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opensea.js","sourceRoot":"","sources":["../../../src/marketplaces/opensea.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAKL,SAAS,EAIV,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,SAAS,EAAgB,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAEL,WAAW,EAIX,OAAO,EACR,MAAM,SAAS,CAAC;AASjB,OAAO,EACL,QAAQ,EACR,UAAU,EACV,uBAAuB,EACxB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAGL,IAAI,EAEL,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAEL,yBAAyB,EAG1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAC;AA4C7D,MAAM,OAAO,cAAc;IAGb;IACA;IAHF,KAAK,CAAY;IAC3B,YACY,SAAiB,EACjB,QAAwB;QADxB,cAAS,GAAT,SAAS,CAAQ;QACjB,aAAQ,GAAR,QAAQ,CAAgB;QAElC,IAAI,CAAC,KAAK,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC1D,kEAAkE;IACpE,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,IAAiC;QACnD,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;YACnC,EAAE,EAAE,IAAI,CAAC,SAAS;YAClB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SACtE,CAAC,CAAC;IACL,CAAC;IACM,KAAK,CAAC,UAAU,CAAC,IAEvB;QACC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACtC,EAAE,EAAE,IAAI,CAAC,SAAS;YAClB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SAC1E,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACxE,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAE,OAAkB,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,OAAO;IAG7B;IACA;IAHF,KAAK,CAAY;IAC3B,YACY,SAAiB,EACjB,QAAwB;QAElC,KAAK,EAAE,CAAC;QAHE,cAAS,GAAT,SAAS,CAAQ;QACjB,aAAQ,GAAR,QAAQ,CAAgB;QAGlC,IAAI,CAAC,KAAK,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACrD,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,IAAkC;QAC5D,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;YACnC,EAAE,EAAE,IAAI,CAAC,SAAS;YAClB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACvE,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,IAA+B;QACjD,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;YACnC,EAAE,EAAE,IAAI,CAAC,SAAS;YAClB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC9D,CAAC,CAAC;IACL,CAAC;IAEM,qBAAqB,CAAC,IAG5B;QACC,OAAO,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,iBAAiB,EAAE;YACtD,IAAI,CAAC,OAAO;YACZ,IAAI,CAAC,KAAK;SACX,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,IAG5B;QACC,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;YACnC,EAAE,EAAE,IAAI,CAAC,SAAS;YAClB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,iBAAiB,EAAE;gBACrD,IAAI,CAAC,OAAO;gBACZ,IAAI,CAAC,KAAK;aACX,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,WAAW;IAKrC;IACA;IACA;IACA;IAPF,eAAe,CAAiB;IAChC,YAAY,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC3D,YACE,KAAsB,EACZ,QAA2B,EAC3B,UAA6B,EAC7B,aAAqB,EACrB,QAAwB;QAElC,KAAK,CAAC,KAAK,CAAC,CAAC;QALH,aAAQ,GAAR,QAAQ,CAAmB;QAC3B,eAAU,GAAV,UAAU,CAAmB;QAC7B,kBAAa,GAAb,aAAa,CAAQ;QACrB,aAAQ,GAAR,QAAQ,CAAgB;QAGlC,IAAI,CAAC,eAAe,GAAG,IAAI,cAAc,CACvC,IAAI,CAAC,UAAU,CAAC,cAAc,EAC9B,IAAI,CAAC,QAAQ,CACd,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,OAAgB;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,OAAgB;QAC1C,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,SAAS,CAAC;QACzB,MAAM,IAAI,GAAG,SAAS,CAAC;QACvB,MAAM,QAAQ,GAAG,SAAS,CAAC;QAC3B,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAC5C,OAAO,CAAC,KAAK,CAAC,QAAQ,EACtB,OAAO,CAAC,KAAK,CAAC,OAAO,CACtB,CAAC;QACF,kIAAkI;QAClI,MAAM,uBAAuB,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAC1D,CAAC,GAAG,CAAC;QACL,0BAA0B;QAC1B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CACZ,CAAC;QACF,MAAM,qBAAqB,GAAG;YAC5B;gBACE,QAAQ,EAAE,CAAC;gBACX,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO;gBACpC,oBAAoB,EAAE,GAAG;gBACzB,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE;gBACvB,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE;gBAC5B,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE;gBAC1B,SAAS,EAAE,IAAI,CAAC,aAAa;aAC9B;SACF,CAAC;QACF,MAAM,WAAW,GAAG;YAClB,KAAK,EAAE;gBACL;oBACE,QAAQ,EAAE,CAAC;oBACX,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO;oBACpC,MAAM,EAAE,OAAO,CAAC,KAAK;oBACrB,WAAW,EAAE,OAAO,CAAC,KAAK;oBAC1B,SAAS,EAAE,OAAO,CAAC,KAAK;iBACzB;aACF;YACD,aAAa,EAAE,CAAC,GAAG,uBAAuB,EAAE,GAAG,qBAAqB,CAAC;YACrE,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE;YAC1C,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,4CAA4C;YAClE,MAAM;YACN,sCAAsC;YACtC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;YAC1B,gBAAgB,EAAE,IAAI;YACtB,iBAAiB,EAAE,KAAK;SACzB,CAAC;QAEF,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,CACxE,WAAW,EACX,OAAO,CAAC,OAAO,CAChB,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,iBAAiB,EAAE,CAAC;QACxC,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAC3E,IAAI,CAAC,eAAe,EAAE;YACpB,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAC;SACH;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE;YACvD,QAAQ,EAAE,SAAS;YACnB,eAAe;YACf,IAAI,EAAE,SAAS,CAAC,GAAG;SACpB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAAC,KAG/B;QACC,2FAA2F;QAC3F,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;YAC/C,oBAAoB,EAAE,KAAK,CAAC,QAAQ;YACpC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,IAAI,EAAE,SAAS,CAAC,GAAG;SACpB,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,uBAAuB,CACzD,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,0FAA0F;QAChI,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,eAAe,EACvB,OAAO,CAAC,IAAI,CACb,CAAC;QACF,MAAM,SAAS,GAAG,GAAG,CAAC,gBAAgB,CAAC,WAAW;aAC/C,UAKF,CAAC;QACF,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAEM,KAAK,CAAC,sBAAsB,CACjC,KAGC,EACD,WAAW,GAAG,KAAK;QAEnB,MAAM,OAAO,GAAG,WAAW;YACzB,CAAC,CAAC,MAAM,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,QAAQ,CAAC;YACvD,CAAC,CAAC,SAAS,CAAC;QACd,2FAA2F;QAC3F,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;YAC/C,oBAAoB,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ;YACpE,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,IAAI,EAAE,SAAS,CAAC,GAAG;SACpB,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,uBAAuB,CACzD,WAAW;YACT,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,wDAAwD;YAC1E,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,qEAAqE;QAC/G,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,eAAe,EACvB,OAAO,CAAC,IAAI,CACb,CAAC;QACF,MAAM,SAAS,GAAG,GAAG,CAAC,gBAAgB,CAAC,WAAW;aAC/C,UAKF,CAAC;QACF,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,iCAAiC;QAC5G,IAAI,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,kBAAkB,CAAC;QAC9D,IAAI,WAAW,EAAE;YACf,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;YACpB,sBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC;YACzC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YAC1B,kBAAkB,GAAG,OAAO,CAAC,qBAAqB,CAAC;gBACjD,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,KAAK,EAAE,GAAG,CAAC,gBAAgB,CAAC,WAAW,CAAC,UAAU;qBAC/C,MAAM,CAAC,CAAC,CAA6B;aACzC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;YAChB,sBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,2BAA2B;YAC7E,OAAO;gBACL,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,UAAU,KAAK,UAAU;oBACvD,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,6BAA6B;oBACvD,CAAC,CAAC,uBAAuB,CAAC,CAAC,0CAA0C;YACzE,kBAAkB,GAAG,yBAAyB,CAC5C,SAAS,CAAC,MAAM,EAChB,SAAS,CAAC,iBAAiB,EAC3B,SAAS,CAAC,YAAY,EACtB,SAAS,CAAC,SAAS,CACpB,CAAC;SACH;QAED,OAAO;YACL,KAAK;YACL,IAAI;YACJ,sBAAsB;YACtB,OAAO;YACP,kBAAkB;SACnB,CAAC;IACJ,CAAC;IAED;oEACgE;IACzD,KAAK,CAAC,0BAA0B,CACrC,eAAuB;QAEvB,iCAAiC;QACjC,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,EAAE;YACZ,mCAAmC;YACnC,IAAI,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;gBACzD,eAAe,EAAE,eAAe;aACjC,CAAC,CAAC;YACH,IAAI,CAAC,cAAc,EAAE;gBACnB,8BAA8B;gBAC9B,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;oBAC3C,eAAe,EAAE,eAAe;iBACjC,CAAC,CAAC;gBACH,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;gBAChB,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;oBACrD,eAAe,EAAE,eAAe;iBACjC,CAAC,CAAC;aACJ;YACD,OAAO,GAAG,IAAI,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5D,kCAAkC;YAClC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;SACjD;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAC3B,eAAuB,EACvB,OAAe;QAEf,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,EAAE;YACZ,mCAAmC;YACnC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;gBAC3D,eAAe,EAAE,eAAe;aACjC,CAAC,CAAC;YACH,IAAI,CAAC,cAAc,EAAE;gBACnB,iCAAiC;gBACjC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;aAC3B;YACD,OAAO,GAAG,IAAI,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5D,kCAAkC;YAClC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;SACjD;QACD,IAAI;YACF,MAAM,aAAa,CAAC;gBAClB,eAAe,EAAE,OAAO,CAAC,OAAO;gBAChC,OAAO;gBACP,OAAO,EAAE,IAAI,CAAC,QAAQ;aACvB,CAAC,CAAC;SACJ;QAAC,OAAO,CAAC,EAAE;YACV,4DAA4D;YAC5D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;SACrD;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;IACrD,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,QAAgB,EAAE,QAAkB;QAC5D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;QAChE,OAAO,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC9C,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,QAAgB,EAAE,OAAe;QAC1D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;QAChE,OAAO,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IACrC,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,KAA4C;QACvE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACtE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;YAC/C,oBAAoB,EAAE,OAAO,CAAC,OAAO;YACrC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,IAAI,EAAE,SAAS,CAAC,GAAG;SACpB,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,uBAAuB,CACzD,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,0FAA0F;QAChI,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,eAAe,EACvB,OAAO,CAAC,IAAI,CACb,CAAC;QACF,MAAM,UAAU,GAAG,GAAG,CAAC,gBAAgB,CAAC,WAAW,CAAC,UAAU;aAC3D,MAAM,CAAC,CAAC,CAA6B,CAAC;QACzC,OAAO,OAAO,CAAC,eAAe,CAAC;YAC7B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,KAAK,EAAE,UAAU;SAClB,CAAC,CAAC;IACL,CAAC;IAES,cAAc,CAAC,OAAgB;QACvC,OAAO;YACL,KAAK,EAAE;gBACL,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ;gBACpC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO;aAC/B;YACD,cAAc,EAAE,OAAO,CAAC,OAAO;YAC/B,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC;YACvE,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,mBAAmB,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO;YAClD,cAAc,EAAE,OAAO,CAAC,OAAO;SAChC,CAAC;IACJ,CAAC;IAES,cAAc,CAAC,OAA4B;QACnD,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,SAAS,CAAC;SAClB;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACzE,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QACpE,OAAO;YACL,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,IAAI;YACJ,QAAQ,EAAE,SAAS,CAAC,WAAW;YAC/B,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,aAAa,EAAE;gBACb,OAAO,EAAE,SAAS,CAAC,aAAa;gBAChC,gBAAgB;aACjB;YACD,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,SAAS,EAAE,OAAO,CAAC,WAAW;YAC9B,OAAO,EAAE,OAAO,CAAC,cAAc;YAC/B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS;YACrE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS;SACtE,CAAC;IACJ,CAAC;IAES,gBAAgB,CACxB,UAA2B,EAC3B,IAAgB;QAWhB,IAAI,KAAa,CAAC;QAClB,IAAI,aAAqB,CAAC;QAC1B,IAAI,GAAkC,CAAC;QACvC,MAAM,MAAM,GAAG,UAAU,CAAC,aAAa,CAAC,IAAI,CAC1C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,MAAM,CACtC,CAAC;QACF,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC5E,IAAI,IAAI,KAAK,SAAS,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE;YACrC,OAAO,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;SACtD;QACD,IAAI,IAAI,KAAK,SAAS,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE;YACrC,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;SAC9C;QACD,IAAI,CAAC,IAAI,EAAE;YACT,IAAI,MAAM,IAAI,CAAC,MAAM,EAAE;gBACrB,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC;aACtB;iBAAM,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE;gBAC5B,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC;aACtB;iBAAM,IAAI,MAAM,IAAI,MAAM,EAAE;gBAC3B,OAAO,CAAC,IAAI,CACV,4EAA4E,CAC7E,CAAC;aACH;iBAAM;gBACL,OAAO,CAAC,IAAI,CACV,yEAAyE,CAC1E,CAAC;aACH;SACF;QACD,IAAI,IAAI,KAAK,SAAS,CAAC,GAAG,EAAE;YAC1B,KAAK,GAAG,UAAU,CAAC,KAAK;iBACrB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,KAAK,CAAC;iBAC5C,MAAM,CACL,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,EAClD,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAClB;iBACA,QAAQ,EAAE,CAAC;YACd,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CACnC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,KAAK,CACrC,EAAE,KAAK,CAAC;YACT,GAAG,GAAG,MAAM,CAAC;SACd;aAAM;YACL,MAAM;YACN,KAAK,GAAG,UAAU,CAAC,aAAa;iBAC7B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,KAAK,CAAC;iBAC5C,MAAM,CACL,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,EAClD,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAClB;iBACA,QAAQ,EAAE,CAAC;YACd,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC,IAAI,CAC3C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,KAAK,CACrC,EAAE,KAAK,CAAC;YACT,GAAG,GAAG,MAAM,CAAC;SACd;QACD,MAAM,IAAI,GAAG,KAAK;YAChB,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;YACtD,CAAC,CAAC,GAAG,CAAC;QACR,MAAM,YAAY,GAAG,KAAK;YACxB,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;YACvD,CAAC,CAAC,GAAG,CAAC;QACR,OAAO;YACL,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,IAAI;YACJ,WAAW,EAAE,GAAG,EAAE,KAAK,IAAI,KAAK;YAChC,OAAO,EAAE,GAAG,EAAE,oBAAoB,IAAI,KAAK;YAC3C,KAAK;YACL,IAAI;YACJ,YAAY;YACZ,aAAa;SACd,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,QAAQ,CACnB,KAGC,EACD,IAAU;QAEV,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;YAC/C,oBAAoB,EAAE,KAAK,CAAC,QAAQ;YACpC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG;SACxD,CAAC,CAAC;QACH,OAAO,OAAO;YACZ,CAAC,CAAC;gBACE,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;gBAC/B,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE,SAAS;aAC3C;YACH,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;CACF"}
@@ -1,5 +1,6 @@
1
- import { PriceDiscoveryStruct, Side } from "@bosonprotocol/common";
1
+ import { PriceDiscoveryStruct, Side, TransactionResponse } from "@bosonprotocol/common";
2
2
  import { OpenSeaSDKHandler } from "./opensea";
3
+ import { AdvancedOrder } from "../seaport/interface";
3
4
  export type DefaultHandler = {
4
5
  dummy(): () => void;
5
6
  };
@@ -50,6 +51,9 @@ export type Order = {
50
51
  export type SignedOrder = Order & {
51
52
  signature: string;
52
53
  };
54
+ export declare abstract class Wrapper {
55
+ abstract get address(): string;
56
+ }
53
57
  export declare abstract class Marketplace {
54
58
  protected _type: MarketplaceType;
55
59
  constructor(_type: MarketplaceType);
@@ -62,6 +66,21 @@ export declare abstract class Marketplace {
62
66
  abstract generateFulfilmentData(asset: {
63
67
  contract: string;
64
68
  tokenId: string;
65
- }): Promise<PriceDiscoveryStruct>;
69
+ }, withWrapper?: boolean): Promise<PriceDiscoveryStruct>;
70
+ abstract buildAdvancedOrder(asset: {
71
+ contract: string;
72
+ tokenId: string;
73
+ }): Promise<AdvancedOrder>;
74
+ abstract wrapVouchers(contract: string, tokenIds: string[]): Promise<TransactionResponse>;
75
+ abstract unwrapVoucher(contract: string, tokenId: string): Promise<TransactionResponse>;
76
+ abstract finalizeAuction(asset: {
77
+ contract: string;
78
+ tokenId: string;
79
+ }): Promise<TransactionResponse>;
80
+ abstract isVoucherWrapped(contractAddress: string, tokenId: string): Promise<{
81
+ wrapped: boolean;
82
+ wrapper?: string;
83
+ }>;
84
+ abstract getOrCreateVouchersWrapper(contractAddress: string): Promise<Wrapper>;
66
85
  }
67
86
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/marketplaces/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,MAAM,cAAc,GAAG;IAE3B,KAAK,IAAI,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,oBAAY,eAAe;IACzB,OAAO,IAAA;IACP,OAAO,IAAA;CACR;AAED,oBAAY,SAAS;CAAG;AAExB,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,GAAG,cAAc,CAAC;AAEpE,MAAM,MAAM,OAAO,GAAG;IACpB,KAAK,EAAE;QACL,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE;QACL,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,KAAK,EAAE;QACL,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG;IAChC,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,8BAAsB,WAAW;IACnB,SAAS,CAAC,KAAK,EAAE,eAAe;gBAAtB,KAAK,EAAE,eAAe;aAC5B,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;aAC/C,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;aAChD,QAAQ,CACtB,KAAK,EAAE;QACL,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;KACjB,EACD,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,WAAW,CAAC;aACP,sBAAsB,CAAC,KAAK,EAAE;QAC5C,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAClC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/marketplaces/types.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,8 @@ export var MarketplaceType;
6
6
  export var OrderSide;
7
7
  (function (OrderSide) {
8
8
  })(OrderSide || (OrderSide = {}));
9
+ export class Wrapper {
10
+ }
9
11
  export class Marketplace {
10
12
  _type;
11
13
  constructor(_type) {
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/marketplaces/types.ts"],"names":[],"mappings":"AAQA,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,2DAAO,CAAA;IACP,2DAAO,CAAA;AACT,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B;AAED,MAAM,CAAN,IAAY,SAAY;AAAxB,WAAY,SAAS;AAAE,CAAC,EAAZ,SAAS,KAAT,SAAS,QAAG;AA4CxB,MAAM,OAAgB,WAAW;IACT;IAAtB,YAAsB,KAAsB;QAAtB,UAAK,GAAL,KAAK,CAAiB;IAAG,CAAC;CAcjD"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/marketplaces/types.ts"],"names":[],"mappings":"AAaA,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,2DAAO,CAAA;IACP,2DAAO,CAAA;AACT,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B;AAED,MAAM,CAAN,IAAY,SAAY;AAAxB,WAAY,SAAS;AAAE,CAAC,EAAZ,SAAS,KAAT,SAAS,QAAG;AA4CxB,MAAM,OAAgB,OAAO;CAE5B;AAED,MAAM,OAAgB,WAAW;IACT;IAAtB,YAAsB,KAAsB;QAAtB,UAAK,GAAL,KAAK,CAAiB;IAAG,CAAC;CAwCjD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bosonprotocol/core-sdk",
3
- "version": "1.40.4",
3
+ "version": "1.40.5-alpha.0",
4
4
  "description": "Facilitates interaction with the contracts and subgraphs of the Boson Protocol",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",
@@ -35,7 +35,7 @@
35
35
  "access": "public"
36
36
  },
37
37
  "dependencies": {
38
- "@bosonprotocol/common": "^1.28.0",
38
+ "@bosonprotocol/common": "^1.28.1-alpha.0",
39
39
  "@ethersproject/abi": "^5.5.0",
40
40
  "@ethersproject/address": "^5.5.0",
41
41
  "@ethersproject/bignumber": "^5.5.0",
@@ -62,5 +62,5 @@
62
62
  "overrides": {
63
63
  "typescript": "^5.1.6"
64
64
  },
65
- "gitHead": "bf1e1287fdfa2eafb76eea318eec0cd62a9b491e"
65
+ "gitHead": "1c23ba2ae19b282fc300ddb8a69d50771fb7c8c3"
66
66
  }
@@ -14,7 +14,8 @@ export class MarketplaceMixin extends BaseCoreSDK {
14
14
  type,
15
15
  handler as OpenSeaSDKHandler,
16
16
  this._contracts,
17
- feeRecipient
17
+ feeRecipient,
18
+ this._web3Lib
18
19
  );
19
20
  }
20
21
  default: