@bosonprotocol/core-sdk 1.40.1 → 1.40.2-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.
Files changed (145) hide show
  1. package/dist/cjs/accounts/interface.d.ts.map +1 -1
  2. package/dist/cjs/core-sdk.d.ts +3 -1
  3. package/dist/cjs/core-sdk.d.ts.map +1 -1
  4. package/dist/cjs/core-sdk.js +5 -1
  5. package/dist/cjs/core-sdk.js.map +1 -1
  6. package/dist/cjs/erc721/handler.d.ts +6 -0
  7. package/dist/cjs/erc721/handler.d.ts.map +1 -1
  8. package/dist/cjs/erc721/handler.js +13 -1
  9. package/dist/cjs/erc721/handler.js.map +1 -1
  10. package/dist/cjs/exchanges/handler.d.ts +8 -1
  11. package/dist/cjs/exchanges/handler.d.ts.map +1 -1
  12. package/dist/cjs/exchanges/handler.js +14 -1
  13. package/dist/cjs/exchanges/handler.js.map +1 -1
  14. package/dist/cjs/exchanges/mixin.d.ts.map +1 -1
  15. package/dist/cjs/exchanges/mixin.js +2 -6
  16. package/dist/cjs/exchanges/mixin.js.map +1 -1
  17. package/dist/cjs/marketplaces/mixin.d.ts +6 -0
  18. package/dist/cjs/marketplaces/mixin.d.ts.map +1 -0
  19. package/dist/cjs/marketplaces/mixin.js +19 -0
  20. package/dist/cjs/marketplaces/mixin.js.map +1 -0
  21. package/dist/cjs/marketplaces/opensea.d.ts +62 -0
  22. package/dist/cjs/marketplaces/opensea.d.ts.map +1 -0
  23. package/dist/cjs/marketplaces/opensea.js +230 -0
  24. package/dist/cjs/marketplaces/opensea.js.map +1 -0
  25. package/dist/cjs/marketplaces/types.d.ts +67 -0
  26. package/dist/cjs/marketplaces/types.d.ts.map +1 -0
  27. package/dist/cjs/marketplaces/types.js +18 -0
  28. package/dist/cjs/marketplaces/types.js.map +1 -0
  29. package/dist/cjs/price-discovery/handler.d.ts +11 -0
  30. package/dist/cjs/price-discovery/handler.d.ts.map +1 -0
  31. package/dist/cjs/price-discovery/handler.js +57 -0
  32. package/dist/cjs/price-discovery/handler.js.map +1 -0
  33. package/dist/cjs/price-discovery/index.d.ts +3 -0
  34. package/dist/cjs/price-discovery/index.d.ts.map +1 -0
  35. package/dist/cjs/price-discovery/index.js +29 -0
  36. package/dist/cjs/price-discovery/index.js.map +1 -0
  37. package/dist/cjs/price-discovery/interface.d.ts +6 -0
  38. package/dist/cjs/price-discovery/interface.d.ts.map +1 -0
  39. package/dist/cjs/price-discovery/interface.js +11 -0
  40. package/dist/cjs/price-discovery/interface.js.map +1 -0
  41. package/dist/cjs/price-discovery/mixin.d.ts +13 -0
  42. package/dist/cjs/price-discovery/mixin.d.ts.map +1 -0
  43. package/dist/cjs/price-discovery/mixin.js +36 -0
  44. package/dist/cjs/price-discovery/mixin.js.map +1 -0
  45. package/dist/cjs/seaport/handler.d.ts +0 -45
  46. package/dist/cjs/seaport/handler.d.ts.map +1 -1
  47. package/dist/cjs/seaport/handler.js +0 -27
  48. package/dist/cjs/seaport/handler.js.map +1 -1
  49. package/dist/cjs/seaport/index.d.ts +1 -1
  50. package/dist/cjs/seaport/index.d.ts.map +1 -1
  51. package/dist/cjs/seaport/index.js +2 -2
  52. package/dist/cjs/seaport/interface.d.ts +71 -0
  53. package/dist/cjs/seaport/interface.d.ts.map +1 -0
  54. package/dist/cjs/seaport/interface.js +42 -0
  55. package/dist/cjs/seaport/interface.js.map +1 -0
  56. package/dist/cjs/seaport/mixin.d.ts +4 -0
  57. package/dist/cjs/seaport/mixin.d.ts.map +1 -0
  58. package/dist/cjs/seaport/mixin.js +8 -0
  59. package/dist/cjs/seaport/mixin.js.map +1 -0
  60. package/dist/cjs/voucher/mixin.d.ts +5 -1
  61. package/dist/cjs/voucher/mixin.d.ts.map +1 -1
  62. package/dist/cjs/voucher/mixin.js +14 -2
  63. package/dist/cjs/voucher/mixin.js.map +1 -1
  64. package/dist/esm/accounts/interface.d.ts.map +1 -1
  65. package/dist/esm/core-sdk.d.ts +3 -1
  66. package/dist/esm/core-sdk.d.ts.map +1 -1
  67. package/dist/esm/core-sdk.js +5 -1
  68. package/dist/esm/core-sdk.js.map +1 -1
  69. package/dist/esm/erc721/handler.d.ts +6 -0
  70. package/dist/esm/erc721/handler.d.ts.map +1 -1
  71. package/dist/esm/erc721/handler.js +9 -0
  72. package/dist/esm/erc721/handler.js.map +1 -1
  73. package/dist/esm/exchanges/handler.d.ts +8 -1
  74. package/dist/esm/exchanges/handler.d.ts.map +1 -1
  75. package/dist/esm/exchanges/handler.js +11 -1
  76. package/dist/esm/exchanges/handler.js.map +1 -1
  77. package/dist/esm/exchanges/mixin.d.ts.map +1 -1
  78. package/dist/esm/exchanges/mixin.js +3 -7
  79. package/dist/esm/exchanges/mixin.js.map +1 -1
  80. package/dist/esm/marketplaces/mixin.d.ts +6 -0
  81. package/dist/esm/marketplaces/mixin.d.ts.map +1 -0
  82. package/dist/esm/marketplaces/mixin.js +15 -0
  83. package/dist/esm/marketplaces/mixin.js.map +1 -0
  84. package/dist/esm/marketplaces/opensea.d.ts +62 -0
  85. package/dist/esm/marketplaces/opensea.d.ts.map +1 -0
  86. package/dist/esm/marketplaces/opensea.js +214 -0
  87. package/dist/esm/marketplaces/opensea.js.map +1 -0
  88. package/dist/esm/marketplaces/types.d.ts +67 -0
  89. package/dist/esm/marketplaces/types.d.ts.map +1 -0
  90. package/dist/esm/marketplaces/types.js +15 -0
  91. package/dist/esm/marketplaces/types.js.map +1 -0
  92. package/dist/esm/price-discovery/handler.d.ts +11 -0
  93. package/dist/esm/price-discovery/handler.d.ts.map +1 -0
  94. package/dist/esm/price-discovery/handler.js +19 -0
  95. package/dist/esm/price-discovery/handler.js.map +1 -0
  96. package/dist/esm/price-discovery/index.d.ts +3 -0
  97. package/dist/esm/price-discovery/index.d.ts.map +1 -0
  98. package/dist/esm/price-discovery/index.js +3 -0
  99. package/dist/esm/price-discovery/index.js.map +1 -0
  100. package/dist/esm/price-discovery/interface.d.ts +6 -0
  101. package/dist/esm/price-discovery/interface.d.ts.map +1 -0
  102. package/dist/esm/price-discovery/interface.js +7 -0
  103. package/dist/esm/price-discovery/interface.js.map +1 -0
  104. package/dist/esm/price-discovery/mixin.d.ts +13 -0
  105. package/dist/esm/price-discovery/mixin.d.ts.map +1 -0
  106. package/dist/esm/price-discovery/mixin.js +21 -0
  107. package/dist/esm/price-discovery/mixin.js.map +1 -0
  108. package/dist/esm/seaport/handler.d.ts +0 -45
  109. package/dist/esm/seaport/handler.d.ts.map +1 -1
  110. package/dist/esm/seaport/handler.js +0 -23
  111. package/dist/esm/seaport/handler.js.map +1 -1
  112. package/dist/esm/seaport/index.d.ts +1 -1
  113. package/dist/esm/seaport/index.d.ts.map +1 -1
  114. package/dist/esm/seaport/index.js +1 -1
  115. package/dist/esm/seaport/index.js.map +1 -1
  116. package/dist/esm/seaport/interface.d.ts +71 -0
  117. package/dist/esm/seaport/interface.d.ts.map +1 -0
  118. package/dist/esm/seaport/interface.js +37 -0
  119. package/dist/esm/seaport/interface.js.map +1 -0
  120. package/dist/esm/seaport/mixin.d.ts +4 -0
  121. package/dist/esm/seaport/mixin.d.ts.map +1 -0
  122. package/dist/esm/seaport/mixin.js +4 -0
  123. package/dist/esm/seaport/mixin.js.map +1 -0
  124. package/dist/esm/voucher/mixin.d.ts +5 -1
  125. package/dist/esm/voucher/mixin.d.ts.map +1 -1
  126. package/dist/esm/voucher/mixin.js +12 -2
  127. package/dist/esm/voucher/mixin.js.map +1 -1
  128. package/package.json +4 -3
  129. package/src/accounts/interface.ts +1 -1
  130. package/src/core-sdk.ts +8 -2
  131. package/src/erc721/handler.ts +15 -0
  132. package/src/exchanges/handler.ts +19 -2
  133. package/src/exchanges/mixin.ts +5 -6
  134. package/src/marketplaces/mixin.ts +24 -0
  135. package/src/marketplaces/opensea.ts +361 -0
  136. package/src/marketplaces/types.ts +73 -0
  137. package/src/price-discovery/handler.ts +37 -0
  138. package/src/price-discovery/index.ts +2 -0
  139. package/src/price-discovery/interface.ts +18 -0
  140. package/src/price-discovery/mixin.ts +30 -0
  141. package/src/seaport/handler.ts +0 -57
  142. package/src/seaport/index.ts +1 -1
  143. package/src/seaport/interface.ts +100 -0
  144. package/src/seaport/mixin.ts +3 -0
  145. package/src/voucher/mixin.ts +21 -2
@@ -0,0 +1,62 @@
1
+ import { AssetWithTokenId, FulfillmentDataResponse, GetNFTResponse, OrderAPIOptions, OrderSide, OrderV2, OrdersQueryOptions, ProtocolData } from "opensea-js";
2
+ import { BigNumberish } from "@ethersproject/bignumber";
3
+ import { Listing, Marketplace, MarketplaceType, Order, SignedOrder } from "./types";
4
+ import { CreateOrderAction, CreateOrderInput, OrderParameters, OrderUseCase } from "@opensea/seaport-js/lib/types";
5
+ import { ContractAddresses, PriceDiscoveryStruct, Side } from "@bosonprotocol/common";
6
+ export type OpenSeaListing = {
7
+ asset: AssetWithTokenId;
8
+ accountAddress: string;
9
+ startAmount: BigNumberish;
10
+ endAmount?: BigNumberish;
11
+ quantity?: BigNumberish;
12
+ domain?: string;
13
+ salt?: BigNumberish;
14
+ listingTime?: number;
15
+ expirationTime?: number;
16
+ paymentTokenAddress?: string;
17
+ buyerAddress?: string;
18
+ englishAuction?: boolean;
19
+ excludeOptionalCreatorFees?: boolean;
20
+ };
21
+ export type OpenSeaSDKHandler = {
22
+ api: {
23
+ apiBaseUrl: string;
24
+ getOrder(order: Omit<OrdersQueryOptions, "limit">): Promise<OrderV2>;
25
+ generateFulfillmentData(fulfillerAddress: string, orderHash: string, protocolAddress: string, side: OrderSide): Promise<FulfillmentDataResponse>;
26
+ getNFT(address: string, identifier: string): Promise<GetNFTResponse>;
27
+ postOrder(order: ProtocolData, apiOptions: OrderAPIOptions): Promise<OrderV2>;
28
+ };
29
+ seaport_v1_6: {
30
+ createOrder(input: CreateOrderInput, accountAddress?: string, exactApproval?: boolean): Promise<OrderUseCase<CreateOrderAction>>;
31
+ };
32
+ createListing(listing: OpenSeaListing): Promise<OrderV2>;
33
+ };
34
+ export declare class OpenSeaMarketplace extends Marketplace {
35
+ protected _handler: OpenSeaSDKHandler;
36
+ protected _contracts: ContractAddresses;
37
+ protected _feeRecipient: string;
38
+ constructor(_type: MarketplaceType, _handler: OpenSeaSDKHandler, _contracts: ContractAddresses, _feeRecipient: string);
39
+ createListing(listing: Listing): Promise<Order>;
40
+ createBidOrder(listing: Listing): Promise<Order>;
41
+ generateFulfilmentData(asset: {
42
+ contract: string;
43
+ tokenId: string;
44
+ }): Promise<PriceDiscoveryStruct>;
45
+ protected convertListing(listing: Listing): OpenSeaListing;
46
+ protected convertOsOrder(osOrder: OrderV2 | undefined): Order | undefined;
47
+ protected extractOrderInfo(parameters: OrderParameters, side?: OrderSide): {
48
+ offerer: string;
49
+ side: OrderSide;
50
+ nftContract: string;
51
+ tokenId: string;
52
+ price: string;
53
+ fees: string;
54
+ sellerProfit: string;
55
+ exchangeToken: string;
56
+ };
57
+ getOrder(asset: {
58
+ contract: string;
59
+ tokenId: string;
60
+ }, side: Side): Promise<SignedOrder>;
61
+ }
62
+ //# sourceMappingURL=opensea.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opensea.d.ts","sourceRoot":"","sources":["../../../src/marketplaces/opensea.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,214 @@
1
+ import { formatUnits } from "@ethersproject/units";
2
+ import { OrderSide } from "opensea-js";
3
+ import { BigNumber } from "@ethersproject/bignumber";
4
+ import { Marketplace } from "./types";
5
+ import { ItemType, NO_CONDUIT, OPENSEA_CONDUIT_ADDRESS } from "@opensea/seaport-js/lib/constants";
6
+ import { Side } from "@bosonprotocol/common";
7
+ import { encodeMatchAdvancedOrders } from "../seaport/interface";
8
+ export class OpenSeaMarketplace extends Marketplace {
9
+ _handler;
10
+ _contracts;
11
+ _feeRecipient;
12
+ constructor(_type, _handler, _contracts, _feeRecipient) {
13
+ super(_type);
14
+ this._handler = _handler;
15
+ this._contracts = _contracts;
16
+ this._feeRecipient = _feeRecipient;
17
+ }
18
+ async createListing(listing) {
19
+ const osListing = this.convertListing(listing);
20
+ const osOrder = await this._handler.createListing(osListing);
21
+ return this.convertOsOrder(osOrder);
22
+ }
23
+ async createBidOrder(listing) {
24
+ const fees = BigNumber.from(listing.price).mul(250).div(10000);
25
+ const domain = undefined;
26
+ const salt = undefined;
27
+ const quantity = undefined;
28
+ const { nft } = await this._handler.api.getNFT(listing.asset.contract, listing.asset.tokenId);
29
+ // getNFTItems(nfts: NFT[], quantities: bigint[]): CreateInputItem[]; is a private method in OpenSea SDK, but need to hack it here
30
+ const considerationAssetItems = this._handler["getNFTItems"]([nft],
31
+ // [BigInt(quantity ?? 1)]
32
+ [BigInt(1)]);
33
+ const considerationFeeItems = [
34
+ {
35
+ itemType: 1,
36
+ token: listing.exchangeToken.address,
37
+ identifierOrCriteria: "0",
38
+ amount: fees.toString(),
39
+ startAmount: fees.toString(),
40
+ endAmount: fees.toString(),
41
+ recipient: this._feeRecipient
42
+ }
43
+ ];
44
+ const orderParams = {
45
+ offer: [
46
+ {
47
+ itemType: 1,
48
+ token: listing.exchangeToken.address,
49
+ amount: listing.price,
50
+ startAmount: listing.price,
51
+ endAmount: listing.price
52
+ }
53
+ ],
54
+ consideration: [...considerationAssetItems, ...considerationFeeItems],
55
+ endTime: listing.expirationTime.toString(),
56
+ zone: listing.zone || "0x0000000000000000000000000000000000000000",
57
+ domain,
58
+ // salt: BigInt(salt ?? 0).toString(),
59
+ salt: BigInt(0).toString(),
60
+ restrictedByZone: true,
61
+ allowPartialFills: false
62
+ };
63
+ const { executeAllActions } = await this._handler.seaport_v1_6.createOrder(orderParams, listing.offerer);
64
+ const order = await executeAllActions();
65
+ const protocolAddress = listing.protocolAddress || this._contracts.seaport;
66
+ if (!protocolAddress) {
67
+ throw new Error(`Seaport protocol address must be specified in Lsiting or CoreSDK config`);
68
+ }
69
+ const osOrder = await this._handler.api.postOrder(order, {
70
+ protocol: "seaport",
71
+ protocolAddress,
72
+ side: OrderSide.BID
73
+ });
74
+ return this.convertOsOrder(osOrder);
75
+ }
76
+ async generateFulfilmentData(asset) {
77
+ // Asumption: we're fulfilling a Bid Order (don't know if it makes sense with an Ask order)
78
+ const osOrder = await this._handler.api.getOrder({
79
+ assetContractAddress: asset.contract,
80
+ tokenId: asset.tokenId,
81
+ side: OrderSide.BID
82
+ });
83
+ const orderInfo = this.extractOrderInfo(osOrder.protocolData.parameters);
84
+ const ffd = await this._handler.api.generateFulfillmentData(this._contracts.priceDiscoveryClient, // the address of the PriceDiscoveryClient contract, which will call the fulfilment method
85
+ osOrder.orderHash, osOrder.protocolAddress, osOrder.side);
86
+ const inputData = ffd.fulfillment_data.transaction
87
+ .input_data;
88
+ 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);
95
+ return {
96
+ price,
97
+ side,
98
+ priceDiscoveryContract,
99
+ conduit,
100
+ priceDiscoveryData
101
+ };
102
+ }
103
+ convertListing(listing) {
104
+ return {
105
+ asset: {
106
+ tokenAddress: listing.asset.contract,
107
+ tokenId: listing.asset.tokenId
108
+ },
109
+ accountAddress: listing.offerer,
110
+ startAmount: formatUnits(listing.price, listing.exchangeToken.decimals),
111
+ expirationTime: listing.expirationTime,
112
+ paymentTokenAddress: listing.exchangeToken.address,
113
+ englishAuction: listing.auction
114
+ };
115
+ }
116
+ convertOsOrder(osOrder) {
117
+ if (!osOrder) {
118
+ return undefined;
119
+ }
120
+ const orderInfo = this.extractOrderInfo(osOrder.protocolData.parameters);
121
+ const side = orderInfo.side === OrderSide.ASK ? Side.Ask : Side.Bid;
122
+ return {
123
+ offerer: orderInfo.offerer,
124
+ side,
125
+ contract: orderInfo.nftContract,
126
+ tokenId: orderInfo.tokenId,
127
+ exchangeToken: {
128
+ address: orderInfo.exchangeToken
129
+ // decimals: ???
130
+ },
131
+ price: orderInfo.price,
132
+ startTime: osOrder.listingTime,
133
+ endTime: osOrder.expirationTime,
134
+ orderHash: osOrder.orderHash,
135
+ protocolAddress: osOrder.protocolAddress,
136
+ maker: osOrder.maker ? { address: osOrder.maker.address } : undefined,
137
+ taker: osOrder.taker ? { address: osOrder.taker.address } : undefined
138
+ };
139
+ }
140
+ extractOrderInfo(parameters, side) {
141
+ let price;
142
+ let exchangeToken;
143
+ let nft;
144
+ const nftBid = parameters.consideration.find((c) => c.itemType === ItemType.ERC721);
145
+ const nftAsk = parameters.offer.find((c) => c.itemType === ItemType.ERC721);
146
+ if (side === OrderSide.BID && !nftBid) {
147
+ console.warn(`NFT not found in order consideration`);
148
+ }
149
+ if (side === OrderSide.ASK && !nftAsk) {
150
+ console.warn(`NFT not found in order offer`);
151
+ }
152
+ if (!side) {
153
+ if (nftBid && !nftAsk) {
154
+ side = OrderSide.BID;
155
+ }
156
+ else if (!nftBid && nftAsk) {
157
+ side = OrderSide.ASK;
158
+ }
159
+ else if (nftBid && nftAsk) {
160
+ console.warn(`NFT found in both consideration and offer. Unable to detect the order side`);
161
+ }
162
+ else {
163
+ console.warn(`No NFT found in consideration or offer. Unable to detect the order side`);
164
+ }
165
+ }
166
+ if (side === OrderSide.BID) {
167
+ price = parameters.offer
168
+ .filter((c) => c.itemType === ItemType.ERC20)
169
+ .reduce((total, current) => total.add(current.startAmount), BigNumber.from(0))
170
+ .toString();
171
+ exchangeToken = parameters.offer.find((c) => c.itemType === ItemType.ERC20)?.token;
172
+ nft = nftBid;
173
+ }
174
+ else {
175
+ // ASK
176
+ price = parameters.consideration
177
+ .filter((c) => c.itemType === ItemType.ERC20)
178
+ .reduce((total, current) => total.add(current.startAmount), BigNumber.from(0))
179
+ .toString();
180
+ exchangeToken = parameters.consideration.find((c) => c.itemType === ItemType.ERC20)?.token;
181
+ nft = nftAsk;
182
+ }
183
+ const fees = price
184
+ ? BigNumber.from(price).mul(250).div(10000).toString()
185
+ : "0";
186
+ const sellerProfit = price
187
+ ? BigNumber.from(price).mul(9750).div(10000).toString()
188
+ : "0";
189
+ return {
190
+ offerer: parameters.offerer,
191
+ side,
192
+ nftContract: nft?.token || "0x0",
193
+ tokenId: nft?.identifierOrCriteria || "0x0",
194
+ price,
195
+ fees,
196
+ sellerProfit,
197
+ exchangeToken
198
+ };
199
+ }
200
+ async getOrder(asset, side) {
201
+ const osOrder = await this._handler.api.getOrder({
202
+ assetContractAddress: asset.contract,
203
+ tokenId: asset.tokenId,
204
+ side: side === Side.Ask ? OrderSide.ASK : OrderSide.BID
205
+ });
206
+ return osOrder
207
+ ? {
208
+ ...this.convertOsOrder(osOrder),
209
+ signature: osOrder.protocolData?.signature
210
+ }
211
+ : undefined;
212
+ }
213
+ }
214
+ //# sourceMappingURL=opensea.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opensea.js","sourceRoot":"","sources":["../../../src/marketplaces/opensea.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ import { PriceDiscoveryStruct, Side } from "@bosonprotocol/common";
2
+ import { OpenSeaSDKHandler } from "./opensea";
3
+ export type DefaultHandler = {
4
+ dummy(): () => void;
5
+ };
6
+ export declare enum MarketplaceType {
7
+ DEFAULT = 0,
8
+ OPENSEA = 1
9
+ }
10
+ export declare enum OrderSide {
11
+ }
12
+ export type MarketplaceHandler = OpenSeaSDKHandler | DefaultHandler;
13
+ export type Listing = {
14
+ asset: {
15
+ contract: string;
16
+ tokenId: string;
17
+ };
18
+ offerer: string;
19
+ price: string;
20
+ expirationTime: number;
21
+ exchangeToken: {
22
+ address: string;
23
+ decimals: number;
24
+ };
25
+ auction: boolean;
26
+ zone?: string;
27
+ protocolAddress?: string;
28
+ };
29
+ export type Order = {
30
+ offerer: string;
31
+ startTime: number;
32
+ endTime: number;
33
+ orderHash: string;
34
+ protocolAddress: string;
35
+ side: Side;
36
+ maker: {
37
+ address: string;
38
+ };
39
+ taker: {
40
+ address: string;
41
+ };
42
+ contract: string;
43
+ tokenId: string;
44
+ price: string;
45
+ exchangeToken: {
46
+ address: string;
47
+ decimals?: number;
48
+ };
49
+ };
50
+ export type SignedOrder = Order & {
51
+ signature: string;
52
+ };
53
+ export declare abstract class Marketplace {
54
+ protected _type: MarketplaceType;
55
+ constructor(_type: MarketplaceType);
56
+ abstract createListing(listing: Listing): Promise<Order>;
57
+ abstract createBidOrder(listing: Listing): Promise<Order>;
58
+ abstract getOrder(asset: {
59
+ contract: string;
60
+ tokenId: string;
61
+ }, side: Side): Promise<SignedOrder>;
62
+ abstract generateFulfilmentData(asset: {
63
+ contract: string;
64
+ tokenId: string;
65
+ }): Promise<PriceDiscoveryStruct>;
66
+ }
67
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,15 @@
1
+ export var MarketplaceType;
2
+ (function (MarketplaceType) {
3
+ MarketplaceType[MarketplaceType["DEFAULT"] = 0] = "DEFAULT";
4
+ MarketplaceType[MarketplaceType["OPENSEA"] = 1] = "OPENSEA";
5
+ })(MarketplaceType || (MarketplaceType = {}));
6
+ export var OrderSide;
7
+ (function (OrderSide) {
8
+ })(OrderSide || (OrderSide = {}));
9
+ export class Marketplace {
10
+ _type;
11
+ constructor(_type) {
12
+ this._type = _type;
13
+ }
14
+ }
15
+ //# sourceMappingURL=types.js.map
@@ -0,0 +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"}
@@ -0,0 +1,11 @@
1
+ import { Web3LibAdapter, PriceDiscoveryStruct, TransactionResponse } from "@bosonprotocol/common";
2
+ import { BigNumberish } from "@ethersproject/bignumber";
3
+ export declare function commitToPriceDiscoveryOffer(args: {
4
+ contractAddress: string;
5
+ subgraphUrl: string;
6
+ web3Lib: Web3LibAdapter;
7
+ buyer: string;
8
+ tokenIdOrOfferId: BigNumberish;
9
+ priceDiscovery: PriceDiscoveryStruct;
10
+ }): Promise<TransactionResponse>;
11
+ //# sourceMappingURL=handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/price-discovery/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAa,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAMnE,wBAAsB,2BAA2B,CAAC,IAAI,EAAE;IACtD,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,cAAc,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,YAAY,CAAC;IAC/B,cAAc,EAAE,oBAAoB,CAAC;CACtC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAkB/B"}
@@ -0,0 +1,19 @@
1
+ import { BigNumber } from "@ethersproject/bignumber";
2
+ import * as exchanges from "../exchanges/handler";
3
+ import { getOfferById } from "../offers/subgraph";
4
+ import { AddressZero } from "@ethersproject/constants";
5
+ import { encodeCommitToPriceDiscoveryOffer } from "./interface";
6
+ export async function commitToPriceDiscoveryOffer(args) {
7
+ let { offerId } = exchanges.parseTokenId(args.tokenIdOrOfferId);
8
+ if (offerId.eq(0)) {
9
+ offerId = BigNumber.from(args.tokenIdOrOfferId);
10
+ }
11
+ const offer = await getOfferById(args.subgraphUrl, offerId);
12
+ // TODO: do we need to check allowance?
13
+ return args.web3Lib.sendTransaction({
14
+ to: args.contractAddress,
15
+ data: encodeCommitToPriceDiscoveryOffer(args.buyer, args.tokenIdOrOfferId, args.priceDiscovery),
16
+ value: offer.exchangeToken.address === AddressZero ? offer.price : "0"
17
+ });
18
+ }
19
+ //# sourceMappingURL=handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/price-discovery/handler.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAgB,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,iCAAiC,EAAE,MAAM,aAAa,CAAC;AAEhE,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,IAOjD;IACC,IAAI,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAChE,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QACjB,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;KACjD;IACD,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAE5D,uCAAuC;IAEvC,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;QAClC,EAAE,EAAE,IAAI,CAAC,eAAe;QACxB,IAAI,EAAE,iCAAiC,CACrC,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,cAAc,CACpB;QACD,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG;KACvE,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * as iface from "./interface";
2
+ export * as handler from "./handler";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/price-discovery/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * as iface from "./interface";
2
+ export * as handler from "./handler";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/price-discovery/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { PriceDiscoveryStruct } from "@bosonprotocol/common";
2
+ import { Interface } from "@ethersproject/abi";
3
+ import { BigNumberish } from "@ethersproject/bignumber";
4
+ export declare const priceDiscoveryHandlerIface: Interface;
5
+ export declare function encodeCommitToPriceDiscoveryOffer(buyer: string, tokenIdOrOfferId: BigNumberish, priceDiscovery: PriceDiscoveryStruct): string;
6
+ //# sourceMappingURL=interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/price-discovery/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,eAAO,MAAM,0BAA0B,WAEtC,CAAC;AAEF,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,YAAY,EAC9B,cAAc,EAAE,oBAAoB,UAMrC"}
@@ -0,0 +1,7 @@
1
+ import { abis } from "@bosonprotocol/common";
2
+ import { Interface } from "@ethersproject/abi";
3
+ export const priceDiscoveryHandlerIface = new Interface(abis.IBosonPriceDiscoveryHandlerABI);
4
+ export function encodeCommitToPriceDiscoveryOffer(buyer, tokenIdOrOfferId, priceDiscovery) {
5
+ return priceDiscoveryHandlerIface.encodeFunctionData("commitToPriceDiscoveryOffer", [buyer, tokenIdOrOfferId, priceDiscovery]);
6
+ }
7
+ //# sourceMappingURL=interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../src/price-discovery/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAwB,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,SAAS,CACrD,IAAI,CAAC,8BAA8B,CACpC,CAAC;AAEF,MAAM,UAAU,iCAAiC,CAC/C,KAAa,EACb,gBAA8B,EAC9B,cAAoC;IAEpC,OAAO,0BAA0B,CAAC,kBAAkB,CAClD,6BAA6B,EAC7B,CAAC,KAAK,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAC1C,CAAC;AACJ,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { TransactionResponse, PriceDiscoveryStruct } from "@bosonprotocol/common";
2
+ import { BaseCoreSDK } from "./../mixins/base-core-sdk";
3
+ import { BigNumberish } from "@ethersproject/bignumber";
4
+ export declare class PriceDiscoveryMixin extends BaseCoreSDK {
5
+ /**
6
+ * Commits to a price discovery offer (first step of an exchange)
7
+ * @param groupToCreate - group with the contract condition
8
+ * @param overrides - Optional overrides.
9
+ * @returns Transaction response.
10
+ */
11
+ commitToPriceDiscoveryOffer(buyer: string, tokenIdOrOfferId: BigNumberish, priceDiscovery: PriceDiscoveryStruct): Promise<TransactionResponse>;
12
+ }
13
+ //# sourceMappingURL=mixin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mixin.d.ts","sourceRoot":"","sources":["../../../src/price-discovery/mixin.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,qBAAa,mBAAoB,SAAQ,WAAW;IAClD;;;;;OAKG;IACU,2BAA2B,CACtC,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,YAAY,EAC9B,cAAc,EAAE,oBAAoB,GACnC,OAAO,CAAC,mBAAmB,CAAC;CAUhC"}
@@ -0,0 +1,21 @@
1
+ import { BaseCoreSDK } from "./../mixins/base-core-sdk";
2
+ import { commitToPriceDiscoveryOffer } from "./handler";
3
+ export class PriceDiscoveryMixin extends BaseCoreSDK {
4
+ /**
5
+ * Commits to a price discovery offer (first step of an exchange)
6
+ * @param groupToCreate - group with the contract condition
7
+ * @param overrides - Optional overrides.
8
+ * @returns Transaction response.
9
+ */
10
+ async commitToPriceDiscoveryOffer(buyer, tokenIdOrOfferId, priceDiscovery) {
11
+ return commitToPriceDiscoveryOffer({
12
+ buyer,
13
+ tokenIdOrOfferId,
14
+ priceDiscovery,
15
+ web3Lib: this._web3Lib,
16
+ subgraphUrl: this._subgraphUrl,
17
+ contractAddress: this._protocolDiamond
18
+ });
19
+ }
20
+ }
21
+ //# sourceMappingURL=mixin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mixin.js","sourceRoot":"","sources":["../../../src/price-discovery/mixin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC;AAGxD,MAAM,OAAO,mBAAoB,SAAQ,WAAW;IAClD;;;;;OAKG;IACI,KAAK,CAAC,2BAA2B,CACtC,KAAa,EACb,gBAA8B,EAC9B,cAAoC;QAEpC,OAAO,2BAA2B,CAAC;YACjC,KAAK;YACL,gBAAgB;YAChB,cAAc;YACd,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,WAAW,EAAE,IAAI,CAAC,YAAY;YAC9B,eAAe,EAAE,IAAI,CAAC,gBAAgB;SACvC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1,46 +1 @@
1
- import { BigNumberish } from "@ethersproject/bignumber";
2
- export declare enum eOrderType {
3
- FULL_OPEN = 0,
4
- PARTIAL_OPEN = 1,
5
- FULL_RESTRICTED = 2,
6
- PARTIAL_RESTRICTED = 3,
7
- CONTRACT = 4
8
- }
9
- export declare enum eItemType {
10
- NATIVE = 0,
11
- ERC20 = 1,
12
- ERC721 = 2,
13
- ERC1155 = 3,
14
- ERC721_WITH_CRITERIA = 4,
15
- ERC1155_WITH_CRITERIA = 5
16
- }
17
- type OfferItem = {
18
- itemType: eItemType;
19
- token: string;
20
- identifierOrCriteria: BigNumberish;
21
- startAmount: BigNumberish;
22
- endAmount: BigNumberish;
23
- };
24
- type ConsiderationItem = OfferItem & {
25
- recipient: string;
26
- };
27
- type OrderParameters = {
28
- offerer: string;
29
- zone: string;
30
- offer: OfferItem[];
31
- consideration: ConsiderationItem[];
32
- orderType: eOrderType;
33
- startTime: BigNumberish;
34
- endTime: BigNumberish;
35
- zoneHash: string;
36
- salt: BigNumberish;
37
- conduitKey: string;
38
- totalOriginalConsiderationItems: BigNumberish;
39
- };
40
- export type Order = {
41
- parameters: OrderParameters;
42
- signature: string;
43
- };
44
- export declare function encodeValidate(orders: Order[]): string;
45
- export {};
46
1
  //# sourceMappingURL=handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/seaport/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAMxD,oBAAY,UAAU;IACpB,SAAS,IAAI;IACb,YAAY,IAAI;IAChB,eAAe,IAAI;IACnB,kBAAkB,IAAI;IACtB,QAAQ,IAAI;CACb;AAED,oBAAY,SAAS;IACnB,MAAM,IAAI;IACV,KAAK,IAAI;IACT,MAAM,IAAI;IACV,OAAO,IAAI;IACX,oBAAoB,IAAI;IACxB,qBAAqB,IAAI;CAC1B;AAED,KAAK,SAAS,GAAG;IACf,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB,EAAE,YAAY,CAAC;IACnC,WAAW,EAAE,YAAY,CAAC;IAC1B,SAAS,EAAE,YAAY,CAAC;CACzB,CAAC;AAEF,KAAK,iBAAiB,GAAG,SAAS,GAAG;IACnC,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,aAAa,EAAE,iBAAiB,EAAE,CAAC;IACnC,SAAS,EAAE,UAAU,CAAC;IACtB,SAAS,EAAE,YAAY,CAAC;IACxB,OAAO,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,+BAA+B,EAAE,YAAY,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,UAAU,EAAE,eAAe,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,wBAAgB,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,UAE7C"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/seaport/handler.ts"],"names":[],"mappings":""}
@@ -1,24 +1 @@
1
- import { Interface } from "@ethersproject/abi";
2
- import { seaportAbi } from "./abi";
3
- const seaportIface = new Interface(seaportAbi);
4
- export var eOrderType;
5
- (function (eOrderType) {
6
- eOrderType[eOrderType["FULL_OPEN"] = 0] = "FULL_OPEN";
7
- eOrderType[eOrderType["PARTIAL_OPEN"] = 1] = "PARTIAL_OPEN";
8
- eOrderType[eOrderType["FULL_RESTRICTED"] = 2] = "FULL_RESTRICTED";
9
- eOrderType[eOrderType["PARTIAL_RESTRICTED"] = 3] = "PARTIAL_RESTRICTED";
10
- eOrderType[eOrderType["CONTRACT"] = 4] = "CONTRACT";
11
- })(eOrderType || (eOrderType = {}));
12
- export var eItemType;
13
- (function (eItemType) {
14
- eItemType[eItemType["NATIVE"] = 0] = "NATIVE";
15
- eItemType[eItemType["ERC20"] = 1] = "ERC20";
16
- eItemType[eItemType["ERC721"] = 2] = "ERC721";
17
- eItemType[eItemType["ERC1155"] = 3] = "ERC1155";
18
- eItemType[eItemType["ERC721_WITH_CRITERIA"] = 4] = "ERC721_WITH_CRITERIA";
19
- eItemType[eItemType["ERC1155_WITH_CRITERIA"] = 5] = "ERC1155_WITH_CRITERIA";
20
- })(eItemType || (eItemType = {}));
21
- export function encodeValidate(orders) {
22
- return seaportIface.encodeFunctionData("validate", [orders]);
23
- }
24
1
  //# sourceMappingURL=handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/seaport/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,MAAM,YAAY,GAAG,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC;AAE/C,MAAM,CAAN,IAAY,UAMX;AAND,WAAY,UAAU;IACpB,qDAAa,CAAA;IACb,2DAAgB,CAAA;IAChB,iEAAmB,CAAA;IACnB,uEAAsB,CAAA;IACtB,mDAAY,CAAA;AACd,CAAC,EANW,UAAU,KAAV,UAAU,QAMrB;AAED,MAAM,CAAN,IAAY,SAOX;AAPD,WAAY,SAAS;IACnB,6CAAU,CAAA;IACV,2CAAS,CAAA;IACT,6CAAU,CAAA;IACV,+CAAW,CAAA;IACX,yEAAwB,CAAA;IACxB,2EAAyB,CAAA;AAC3B,CAAC,EAPW,SAAS,KAAT,SAAS,QAOpB;AAiCD,MAAM,UAAU,cAAc,CAAC,MAAe;IAC5C,OAAO,YAAY,CAAC,kBAAkB,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/D,CAAC"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/seaport/handler.ts"],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- export * as handler from "./handler";
1
+ export * as iface from "./interface";
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/seaport/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/seaport/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,aAAa,CAAC"}
@@ -1,2 +1,2 @@
1
- export * as handler from "./handler";
1
+ export * as iface from "./interface";
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/seaport/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/seaport/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,aAAa,CAAC"}