@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.
- package/dist/cjs/accounts/interface.d.ts.map +1 -1
- package/dist/cjs/core-sdk.d.ts +3 -1
- package/dist/cjs/core-sdk.d.ts.map +1 -1
- package/dist/cjs/core-sdk.js +5 -1
- package/dist/cjs/core-sdk.js.map +1 -1
- package/dist/cjs/erc721/handler.d.ts +6 -0
- package/dist/cjs/erc721/handler.d.ts.map +1 -1
- package/dist/cjs/erc721/handler.js +13 -1
- package/dist/cjs/erc721/handler.js.map +1 -1
- package/dist/cjs/exchanges/handler.d.ts +8 -1
- package/dist/cjs/exchanges/handler.d.ts.map +1 -1
- package/dist/cjs/exchanges/handler.js +14 -1
- package/dist/cjs/exchanges/handler.js.map +1 -1
- package/dist/cjs/exchanges/mixin.d.ts.map +1 -1
- package/dist/cjs/exchanges/mixin.js +2 -6
- package/dist/cjs/exchanges/mixin.js.map +1 -1
- package/dist/cjs/marketplaces/mixin.d.ts +6 -0
- package/dist/cjs/marketplaces/mixin.d.ts.map +1 -0
- package/dist/cjs/marketplaces/mixin.js +19 -0
- package/dist/cjs/marketplaces/mixin.js.map +1 -0
- package/dist/cjs/marketplaces/opensea.d.ts +62 -0
- package/dist/cjs/marketplaces/opensea.d.ts.map +1 -0
- package/dist/cjs/marketplaces/opensea.js +230 -0
- package/dist/cjs/marketplaces/opensea.js.map +1 -0
- package/dist/cjs/marketplaces/types.d.ts +67 -0
- package/dist/cjs/marketplaces/types.d.ts.map +1 -0
- package/dist/cjs/marketplaces/types.js +18 -0
- package/dist/cjs/marketplaces/types.js.map +1 -0
- package/dist/cjs/price-discovery/handler.d.ts +11 -0
- package/dist/cjs/price-discovery/handler.d.ts.map +1 -0
- package/dist/cjs/price-discovery/handler.js +57 -0
- package/dist/cjs/price-discovery/handler.js.map +1 -0
- package/dist/cjs/price-discovery/index.d.ts +3 -0
- package/dist/cjs/price-discovery/index.d.ts.map +1 -0
- package/dist/cjs/price-discovery/index.js +29 -0
- package/dist/cjs/price-discovery/index.js.map +1 -0
- package/dist/cjs/price-discovery/interface.d.ts +6 -0
- package/dist/cjs/price-discovery/interface.d.ts.map +1 -0
- package/dist/cjs/price-discovery/interface.js +11 -0
- package/dist/cjs/price-discovery/interface.js.map +1 -0
- package/dist/cjs/price-discovery/mixin.d.ts +13 -0
- package/dist/cjs/price-discovery/mixin.d.ts.map +1 -0
- package/dist/cjs/price-discovery/mixin.js +36 -0
- package/dist/cjs/price-discovery/mixin.js.map +1 -0
- package/dist/cjs/seaport/handler.d.ts +0 -45
- package/dist/cjs/seaport/handler.d.ts.map +1 -1
- package/dist/cjs/seaport/handler.js +0 -27
- package/dist/cjs/seaport/handler.js.map +1 -1
- package/dist/cjs/seaport/index.d.ts +1 -1
- package/dist/cjs/seaport/index.d.ts.map +1 -1
- package/dist/cjs/seaport/index.js +2 -2
- package/dist/cjs/seaport/interface.d.ts +71 -0
- package/dist/cjs/seaport/interface.d.ts.map +1 -0
- package/dist/cjs/seaport/interface.js +42 -0
- package/dist/cjs/seaport/interface.js.map +1 -0
- package/dist/cjs/seaport/mixin.d.ts +4 -0
- package/dist/cjs/seaport/mixin.d.ts.map +1 -0
- package/dist/cjs/seaport/mixin.js +8 -0
- package/dist/cjs/seaport/mixin.js.map +1 -0
- package/dist/cjs/voucher/mixin.d.ts +5 -1
- package/dist/cjs/voucher/mixin.d.ts.map +1 -1
- package/dist/cjs/voucher/mixin.js +14 -2
- package/dist/cjs/voucher/mixin.js.map +1 -1
- package/dist/esm/accounts/interface.d.ts.map +1 -1
- package/dist/esm/core-sdk.d.ts +3 -1
- package/dist/esm/core-sdk.d.ts.map +1 -1
- package/dist/esm/core-sdk.js +5 -1
- package/dist/esm/core-sdk.js.map +1 -1
- package/dist/esm/erc721/handler.d.ts +6 -0
- package/dist/esm/erc721/handler.d.ts.map +1 -1
- package/dist/esm/erc721/handler.js +9 -0
- package/dist/esm/erc721/handler.js.map +1 -1
- package/dist/esm/exchanges/handler.d.ts +8 -1
- package/dist/esm/exchanges/handler.d.ts.map +1 -1
- package/dist/esm/exchanges/handler.js +11 -1
- package/dist/esm/exchanges/handler.js.map +1 -1
- package/dist/esm/exchanges/mixin.d.ts.map +1 -1
- package/dist/esm/exchanges/mixin.js +3 -7
- package/dist/esm/exchanges/mixin.js.map +1 -1
- package/dist/esm/marketplaces/mixin.d.ts +6 -0
- package/dist/esm/marketplaces/mixin.d.ts.map +1 -0
- package/dist/esm/marketplaces/mixin.js +15 -0
- package/dist/esm/marketplaces/mixin.js.map +1 -0
- package/dist/esm/marketplaces/opensea.d.ts +62 -0
- package/dist/esm/marketplaces/opensea.d.ts.map +1 -0
- package/dist/esm/marketplaces/opensea.js +214 -0
- package/dist/esm/marketplaces/opensea.js.map +1 -0
- package/dist/esm/marketplaces/types.d.ts +67 -0
- package/dist/esm/marketplaces/types.d.ts.map +1 -0
- package/dist/esm/marketplaces/types.js +15 -0
- package/dist/esm/marketplaces/types.js.map +1 -0
- package/dist/esm/price-discovery/handler.d.ts +11 -0
- package/dist/esm/price-discovery/handler.d.ts.map +1 -0
- package/dist/esm/price-discovery/handler.js +19 -0
- package/dist/esm/price-discovery/handler.js.map +1 -0
- package/dist/esm/price-discovery/index.d.ts +3 -0
- package/dist/esm/price-discovery/index.d.ts.map +1 -0
- package/dist/esm/price-discovery/index.js +3 -0
- package/dist/esm/price-discovery/index.js.map +1 -0
- package/dist/esm/price-discovery/interface.d.ts +6 -0
- package/dist/esm/price-discovery/interface.d.ts.map +1 -0
- package/dist/esm/price-discovery/interface.js +7 -0
- package/dist/esm/price-discovery/interface.js.map +1 -0
- package/dist/esm/price-discovery/mixin.d.ts +13 -0
- package/dist/esm/price-discovery/mixin.d.ts.map +1 -0
- package/dist/esm/price-discovery/mixin.js +21 -0
- package/dist/esm/price-discovery/mixin.js.map +1 -0
- package/dist/esm/seaport/handler.d.ts +0 -45
- package/dist/esm/seaport/handler.d.ts.map +1 -1
- package/dist/esm/seaport/handler.js +0 -23
- package/dist/esm/seaport/handler.js.map +1 -1
- package/dist/esm/seaport/index.d.ts +1 -1
- package/dist/esm/seaport/index.d.ts.map +1 -1
- package/dist/esm/seaport/index.js +1 -1
- package/dist/esm/seaport/index.js.map +1 -1
- package/dist/esm/seaport/interface.d.ts +71 -0
- package/dist/esm/seaport/interface.d.ts.map +1 -0
- package/dist/esm/seaport/interface.js +37 -0
- package/dist/esm/seaport/interface.js.map +1 -0
- package/dist/esm/seaport/mixin.d.ts +4 -0
- package/dist/esm/seaport/mixin.d.ts.map +1 -0
- package/dist/esm/seaport/mixin.js +4 -0
- package/dist/esm/seaport/mixin.js.map +1 -0
- package/dist/esm/voucher/mixin.d.ts +5 -1
- package/dist/esm/voucher/mixin.d.ts.map +1 -1
- package/dist/esm/voucher/mixin.js +12 -2
- package/dist/esm/voucher/mixin.js.map +1 -1
- package/package.json +4 -3
- package/src/accounts/interface.ts +1 -1
- package/src/core-sdk.ts +8 -2
- package/src/erc721/handler.ts +15 -0
- package/src/exchanges/handler.ts +19 -2
- package/src/exchanges/mixin.ts +5 -6
- package/src/marketplaces/mixin.ts +24 -0
- package/src/marketplaces/opensea.ts +361 -0
- package/src/marketplaces/types.ts +73 -0
- package/src/price-discovery/handler.ts +37 -0
- package/src/price-discovery/index.ts +2 -0
- package/src/price-discovery/interface.ts +18 -0
- package/src/price-discovery/mixin.ts +30 -0
- package/src/seaport/handler.ts +0 -57
- package/src/seaport/index.ts +1 -1
- package/src/seaport/interface.ts +100 -0
- package/src/seaport/mixin.ts +3 -0
- package/src/voucher/mixin.ts +21 -2
|
@@ -0,0 +1,71 @@
|
|
|
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 type AdvancedOrder = Order & {
|
|
45
|
+
numerator: BigNumberish;
|
|
46
|
+
denominator: BigNumberish;
|
|
47
|
+
extraData: string;
|
|
48
|
+
};
|
|
49
|
+
export declare enum Side {
|
|
50
|
+
OFFER = 0,
|
|
51
|
+
CONSIDERATION = 1
|
|
52
|
+
}
|
|
53
|
+
export type CriteriaResolver = {
|
|
54
|
+
orderIndex: BigNumberish;
|
|
55
|
+
side: number;
|
|
56
|
+
index: BigNumberish;
|
|
57
|
+
identifier: BigNumberish;
|
|
58
|
+
criteriaProof: string[];
|
|
59
|
+
};
|
|
60
|
+
export type Fulfillment = {
|
|
61
|
+
offerComponents: FulfillmentComponent[];
|
|
62
|
+
considerationComponents: FulfillmentComponent[];
|
|
63
|
+
};
|
|
64
|
+
export type FulfillmentComponent = {
|
|
65
|
+
orderIndex: BigNumberish;
|
|
66
|
+
itemIndex: BigNumberish;
|
|
67
|
+
};
|
|
68
|
+
export declare function encodeValidate(orders: Order[]): string;
|
|
69
|
+
export declare function encodeMatchAdvancedOrders(advancedOrders: AdvancedOrder[], criteriaResolvers: CriteriaResolver[], fulfillments: Fulfillment[], recipient: string): string;
|
|
70
|
+
export {};
|
|
71
|
+
//# sourceMappingURL=interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/seaport/interface.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIxD,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,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG;IAClC,SAAS,EAAE,YAAY,CAAC;IACxB,WAAW,EAAE,YAAY,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,oBAAY,IAAI;IACd,KAAK,IAAI;IACT,aAAa,IAAI;CAClB;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,YAAY,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,YAAY,CAAC;IACpB,UAAU,EAAE,YAAY,CAAC;IACzB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,eAAe,EAAE,oBAAoB,EAAE,CAAC;IACxC,uBAAuB,EAAE,oBAAoB,EAAE,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,EAAE,YAAY,CAAC;IACzB,SAAS,EAAE,YAAY,CAAC;CACzB,CAAC;AAEF,wBAAgB,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,UAE7C;AAED,wBAAgB,yBAAyB,CACvC,cAAc,EAAE,aAAa,EAAE,EAC/B,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,YAAY,EAAE,WAAW,EAAE,EAC3B,SAAS,EAAE,MAAM,UAQlB"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { abis } from "@bosonprotocol/common";
|
|
2
|
+
import { Interface } from "@ethersproject/abi";
|
|
3
|
+
const seaportIface = new Interface(abis.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 var Side;
|
|
22
|
+
(function (Side) {
|
|
23
|
+
Side[Side["OFFER"] = 0] = "OFFER";
|
|
24
|
+
Side[Side["CONSIDERATION"] = 1] = "CONSIDERATION"; // items that must be received
|
|
25
|
+
})(Side || (Side = {}));
|
|
26
|
+
export function encodeValidate(orders) {
|
|
27
|
+
return seaportIface.encodeFunctionData("validate", [orders]);
|
|
28
|
+
}
|
|
29
|
+
export function encodeMatchAdvancedOrders(advancedOrders, criteriaResolvers, fulfillments, recipient) {
|
|
30
|
+
return seaportIface.encodeFunctionData("matchAdvancedOrders", [
|
|
31
|
+
advancedOrders,
|
|
32
|
+
criteriaResolvers,
|
|
33
|
+
fulfillments,
|
|
34
|
+
recipient
|
|
35
|
+
]);
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=interface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../src/seaport/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,MAAM,YAAY,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAEpD,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;AAuCD,MAAM,CAAN,IAAY,IAGX;AAHD,WAAY,IAAI;IACd,iCAAS,CAAA;IACT,iDAAiB,CAAA,CAAC,8BAA8B;AAClD,CAAC,EAHW,IAAI,KAAJ,IAAI,QAGf;AAoBD,MAAM,UAAU,cAAc,CAAC,MAAe;IAC5C,OAAO,YAAY,CAAC,kBAAkB,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,cAA+B,EAC/B,iBAAqC,EACrC,YAA2B,EAC3B,SAAiB;IAEjB,OAAO,YAAY,CAAC,kBAAkB,CAAC,qBAAqB,EAAE;QAC5D,cAAc;QACd,iBAAiB;QACjB,YAAY;QACZ,SAAS;KACV,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mixin.d.ts","sourceRoot":"","sources":["../../../src/seaport/mixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,qBAAa,YAAa,SAAQ,WAAW;CAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mixin.js","sourceRoot":"","sources":["../../../src/seaport/mixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,MAAM,OAAO,YAAa,SAAQ,WAAW;CAAG"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { TransactionResponse } from "@bosonprotocol/common";
|
|
2
2
|
import { Range } from "@bosonprotocol/common/src/types";
|
|
3
3
|
import { BigNumberish } from "@ethersproject/bignumber";
|
|
4
|
-
import { Order as SeaportOrder } from "../seaport/
|
|
4
|
+
import { Order as SeaportOrder } from "../seaport/interface";
|
|
5
5
|
import { BaseCoreSDK } from "./../mixins/base-core-sdk";
|
|
6
6
|
export declare class VoucherMixin extends BaseCoreSDK {
|
|
7
7
|
/**
|
|
@@ -57,6 +57,10 @@ export declare class VoucherMixin extends BaseCoreSDK {
|
|
|
57
57
|
setApprovalForAllToContract(operator: string, approved: boolean, overrides?: Partial<{
|
|
58
58
|
contractAddress: string;
|
|
59
59
|
}>): Promise<TransactionResponse>;
|
|
60
|
+
approveProtocolForAll(overrides?: Partial<{
|
|
61
|
+
operator: string;
|
|
62
|
+
contractAddress: string;
|
|
63
|
+
}>): Promise<TransactionResponse>;
|
|
60
64
|
setContractURI(contractURI: string, collectionIndex: BigNumberish): Promise<TransactionResponse>;
|
|
61
65
|
validateSeaportOrders(openseaConduit: string, seaportContract: string, orders: SeaportOrder[], overrides?: Partial<{
|
|
62
66
|
contractAddress: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mixin.d.ts","sourceRoot":"","sources":["../../../src/voucher/mixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AACxD,OAAO,EAAa,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAInE,OAAO,EAAkB,KAAK,IAAI,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"mixin.d.ts","sourceRoot":"","sources":["../../../src/voucher/mixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AACxD,OAAO,EAAa,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAInE,OAAO,EAAkB,KAAK,IAAI,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,qBAAa,YAAa,SAAQ,WAAW;IAC3C;;;;;OAKG;IACU,qBAAqB,CAChC,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,YAAY,EACpB,SAAS,GAAE,OAAO,CAAC;QACjB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAM,GACN,OAAO,CAAC,mBAAmB,CAAC;IAY/B;;;;;OAKG;IACU,oBAAoB,CAC/B,OAAO,EAAE,YAAY,EACrB,SAAS,GAAE,OAAO,CAAC;QACjB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAM,GACN,OAAO,CAAC,MAAM,CAAC;IAWlB;;;;;OAKG;IACU,iBAAiB,CAC5B,OAAO,EAAE,YAAY,EACrB,SAAS,GAAE,OAAO,CAAC;QACjB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAM,GACN,OAAO,CAAC,KAAK,CAAC;IAWjB;;;;;OAKG;IACU,OAAO,CAClB,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,YAAY,EACpB,SAAS,GAAE,OAAO,CAAC;QACjB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAM,GACN,OAAO,CAAC,mBAAmB,CAAC;IAY/B;;;;;OAKG;IACU,YAAY,CACvB,OAAO,EAAE,YAAY,EACrB,EAAE,EAAE,YAAY,EAChB,OAAO,EAAE,YAAY,EACrB,SAAS,GAAE,OAAO,CAAC;QACjB,KAAK,EAAE,YAAY,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAM,GACN,OAAO,CAAC,mBAAmB,CAAC;IAclB,gBAAgB,CAC3B,QAAQ,EAAE,MAAM,EAChB,SAAS,GAAE,OAAO,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,eAAe,EAAE,MAAM,CAAC;KACzB,CAAM;IAeI,2BAA2B,CACtC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,OAAO,EACjB,SAAS,GAAE,OAAO,CAAC;QACjB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAM;IAeI,qBAAqB,CAChC,SAAS,GAAE,OAAO,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAM;IAeI,cAAc,CACzB,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,YAAY,GAC5B,OAAO,CAAC,mBAAmB,CAAC;IAwBlB,qBAAqB,CAChC,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,YAAY,EAAE,EACtB,SAAS,GAAE,OAAO,CAAC;QACjB,eAAe,EAAE,MAAM,CAAC;QACxB,eAAe,EAAE,OAAO,CAAC;KAC1B,CAA6B;CA6BjC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { BigNumber } from "@ethersproject/bignumber";
|
|
2
2
|
import { handler } from ".";
|
|
3
|
-
import { accounts } from "..";
|
|
3
|
+
import { accounts, erc721 } from "..";
|
|
4
4
|
import { getOfferById } from "../offers/subgraph";
|
|
5
|
-
import { encodeValidate } from "../seaport/
|
|
5
|
+
import { encodeValidate } from "../seaport/interface";
|
|
6
6
|
import { BaseCoreSDK } from "./../mixins/base-core-sdk";
|
|
7
7
|
export class VoucherMixin extends BaseCoreSDK {
|
|
8
8
|
/**
|
|
@@ -104,6 +104,16 @@ export class VoucherMixin extends BaseCoreSDK {
|
|
|
104
104
|
web3Lib: this._web3Lib
|
|
105
105
|
});
|
|
106
106
|
}
|
|
107
|
+
async approveProtocolForAll(overrides = {}) {
|
|
108
|
+
const sellerAddress = await this._web3Lib.getSignerAddress();
|
|
109
|
+
const seller = await accounts.subgraph.getSellerByAddress(this._subgraphUrl, sellerAddress);
|
|
110
|
+
return erc721.handler.setApprovalForAll({
|
|
111
|
+
operator: overrides.operator || this._protocolDiamond,
|
|
112
|
+
approved: true,
|
|
113
|
+
contractAddress: overrides.contractAddress || seller.voucherCloneAddress,
|
|
114
|
+
web3Lib: this._web3Lib
|
|
115
|
+
});
|
|
116
|
+
}
|
|
107
117
|
async setContractURI(contractURI, collectionIndex) {
|
|
108
118
|
const sellerAddress = await this._web3Lib.getSignerAddress();
|
|
109
119
|
const seller = await accounts.subgraph.getSellerByAddress(this._subgraphUrl, sellerAddress);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mixin.js","sourceRoot":"","sources":["../../../src/voucher/mixin.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAgB,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"mixin.js","sourceRoot":"","sources":["../../../src/voucher/mixin.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bosonprotocol/core-sdk",
|
|
3
|
-
"version": "1.40.
|
|
3
|
+
"version": "1.40.2-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.27.
|
|
38
|
+
"@bosonprotocol/common": "^1.27.2-alpha.0",
|
|
39
39
|
"@ethersproject/abi": "^5.5.0",
|
|
40
40
|
"@ethersproject/address": "^5.5.0",
|
|
41
41
|
"@ethersproject/bignumber": "^5.5.0",
|
|
@@ -46,6 +46,7 @@
|
|
|
46
46
|
"graphql": "^16.5.0",
|
|
47
47
|
"graphql-request": "^4.3.0",
|
|
48
48
|
"mustache": "^4.2.0",
|
|
49
|
+
"opensea-js": "^7.1.5",
|
|
49
50
|
"schema-to-yup": "^1.11.11",
|
|
50
51
|
"yup": "^0.32.11"
|
|
51
52
|
},
|
|
@@ -61,5 +62,5 @@
|
|
|
61
62
|
"overrides": {
|
|
62
63
|
"typescript": "^5.1.6"
|
|
63
64
|
},
|
|
64
|
-
"gitHead": "
|
|
65
|
+
"gitHead": "9e1e68033ed1d3b8cea2d5021cbdeb28abe8633c"
|
|
65
66
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Interface } from "@ethersproject/abi";
|
|
2
2
|
import { formatBytes32String } from "@ethersproject/strings";
|
|
3
|
-
import { BigNumberish
|
|
3
|
+
import { BigNumberish } from "@ethersproject/bignumber";
|
|
4
4
|
import {
|
|
5
5
|
CreateSellerArgs,
|
|
6
6
|
CreateDisputeResolverArgs,
|
package/src/core-sdk.ts
CHANGED
|
@@ -27,6 +27,8 @@ import { ERC165Mixin } from "./erc165/mixin";
|
|
|
27
27
|
import { ProtocolConfigMixin } from "./protocol-config/mixin";
|
|
28
28
|
import { ErrorMixin } from "./errors/mixin";
|
|
29
29
|
import { SubgraphMixin } from "./subgraph/mixin";
|
|
30
|
+
import { PriceDiscoveryMixin } from "./price-discovery/mixin";
|
|
31
|
+
import { MarketplaceMixin } from "./marketplaces/mixin";
|
|
30
32
|
|
|
31
33
|
export class CoreSDK extends BaseCoreSDK {
|
|
32
34
|
/**
|
|
@@ -149,7 +151,9 @@ export interface CoreSDK
|
|
|
149
151
|
ERC165Mixin,
|
|
150
152
|
ProtocolConfigMixin,
|
|
151
153
|
ErrorMixin,
|
|
152
|
-
SubgraphMixin
|
|
154
|
+
SubgraphMixin,
|
|
155
|
+
PriceDiscoveryMixin,
|
|
156
|
+
MarketplaceMixin {}
|
|
153
157
|
applyMixins(CoreSDK, [
|
|
154
158
|
MetadataMixin,
|
|
155
159
|
AccountsMixin,
|
|
@@ -169,5 +173,7 @@ applyMixins(CoreSDK, [
|
|
|
169
173
|
ERC165Mixin,
|
|
170
174
|
ProtocolConfigMixin,
|
|
171
175
|
ErrorMixin,
|
|
172
|
-
SubgraphMixin
|
|
176
|
+
SubgraphMixin,
|
|
177
|
+
PriceDiscoveryMixin,
|
|
178
|
+
MarketplaceMixin
|
|
173
179
|
]);
|
package/src/erc721/handler.ts
CHANGED
|
@@ -95,3 +95,18 @@ export async function tokenOfOwnerByIndex(args: {
|
|
|
95
95
|
);
|
|
96
96
|
return String(tokenId);
|
|
97
97
|
}
|
|
98
|
+
|
|
99
|
+
export async function setApprovalForAll(args: {
|
|
100
|
+
contractAddress: string;
|
|
101
|
+
operator: string;
|
|
102
|
+
approved: boolean;
|
|
103
|
+
web3Lib: Web3LibAdapter;
|
|
104
|
+
}) {
|
|
105
|
+
return args.web3Lib.sendTransaction({
|
|
106
|
+
to: args.contractAddress,
|
|
107
|
+
data: erc721Iface.encodeFunctionData("setApprovalForAll", [
|
|
108
|
+
args.operator,
|
|
109
|
+
args.approved
|
|
110
|
+
])
|
|
111
|
+
});
|
|
112
|
+
}
|
package/src/exchanges/handler.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BigNumberish } from "@ethersproject/bignumber";
|
|
1
|
+
import { BigNumberish, BigNumber } from "@ethersproject/bignumber";
|
|
2
2
|
import { AddressZero } from "@ethersproject/constants";
|
|
3
3
|
import { Web3LibAdapter, TransactionResponse } from "@bosonprotocol/common";
|
|
4
4
|
import {
|
|
@@ -26,7 +26,7 @@ type BaseExchangeHandlerArgs = {
|
|
|
26
26
|
web3Lib: Web3LibAdapter;
|
|
27
27
|
};
|
|
28
28
|
|
|
29
|
-
function checkOfferIsCommittable(
|
|
29
|
+
export function checkOfferIsCommittable(
|
|
30
30
|
offerId: BigNumberish,
|
|
31
31
|
offer: OfferFieldsFragment
|
|
32
32
|
) {
|
|
@@ -339,3 +339,20 @@ function assertCompletableExchange(
|
|
|
339
339
|
}
|
|
340
340
|
}
|
|
341
341
|
}
|
|
342
|
+
|
|
343
|
+
export function getExchangeTokenId(
|
|
344
|
+
exchangeId: BigNumberish,
|
|
345
|
+
offerId: BigNumberish
|
|
346
|
+
): BigNumber {
|
|
347
|
+
// Since v2.2.1, tokenId = exchangeId | offerId << 128
|
|
348
|
+
return BigNumber.from(offerId).shl(128).add(exchangeId);
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
export function parseTokenId(tokenId: BigNumberish): {
|
|
352
|
+
offerId: BigNumber;
|
|
353
|
+
exchangeId: BigNumber;
|
|
354
|
+
} {
|
|
355
|
+
const offerId = BigNumber.from(tokenId).shr(128);
|
|
356
|
+
const exchangeId = BigNumber.from(tokenId).mask(128);
|
|
357
|
+
return { offerId, exchangeId };
|
|
358
|
+
}
|
package/src/exchanges/mixin.ts
CHANGED
|
@@ -11,7 +11,9 @@ import {
|
|
|
11
11
|
completeExchange,
|
|
12
12
|
completeExchangeBatch,
|
|
13
13
|
expireVoucher,
|
|
14
|
-
commitToConditionalOffer
|
|
14
|
+
commitToConditionalOffer,
|
|
15
|
+
getExchangeTokenId,
|
|
16
|
+
parseTokenId
|
|
15
17
|
} from "./handler";
|
|
16
18
|
import { getExchangeById, getExchanges } from "./subgraph";
|
|
17
19
|
import { bosonExchangeHandlerIface } from "./interface";
|
|
@@ -213,16 +215,13 @@ export class ExchangesMixin extends BaseCoreSDK {
|
|
|
213
215
|
exchangeId: BigNumberish,
|
|
214
216
|
offerId: BigNumberish
|
|
215
217
|
): BigNumber {
|
|
216
|
-
|
|
217
|
-
return BigNumber.from(offerId).shl(128).add(exchangeId);
|
|
218
|
+
return getExchangeTokenId(exchangeId, offerId);
|
|
218
219
|
}
|
|
219
220
|
|
|
220
221
|
public parseTokenId(tokenId: BigNumberish): {
|
|
221
222
|
offerId: BigNumber;
|
|
222
223
|
exchangeId: BigNumber;
|
|
223
224
|
} {
|
|
224
|
-
|
|
225
|
-
const exchangeId = BigNumber.from(tokenId).mask(128);
|
|
226
|
-
return { offerId, exchangeId };
|
|
225
|
+
return parseTokenId(tokenId);
|
|
227
226
|
}
|
|
228
227
|
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { BaseCoreSDK } from "./../mixins/base-core-sdk";
|
|
2
|
+
import { OpenSeaMarketplace, OpenSeaSDKHandler } from "./opensea";
|
|
3
|
+
import { MarketplaceType, MarketplaceHandler, Marketplace } from "./types";
|
|
4
|
+
|
|
5
|
+
export class MarketplaceMixin extends BaseCoreSDK {
|
|
6
|
+
public marketplace(
|
|
7
|
+
type: MarketplaceType,
|
|
8
|
+
handler: MarketplaceHandler,
|
|
9
|
+
feeRecipient: string
|
|
10
|
+
): Marketplace {
|
|
11
|
+
switch (type) {
|
|
12
|
+
case MarketplaceType.OPENSEA: {
|
|
13
|
+
return new OpenSeaMarketplace(
|
|
14
|
+
type,
|
|
15
|
+
handler as OpenSeaSDKHandler,
|
|
16
|
+
this._contracts,
|
|
17
|
+
feeRecipient
|
|
18
|
+
);
|
|
19
|
+
}
|
|
20
|
+
default:
|
|
21
|
+
throw new Error(`Not Supported Marketplace Type '${type}'`);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|