@bosonprotocol/core-sdk 1.25.0-alpha.2 → 1.25.0-alpha.21
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/mixin.d.ts +4 -4
- package/dist/cjs/accounts/mixin.d.ts.map +1 -1
- package/dist/cjs/accounts/mixin.js +8 -8
- package/dist/cjs/accounts/mixin.js.map +1 -1
- package/dist/cjs/accounts/subgraph.d.ts +1 -1
- package/dist/cjs/accounts/subgraph.d.ts.map +1 -1
- package/dist/cjs/accounts/subgraph.js +7 -7
- package/dist/cjs/accounts/subgraph.js.map +1 -1
- package/dist/cjs/accounts/types.d.ts +1 -1
- package/dist/cjs/accounts/types.d.ts.map +1 -1
- package/dist/cjs/core-sdk.d.ts +1 -0
- package/dist/cjs/core-sdk.d.ts.map +1 -1
- package/dist/cjs/core-sdk.js +3 -0
- package/dist/cjs/core-sdk.js.map +1 -1
- package/dist/cjs/erc1155/mixin.d.ts +1 -1
- package/dist/cjs/erc1155/mixin.d.ts.map +1 -1
- package/dist/cjs/erc1155/mixin.js +2 -2
- package/dist/cjs/erc1155/mixin.js.map +1 -1
- package/dist/cjs/erc20/mixin.d.ts +7 -7
- package/dist/cjs/erc20/mixin.d.ts.map +1 -1
- package/dist/cjs/erc20/mixin.js +14 -14
- package/dist/cjs/erc20/mixin.js.map +1 -1
- package/dist/cjs/erc721/mixin.d.ts +3 -3
- package/dist/cjs/erc721/mixin.d.ts.map +1 -1
- package/dist/cjs/erc721/mixin.js +6 -6
- package/dist/cjs/erc721/mixin.js.map +1 -1
- package/dist/cjs/exchanges/handler.js +12 -12
- package/dist/cjs/exchanges/handler.js.map +1 -1
- package/dist/cjs/exchanges/mixin.d.ts +3 -3
- package/dist/cjs/exchanges/mixin.js +3 -3
- package/dist/cjs/forwarder/handler.d.ts +1 -1
- package/dist/cjs/forwarder/handler.d.ts.map +1 -1
- package/dist/cjs/forwarder/handler.js +2 -4
- package/dist/cjs/forwarder/handler.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/meta-tx/biconomy.d.ts +17 -3
- package/dist/cjs/meta-tx/biconomy.d.ts.map +1 -1
- package/dist/cjs/meta-tx/biconomy.js +19 -0
- package/dist/cjs/meta-tx/biconomy.js.map +1 -1
- package/dist/cjs/meta-tx/handler.d.ts +38 -4
- package/dist/cjs/meta-tx/handler.d.ts.map +1 -1
- package/dist/cjs/meta-tx/handler.js +92 -23
- package/dist/cjs/meta-tx/handler.js.map +1 -1
- package/dist/cjs/meta-tx/mixin.d.ts +25 -3
- package/dist/cjs/meta-tx/mixin.d.ts.map +1 -1
- package/dist/cjs/meta-tx/mixin.js +51 -22
- package/dist/cjs/meta-tx/mixin.js.map +1 -1
- package/dist/cjs/offers/handler.d.ts +15 -0
- package/dist/cjs/offers/handler.d.ts.map +1 -1
- package/dist/cjs/offers/handler.js +28 -4
- package/dist/cjs/offers/handler.js.map +1 -1
- package/dist/cjs/offers/interface.d.ts +1 -1
- package/dist/cjs/offers/interface.d.ts.map +1 -1
- package/dist/cjs/offers/interface.js +3 -2
- package/dist/cjs/offers/interface.js.map +1 -1
- package/dist/cjs/offers/mixin.d.ts +26 -3
- package/dist/cjs/offers/mixin.d.ts.map +1 -1
- package/dist/cjs/offers/mixin.js +46 -3
- package/dist/cjs/offers/mixin.js.map +1 -1
- package/dist/cjs/offers/renderContractualAgreement.d.ts.map +1 -1
- package/dist/cjs/offers/renderContractualAgreement.js +5 -4
- package/dist/cjs/offers/renderContractualAgreement.js.map +1 -1
- package/dist/cjs/seaport/abi.d.ts +41 -0
- package/dist/cjs/seaport/abi.d.ts.map +1 -0
- package/dist/cjs/seaport/abi.js +153 -0
- package/dist/cjs/seaport/abi.js.map +1 -0
- package/dist/cjs/seaport/handler.d.ts +46 -0
- package/dist/cjs/seaport/handler.d.ts.map +1 -0
- package/dist/cjs/seaport/handler.js +28 -0
- package/dist/cjs/seaport/handler.js.map +1 -0
- package/dist/cjs/seaport/index.d.ts +2 -0
- package/dist/cjs/seaport/index.d.ts.map +1 -0
- package/dist/cjs/seaport/index.js +28 -0
- package/dist/cjs/seaport/index.js.map +1 -0
- package/dist/cjs/subgraph.d.ts +1451 -212
- package/dist/cjs/subgraph.d.ts.map +1 -1
- package/dist/cjs/subgraph.js +67 -11
- package/dist/cjs/subgraph.js.map +1 -1
- package/dist/cjs/voucher/handler.d.ts +31 -0
- package/dist/cjs/voucher/handler.d.ts.map +1 -1
- package/dist/cjs/voucher/handler.js +57 -1
- package/dist/cjs/voucher/handler.js.map +1 -1
- package/dist/cjs/voucher/interface.d.ts +8 -0
- package/dist/cjs/voucher/interface.d.ts.map +1 -1
- package/dist/cjs/voucher/interface.js +81 -1
- package/dist/cjs/voucher/interface.js.map +1 -1
- package/dist/cjs/voucher/mixin.d.ts +11 -0
- package/dist/cjs/voucher/mixin.d.ts.map +1 -1
- package/dist/cjs/voucher/mixin.js +47 -0
- package/dist/cjs/voucher/mixin.js.map +1 -1
- package/dist/esm/accounts/mixin.d.ts +4 -4
- package/dist/esm/accounts/mixin.d.ts.map +1 -1
- package/dist/esm/accounts/mixin.js +8 -8
- package/dist/esm/accounts/mixin.js.map +1 -1
- package/dist/esm/accounts/subgraph.d.ts +1 -1
- package/dist/esm/accounts/subgraph.d.ts.map +1 -1
- package/dist/esm/accounts/subgraph.js +5 -5
- package/dist/esm/accounts/subgraph.js.map +1 -1
- package/dist/esm/accounts/types.d.ts +1 -1
- package/dist/esm/accounts/types.d.ts.map +1 -1
- package/dist/esm/core-sdk.d.ts +1 -0
- package/dist/esm/core-sdk.d.ts.map +1 -1
- package/dist/esm/core-sdk.js +3 -0
- package/dist/esm/core-sdk.js.map +1 -1
- package/dist/esm/erc1155/mixin.d.ts +1 -1
- package/dist/esm/erc1155/mixin.d.ts.map +1 -1
- package/dist/esm/erc1155/mixin.js +2 -2
- package/dist/esm/erc1155/mixin.js.map +1 -1
- package/dist/esm/erc20/mixin.d.ts +7 -7
- package/dist/esm/erc20/mixin.d.ts.map +1 -1
- package/dist/esm/erc20/mixin.js +14 -14
- package/dist/esm/erc20/mixin.js.map +1 -1
- package/dist/esm/erc721/mixin.d.ts +3 -3
- package/dist/esm/erc721/mixin.d.ts.map +1 -1
- package/dist/esm/erc721/mixin.js +6 -6
- package/dist/esm/erc721/mixin.js.map +1 -1
- package/dist/esm/exchanges/handler.js +12 -12
- package/dist/esm/exchanges/handler.js.map +1 -1
- package/dist/esm/exchanges/mixin.d.ts +3 -3
- package/dist/esm/exchanges/mixin.js +3 -3
- package/dist/esm/forwarder/handler.d.ts +1 -1
- package/dist/esm/forwarder/handler.d.ts.map +1 -1
- package/dist/esm/forwarder/handler.js +2 -4
- package/dist/esm/forwarder/handler.js.map +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/meta-tx/biconomy.d.ts +17 -3
- package/dist/esm/meta-tx/biconomy.d.ts.map +1 -1
- package/dist/esm/meta-tx/biconomy.js +17 -0
- package/dist/esm/meta-tx/biconomy.js.map +1 -1
- package/dist/esm/meta-tx/handler.d.ts +38 -4
- package/dist/esm/meta-tx/handler.d.ts.map +1 -1
- package/dist/esm/meta-tx/handler.js +118 -21
- package/dist/esm/meta-tx/handler.js.map +1 -1
- package/dist/esm/meta-tx/mixin.d.ts +25 -3
- package/dist/esm/meta-tx/mixin.d.ts.map +1 -1
- package/dist/esm/meta-tx/mixin.js +67 -17
- package/dist/esm/meta-tx/mixin.js.map +1 -1
- package/dist/esm/offers/handler.d.ts +15 -0
- package/dist/esm/offers/handler.d.ts.map +1 -1
- package/dist/esm/offers/handler.js +21 -3
- package/dist/esm/offers/handler.js.map +1 -1
- package/dist/esm/offers/interface.d.ts +1 -1
- package/dist/esm/offers/interface.d.ts.map +1 -1
- package/dist/esm/offers/interface.js +3 -2
- package/dist/esm/offers/interface.js.map +1 -1
- package/dist/esm/offers/mixin.d.ts +26 -3
- package/dist/esm/offers/mixin.d.ts.map +1 -1
- package/dist/esm/offers/mixin.js +42 -3
- package/dist/esm/offers/mixin.js.map +1 -1
- package/dist/esm/offers/renderContractualAgreement.d.ts.map +1 -1
- package/dist/esm/offers/renderContractualAgreement.js +5 -4
- package/dist/esm/offers/renderContractualAgreement.js.map +1 -1
- package/dist/esm/seaport/abi.d.ts +41 -0
- package/dist/esm/seaport/abi.d.ts.map +1 -0
- package/dist/esm/seaport/abi.js +150 -0
- package/dist/esm/seaport/abi.js.map +1 -0
- package/dist/esm/seaport/handler.d.ts +46 -0
- package/dist/esm/seaport/handler.d.ts.map +1 -0
- package/dist/esm/seaport/handler.js +24 -0
- package/dist/esm/seaport/handler.js.map +1 -0
- package/dist/esm/seaport/index.d.ts +2 -0
- package/dist/esm/seaport/index.d.ts.map +1 -0
- package/dist/esm/seaport/index.js +2 -0
- package/dist/esm/seaport/index.js.map +1 -0
- package/dist/esm/subgraph.d.ts +1451 -212
- package/dist/esm/subgraph.d.ts.map +1 -1
- package/dist/esm/subgraph.js +64 -8
- package/dist/esm/subgraph.js.map +1 -1
- package/dist/esm/voucher/handler.d.ts +31 -0
- package/dist/esm/voucher/handler.d.ts.map +1 -1
- package/dist/esm/voucher/handler.js +39 -1
- package/dist/esm/voucher/handler.js.map +1 -1
- package/dist/esm/voucher/interface.d.ts +8 -0
- package/dist/esm/voucher/interface.d.ts.map +1 -1
- package/dist/esm/voucher/interface.js +72 -0
- package/dist/esm/voucher/interface.js.map +1 -1
- package/dist/esm/voucher/mixin.d.ts +11 -0
- package/dist/esm/voucher/mixin.d.ts.map +1 -1
- package/dist/esm/voucher/mixin.js +41 -0
- package/dist/esm/voucher/mixin.js.map +1 -1
- package/package.json +3 -3
- package/src/accounts/interface.ts +1 -1
- package/src/accounts/mixin.ts +15 -14
- package/src/accounts/queries.graphql +4 -4
- package/src/accounts/subgraph.ts +6 -6
- package/src/accounts/types.ts +1 -1
- package/src/core-sdk.ts +4 -0
- package/src/erc1155/mixin.ts +2 -2
- package/src/erc20/mixin.ts +14 -14
- package/src/erc721/mixin.ts +6 -6
- package/src/exchanges/handler.ts +13 -13
- package/src/exchanges/mixin.ts +3 -3
- package/src/forwarder/handler.ts +3 -5
- package/src/index.ts +1 -0
- package/src/meta-tx/biconomy.ts +35 -2
- package/src/meta-tx/handler.ts +202 -31
- package/src/meta-tx/mixin.ts +135 -21
- package/src/metadata/base.graphql +3 -0
- package/src/metadata/product-v1.graphql +12 -0
- package/src/offers/handler.ts +36 -3
- package/src/offers/interface.ts +4 -2
- package/src/offers/mixin.ts +57 -2
- package/src/offers/queries.graphql +13 -0
- package/src/offers/renderContractualAgreement.ts +6 -9
- package/src/seaport/abi.ts +149 -0
- package/src/seaport/handler.ts +57 -0
- package/src/seaport/index.ts +1 -0
- package/src/subgraph.ts +1501 -216
- package/src/voucher/handler.ts +78 -1
- package/src/voucher/interface.ts +88 -0
- package/src/voucher/mixin.ts +76 -0
package/src/voucher/handler.ts
CHANGED
|
@@ -5,12 +5,20 @@ import {
|
|
|
5
5
|
decodeGetAvailablePreMints,
|
|
6
6
|
decodeGetRangeByOfferId,
|
|
7
7
|
decodeIsApprovedForAll,
|
|
8
|
+
decodeIsTrustedForwarder,
|
|
9
|
+
decodeOwner,
|
|
8
10
|
encodeBurnPremintedVouchers,
|
|
11
|
+
encodeCallExternalContract,
|
|
9
12
|
encodeGetAvailablePreMints,
|
|
10
13
|
encodeGetRangeByOfferId,
|
|
11
14
|
encodeIsApprovedForAll,
|
|
15
|
+
encodeIsTrustedForwarder,
|
|
16
|
+
encodeOwner,
|
|
12
17
|
encodePreMint,
|
|
13
|
-
|
|
18
|
+
encodeSetApprovalForAllToContract,
|
|
19
|
+
encodeSetContractURI,
|
|
20
|
+
encodeTransferFrom,
|
|
21
|
+
encodeWithdrawToProtocol
|
|
14
22
|
} from "./interface";
|
|
15
23
|
|
|
16
24
|
export async function burnPremintedVouchers(args: {
|
|
@@ -24,6 +32,29 @@ export async function burnPremintedVouchers(args: {
|
|
|
24
32
|
});
|
|
25
33
|
}
|
|
26
34
|
|
|
35
|
+
export async function owner(args: {
|
|
36
|
+
contractAddress: string;
|
|
37
|
+
web3Lib: Web3LibAdapter;
|
|
38
|
+
}): Promise<string> {
|
|
39
|
+
const result = await args.web3Lib.call({
|
|
40
|
+
to: args.contractAddress,
|
|
41
|
+
data: encodeOwner()
|
|
42
|
+
});
|
|
43
|
+
return decodeOwner(result);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export async function isTrustedForwarder(args: {
|
|
47
|
+
forwarder: string;
|
|
48
|
+
contractAddress: string;
|
|
49
|
+
web3Lib: Web3LibAdapter;
|
|
50
|
+
}): Promise<boolean> {
|
|
51
|
+
const result = await args.web3Lib.call({
|
|
52
|
+
to: args.contractAddress,
|
|
53
|
+
data: encodeIsTrustedForwarder(args.forwarder)
|
|
54
|
+
});
|
|
55
|
+
return decodeIsTrustedForwarder(result);
|
|
56
|
+
}
|
|
57
|
+
|
|
27
58
|
export async function getAvailablePreMints(args: {
|
|
28
59
|
offerId: BigNumberish;
|
|
29
60
|
contractAddress: string;
|
|
@@ -93,3 +124,49 @@ export async function isApprovedForAll(args: {
|
|
|
93
124
|
const [isApproved] = decodeIsApprovedForAll(result);
|
|
94
125
|
return isApproved;
|
|
95
126
|
}
|
|
127
|
+
|
|
128
|
+
export async function setContractURI(args: {
|
|
129
|
+
contractURI: string;
|
|
130
|
+
contractAddress: string;
|
|
131
|
+
web3Lib: Web3LibAdapter;
|
|
132
|
+
}): Promise<TransactionResponse> {
|
|
133
|
+
return await args.web3Lib.sendTransaction({
|
|
134
|
+
to: args.contractAddress,
|
|
135
|
+
data: encodeSetContractURI(args.contractURI)
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
export async function callExternalContract(args: {
|
|
140
|
+
to: string;
|
|
141
|
+
data: string;
|
|
142
|
+
contractAddress: string;
|
|
143
|
+
web3Lib: Web3LibAdapter;
|
|
144
|
+
}): Promise<TransactionResponse> {
|
|
145
|
+
return args.web3Lib.sendTransaction({
|
|
146
|
+
to: args.contractAddress,
|
|
147
|
+
data: encodeCallExternalContract(args.to, args.data)
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
export async function setApprovalForAllToContract(args: {
|
|
152
|
+
operator: string;
|
|
153
|
+
approved: boolean;
|
|
154
|
+
contractAddress: string;
|
|
155
|
+
web3Lib: Web3LibAdapter;
|
|
156
|
+
}): Promise<TransactionResponse> {
|
|
157
|
+
return args.web3Lib.sendTransaction({
|
|
158
|
+
to: args.contractAddress,
|
|
159
|
+
data: encodeSetApprovalForAllToContract(args.operator, args.approved)
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
export async function withdrawToProtocol(args: {
|
|
164
|
+
tokenList: string[];
|
|
165
|
+
contractAddress: string;
|
|
166
|
+
web3Lib: Web3LibAdapter;
|
|
167
|
+
}): Promise<TransactionResponse> {
|
|
168
|
+
return args.web3Lib.sendTransaction({
|
|
169
|
+
to: args.contractAddress,
|
|
170
|
+
data: encodeWithdrawToProtocol(args.tokenList)
|
|
171
|
+
});
|
|
172
|
+
}
|
package/src/voucher/interface.ts
CHANGED
|
@@ -61,3 +61,91 @@ export function encodeTransferFrom(
|
|
|
61
61
|
tokenId
|
|
62
62
|
]);
|
|
63
63
|
}
|
|
64
|
+
|
|
65
|
+
export function encodeCallExternalContract(to: string, data: string) {
|
|
66
|
+
return bosonVoucherIface.encodeFunctionData("callExternalContract", [
|
|
67
|
+
to,
|
|
68
|
+
data
|
|
69
|
+
]);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
export function encodeSetApprovalForAllToContract(
|
|
73
|
+
operator: string,
|
|
74
|
+
approved: boolean
|
|
75
|
+
) {
|
|
76
|
+
return bosonVoucherIface.encodeFunctionData("setApprovalForAllToContract", [
|
|
77
|
+
operator,
|
|
78
|
+
approved
|
|
79
|
+
]);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export function encodeWithdrawToProtocol(tokenList: string[]) {
|
|
83
|
+
return bosonVoucherIface.encodeFunctionData("withdrawToProtocol", [
|
|
84
|
+
tokenList
|
|
85
|
+
]);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export function encodeSetContractURI(contractURI: string) {
|
|
89
|
+
return bosonVoucherIface.encodeFunctionData("setContractURI", [contractURI]);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
const ownableIface = new Interface([
|
|
93
|
+
{
|
|
94
|
+
inputs: [],
|
|
95
|
+
name: "owner",
|
|
96
|
+
outputs: [
|
|
97
|
+
{
|
|
98
|
+
internalType: "address",
|
|
99
|
+
name: "",
|
|
100
|
+
type: "address"
|
|
101
|
+
}
|
|
102
|
+
],
|
|
103
|
+
stateMutability: "view",
|
|
104
|
+
type: "function"
|
|
105
|
+
}
|
|
106
|
+
]);
|
|
107
|
+
|
|
108
|
+
export function encodeOwner() {
|
|
109
|
+
return ownableIface.encodeFunctionData("owner");
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
export function decodeOwner(result: string): string {
|
|
113
|
+
const [owner] = ownableIface.decodeFunctionResult("owner", result);
|
|
114
|
+
return owner;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
const eRC2771ContextIface = new Interface([
|
|
118
|
+
{
|
|
119
|
+
inputs: [
|
|
120
|
+
{
|
|
121
|
+
internalType: "address",
|
|
122
|
+
name: "forwarder",
|
|
123
|
+
type: "address"
|
|
124
|
+
}
|
|
125
|
+
],
|
|
126
|
+
name: "isTrustedForwarder",
|
|
127
|
+
outputs: [
|
|
128
|
+
{
|
|
129
|
+
internalType: "bool",
|
|
130
|
+
name: "",
|
|
131
|
+
type: "bool"
|
|
132
|
+
}
|
|
133
|
+
],
|
|
134
|
+
stateMutability: "view",
|
|
135
|
+
type: "function"
|
|
136
|
+
}
|
|
137
|
+
]);
|
|
138
|
+
|
|
139
|
+
export function encodeIsTrustedForwarder(forwarder: string) {
|
|
140
|
+
return eRC2771ContextIface.encodeFunctionData("isTrustedForwarder", [
|
|
141
|
+
forwarder
|
|
142
|
+
]);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
export function decodeIsTrustedForwarder(result: string): boolean {
|
|
146
|
+
const [isTrustedForwarder] = eRC2771ContextIface.decodeFunctionResult(
|
|
147
|
+
"isTrustedForwarder",
|
|
148
|
+
result
|
|
149
|
+
);
|
|
150
|
+
return isTrustedForwarder;
|
|
151
|
+
}
|
package/src/voucher/mixin.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { BigNumberish } from "@ethersproject/bignumber";
|
|
|
4
4
|
import { handler } from ".";
|
|
5
5
|
import { accounts } from "..";
|
|
6
6
|
import { getOfferById } from "../offers/subgraph";
|
|
7
|
+
import { encodeValidate, Order as SeaportOrder } from "../seaport/handler";
|
|
7
8
|
import { BaseCoreSDK } from "./../mixins/base-core-sdk";
|
|
8
9
|
|
|
9
10
|
export class VoucherMixin extends BaseCoreSDK {
|
|
@@ -144,4 +145,79 @@ export class VoucherMixin extends BaseCoreSDK {
|
|
|
144
145
|
web3Lib: this._web3Lib
|
|
145
146
|
});
|
|
146
147
|
}
|
|
148
|
+
|
|
149
|
+
public async setApprovalForAllToContract(
|
|
150
|
+
operator: string,
|
|
151
|
+
approved: boolean,
|
|
152
|
+
overrides: Partial<{
|
|
153
|
+
contractAddress: string;
|
|
154
|
+
}> = {}
|
|
155
|
+
) {
|
|
156
|
+
const sellerAddress = await this._web3Lib.getSignerAddress();
|
|
157
|
+
const seller = await accounts.subgraph.getSellerByAddress(
|
|
158
|
+
this._subgraphUrl,
|
|
159
|
+
sellerAddress
|
|
160
|
+
);
|
|
161
|
+
return handler.setApprovalForAllToContract({
|
|
162
|
+
operator,
|
|
163
|
+
approved,
|
|
164
|
+
contractAddress: overrides.contractAddress || seller.voucherCloneAddress,
|
|
165
|
+
web3Lib: this._web3Lib
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
public async setContractURI(
|
|
170
|
+
contractURI: string,
|
|
171
|
+
overrides: Partial<{
|
|
172
|
+
contractAddress: string;
|
|
173
|
+
}> = {}
|
|
174
|
+
): Promise<TransactionResponse> {
|
|
175
|
+
const sellerAddress = await this._web3Lib.getSignerAddress();
|
|
176
|
+
const seller = await accounts.subgraph.getSellerByAddress(
|
|
177
|
+
this._subgraphUrl,
|
|
178
|
+
sellerAddress
|
|
179
|
+
);
|
|
180
|
+
return handler.setContractURI({
|
|
181
|
+
contractURI,
|
|
182
|
+
contractAddress: overrides.contractAddress || seller.voucherCloneAddress,
|
|
183
|
+
web3Lib: this._web3Lib
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
public async validateSeaportOrders(
|
|
188
|
+
openseaConduit: string,
|
|
189
|
+
seaportContract: string,
|
|
190
|
+
orders: SeaportOrder[],
|
|
191
|
+
overrides: Partial<{
|
|
192
|
+
contractAddress: string;
|
|
193
|
+
approveIfNeeded: boolean;
|
|
194
|
+
}> = { approveIfNeeded: true }
|
|
195
|
+
) {
|
|
196
|
+
const sellerAddress = await this._web3Lib.getSignerAddress();
|
|
197
|
+
const seller = await accounts.subgraph.getSellerByAddress(
|
|
198
|
+
this._subgraphUrl,
|
|
199
|
+
sellerAddress
|
|
200
|
+
);
|
|
201
|
+
if (overrides.approveIfNeeded) {
|
|
202
|
+
// Check the openseaConduit is approved for preminted tokens
|
|
203
|
+
const isApprovedForAll = await this.isApprovedForAll(openseaConduit, {
|
|
204
|
+
owner: seller.voucherCloneAddress,
|
|
205
|
+
contractAddress: overrides.contractAddress || seller.voucherCloneAddress
|
|
206
|
+
});
|
|
207
|
+
if (!isApprovedForAll) {
|
|
208
|
+
const txApproval = await this.setApprovalForAllToContract(
|
|
209
|
+
openseaConduit,
|
|
210
|
+
true,
|
|
211
|
+
overrides
|
|
212
|
+
);
|
|
213
|
+
await txApproval.wait();
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
return handler.callExternalContract({
|
|
217
|
+
to: seaportContract,
|
|
218
|
+
data: encodeValidate(orders),
|
|
219
|
+
contractAddress: overrides.contractAddress || seller.voucherCloneAddress,
|
|
220
|
+
web3Lib: this._web3Lib
|
|
221
|
+
});
|
|
222
|
+
}
|
|
147
223
|
}
|