@bosonprotocol/core-sdk 1.23.0-alpha.2 → 1.23.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 +194 -0
- package/dist/cjs/accounts/mixin.d.ts.map +1 -0
- package/dist/cjs/accounts/mixin.js +426 -0
- package/dist/cjs/accounts/mixin.js.map +1 -0
- package/dist/cjs/core-sdk.d.ts +16 -818
- package/dist/cjs/core-sdk.d.ts.map +1 -1
- package/dist/cjs/core-sdk.js +26 -1579
- package/dist/cjs/core-sdk.js.map +1 -1
- package/dist/cjs/disputes/mixin.d.ts +113 -0
- package/dist/cjs/disputes/mixin.d.ts.map +1 -0
- package/dist/cjs/disputes/mixin.js +203 -0
- package/dist/cjs/disputes/mixin.js.map +1 -0
- package/dist/cjs/erc1155/handler.d.ts +9 -0
- package/dist/cjs/erc1155/handler.d.ts.map +1 -0
- package/dist/cjs/erc1155/handler.js +28 -0
- package/dist/cjs/erc1155/handler.js.map +1 -0
- package/dist/cjs/erc1155/index.d.ts +3 -0
- package/dist/cjs/erc1155/index.d.ts.map +1 -0
- package/dist/cjs/erc1155/index.js +29 -0
- package/dist/cjs/erc1155/index.js.map +1 -0
- package/dist/cjs/erc1155/interface.d.ts +3 -0
- package/dist/cjs/erc1155/interface.d.ts.map +1 -0
- package/dist/cjs/erc1155/interface.js +7 -0
- package/dist/cjs/erc1155/interface.js.map +1 -0
- package/dist/cjs/erc20/handler.d.ts +5 -0
- package/dist/cjs/erc20/handler.d.ts.map +1 -1
- package/dist/cjs/erc20/handler.js +12 -1
- package/dist/cjs/erc20/handler.js.map +1 -1
- package/dist/cjs/erc721/handler.d.ts +5 -0
- package/dist/cjs/erc721/handler.d.ts.map +1 -1
- package/dist/cjs/erc721/handler.js +12 -1
- package/dist/cjs/erc721/handler.js.map +1 -1
- package/dist/cjs/event-logs/mixin.d.ts +11 -0
- package/dist/cjs/event-logs/mixin.d.ts.map +1 -0
- package/dist/cjs/event-logs/mixin.js +28 -0
- package/dist/cjs/event-logs/mixin.js.map +1 -0
- package/dist/cjs/exchanges/mixin.d.ts +77 -0
- package/dist/cjs/exchanges/mixin.d.ts.map +1 -0
- package/dist/cjs/exchanges/mixin.js +172 -0
- package/dist/cjs/exchanges/mixin.js.map +1 -0
- package/dist/cjs/funds/mixin.d.ts +42 -0
- package/dist/cjs/funds/mixin.d.ts.map +1 -0
- package/dist/cjs/funds/mixin.js +95 -0
- package/dist/cjs/funds/mixin.js.map +1 -0
- package/dist/cjs/groups/mixin.d.ts +14 -0
- package/dist/cjs/groups/mixin.d.ts.map +1 -0
- package/dist/cjs/groups/mixin.js +33 -0
- package/dist/cjs/groups/mixin.js.map +1 -0
- package/dist/cjs/meta-tx/mixin.d.ts +176 -0
- package/dist/cjs/meta-tx/mixin.d.ts.map +1 -0
- package/dist/cjs/meta-tx/mixin.js +296 -0
- package/dist/cjs/meta-tx/mixin.js.map +1 -0
- package/dist/cjs/metadata/mixin.d.ts +42 -0
- package/dist/cjs/metadata/mixin.d.ts.map +1 -0
- package/dist/cjs/metadata/mixin.js +89 -0
- package/dist/cjs/metadata/mixin.js.map +1 -0
- package/dist/cjs/metadata/subgraph.d.ts +3 -1
- package/dist/cjs/metadata/subgraph.d.ts.map +1 -1
- package/dist/cjs/metadata/subgraph.js +17 -1
- package/dist/cjs/metadata/subgraph.js.map +1 -1
- package/dist/cjs/mixins/base-core-sdk.d.ts +41 -0
- package/dist/cjs/mixins/base-core-sdk.d.ts.map +1 -0
- package/dist/cjs/mixins/base-core-sdk.js +51 -0
- package/dist/cjs/mixins/base-core-sdk.js.map +1 -0
- package/dist/cjs/native-meta-tx/mixin.d.ts +35 -0
- package/dist/cjs/native-meta-tx/mixin.d.ts.map +1 -0
- package/dist/cjs/native-meta-tx/mixin.js +68 -0
- package/dist/cjs/native-meta-tx/mixin.js.map +1 -0
- package/dist/cjs/offers/mixin.d.ts +133 -0
- package/dist/cjs/offers/mixin.d.ts.map +1 -0
- package/dist/cjs/offers/mixin.js +338 -0
- package/dist/cjs/offers/mixin.js.map +1 -0
- package/dist/cjs/orchestration/mixin.d.ts +28 -0
- package/dist/cjs/orchestration/mixin.d.ts.map +1 -0
- package/dist/cjs/orchestration/mixin.js +59 -0
- package/dist/cjs/orchestration/mixin.js.map +1 -0
- package/dist/cjs/subgraph.d.ts +3707 -1509
- package/dist/cjs/subgraph.d.ts.map +1 -1
- package/dist/cjs/subgraph.js +113 -4
- package/dist/cjs/subgraph.js.map +1 -1
- package/dist/cjs/utils/graphql.d.ts +14 -0
- package/dist/cjs/utils/graphql.d.ts.map +1 -1
- package/dist/cjs/utils/signature.d.ts.map +1 -1
- package/dist/cjs/utils/signature.js +5 -1
- package/dist/cjs/utils/signature.js.map +1 -1
- package/dist/cjs/utils/tokenInfoManager.d.ts +6 -2
- package/dist/cjs/utils/tokenInfoManager.d.ts.map +1 -1
- package/dist/cjs/utils/tokenInfoManager.js +39 -6
- package/dist/cjs/utils/tokenInfoManager.js.map +1 -1
- package/dist/esm/accounts/mixin.d.ts +194 -0
- package/dist/esm/accounts/mixin.d.ts.map +1 -0
- package/dist/esm/accounts/mixin.js +342 -0
- package/dist/esm/accounts/mixin.js.map +1 -0
- package/dist/esm/core-sdk.d.ts +16 -818
- package/dist/esm/core-sdk.d.ts.map +1 -1
- package/dist/esm/core-sdk.js +27 -1483
- package/dist/esm/core-sdk.js.map +1 -1
- package/dist/esm/disputes/mixin.d.ts +113 -0
- package/dist/esm/disputes/mixin.d.ts.map +1 -0
- package/dist/esm/disputes/mixin.js +173 -0
- package/dist/esm/disputes/mixin.js.map +1 -0
- package/dist/esm/erc1155/handler.d.ts +9 -0
- package/dist/esm/erc1155/handler.d.ts.map +1 -0
- package/dist/esm/erc1155/handler.js +13 -0
- package/dist/esm/erc1155/handler.js.map +1 -0
- package/dist/esm/erc1155/index.d.ts +3 -0
- package/dist/esm/erc1155/index.d.ts.map +1 -0
- package/dist/esm/erc1155/index.js +3 -0
- package/dist/esm/erc1155/index.js.map +1 -0
- package/dist/esm/erc1155/interface.d.ts +3 -0
- package/dist/esm/erc1155/interface.d.ts.map +1 -0
- package/dist/esm/erc1155/interface.js +4 -0
- package/dist/esm/erc1155/interface.js.map +1 -0
- package/dist/esm/erc20/handler.d.ts +5 -0
- package/dist/esm/erc20/handler.d.ts.map +1 -1
- package/dist/esm/erc20/handler.js +8 -0
- package/dist/esm/erc20/handler.js.map +1 -1
- package/dist/esm/erc721/handler.d.ts +5 -0
- package/dist/esm/erc721/handler.d.ts.map +1 -1
- package/dist/esm/erc721/handler.js +8 -0
- package/dist/esm/erc721/handler.js.map +1 -1
- package/dist/esm/event-logs/mixin.d.ts +11 -0
- package/dist/esm/event-logs/mixin.d.ts.map +1 -0
- package/dist/esm/event-logs/mixin.js +13 -0
- package/dist/esm/event-logs/mixin.js.map +1 -0
- package/dist/esm/exchanges/mixin.d.ts +77 -0
- package/dist/esm/exchanges/mixin.d.ts.map +1 -0
- package/dist/esm/exchanges/mixin.js +141 -0
- package/dist/esm/exchanges/mixin.js.map +1 -0
- package/dist/esm/funds/mixin.d.ts +42 -0
- package/dist/esm/funds/mixin.d.ts.map +1 -0
- package/dist/esm/funds/mixin.js +72 -0
- package/dist/esm/funds/mixin.js.map +1 -0
- package/dist/esm/groups/mixin.d.ts +14 -0
- package/dist/esm/groups/mixin.d.ts.map +1 -0
- package/dist/esm/groups/mixin.js +18 -0
- package/dist/esm/groups/mixin.js.map +1 -0
- package/dist/esm/meta-tx/mixin.d.ts +176 -0
- package/dist/esm/meta-tx/mixin.d.ts.map +1 -0
- package/dist/esm/meta-tx/mixin.js +351 -0
- package/dist/esm/meta-tx/mixin.js.map +1 -0
- package/dist/esm/metadata/mixin.d.ts +42 -0
- package/dist/esm/metadata/mixin.d.ts.map +1 -0
- package/dist/esm/metadata/mixin.js +60 -0
- package/dist/esm/metadata/mixin.js.map +1 -0
- package/dist/esm/metadata/subgraph.d.ts +3 -1
- package/dist/esm/metadata/subgraph.d.ts.map +1 -1
- package/dist/esm/metadata/subgraph.js +14 -0
- package/dist/esm/metadata/subgraph.js.map +1 -1
- package/dist/esm/mixins/base-core-sdk.d.ts +41 -0
- package/dist/esm/mixins/base-core-sdk.d.ts.map +1 -0
- package/dist/esm/mixins/base-core-sdk.js +54 -0
- package/dist/esm/mixins/base-core-sdk.js.map +1 -0
- package/dist/esm/native-meta-tx/mixin.d.ts +35 -0
- package/dist/esm/native-meta-tx/mixin.d.ts.map +1 -0
- package/dist/esm/native-meta-tx/mixin.js +51 -0
- package/dist/esm/native-meta-tx/mixin.js.map +1 -0
- package/dist/esm/offers/mixin.d.ts +133 -0
- package/dist/esm/offers/mixin.d.ts.map +1 -0
- package/dist/esm/offers/mixin.js +276 -0
- package/dist/esm/offers/mixin.js.map +1 -0
- package/dist/esm/orchestration/mixin.d.ts +28 -0
- package/dist/esm/orchestration/mixin.d.ts.map +1 -0
- package/dist/esm/orchestration/mixin.js +42 -0
- package/dist/esm/orchestration/mixin.js.map +1 -0
- package/dist/esm/subgraph.d.ts +3707 -1509
- package/dist/esm/subgraph.d.ts.map +1 -1
- package/dist/esm/subgraph.js +110 -1
- package/dist/esm/subgraph.js.map +1 -1
- package/dist/esm/utils/graphql.d.ts +14 -0
- package/dist/esm/utils/graphql.d.ts.map +1 -1
- package/dist/esm/utils/signature.d.ts.map +1 -1
- package/dist/esm/utils/signature.js +5 -1
- package/dist/esm/utils/signature.js.map +1 -1
- package/dist/esm/utils/tokenInfoManager.d.ts +6 -2
- package/dist/esm/utils/tokenInfoManager.d.ts.map +1 -1
- package/dist/esm/utils/tokenInfoManager.js +39 -6
- package/dist/esm/utils/tokenInfoManager.js.map +1 -1
- package/package.json +3 -3
- package/src/accounts/mixin.ts +484 -0
- package/src/core-sdk.ts +42 -2102
- package/src/disputes/mixin.ts +240 -0
- package/src/erc1155/handler.ts +21 -0
- package/src/erc1155/index.ts +2 -0
- package/src/erc1155/interface.ts +4 -0
- package/src/erc20/handler.ts +14 -0
- package/src/erc721/handler.ts +14 -0
- package/src/event-logs/mixin.ts +16 -0
- package/src/exchanges/mixin.ts +184 -0
- package/src/funds/mixin.ts +99 -0
- package/src/groups/mixin.ts +24 -0
- package/src/meta-tx/mixin.ts +515 -0
- package/src/metadata/mixin.ts +97 -0
- package/src/metadata/product-v1.graphql +77 -1
- package/src/metadata/subgraph.ts +31 -1
- package/src/mixins/base-core-sdk.ts +96 -0
- package/src/native-meta-tx/mixin.ts +77 -0
- package/src/offers/mixin.ts +376 -0
- package/src/offers/queries.graphql +1 -1
- package/src/orchestration/mixin.ts +57 -0
- package/src/subgraph.ts +3620 -1296
- package/src/utils/signature.ts +6 -1
- package/src/utils/tokenInfoManager.ts +44 -6
|
@@ -0,0 +1,484 @@
|
|
|
1
|
+
import { BaseCoreSDK } from "./../mixins/base-core-sdk";
|
|
2
|
+
import * as accounts from ".";
|
|
3
|
+
import * as subgraph from "../subgraph";
|
|
4
|
+
import * as erc721 from "../erc721";
|
|
5
|
+
import { AuthTokenType, TransactionResponse, Log } from "@bosonprotocol/common";
|
|
6
|
+
import { BigNumberish, BigNumber } from "@ethersproject/bignumber";
|
|
7
|
+
import { AddressZero } from "@ethersproject/constants";
|
|
8
|
+
import { offers, orchestration } from "..";
|
|
9
|
+
import { getValueFromLogs } from "../utils/logs";
|
|
10
|
+
|
|
11
|
+
export class AccountsMixin extends BaseCoreSDK {
|
|
12
|
+
/* -------------------------------------------------------------------------- */
|
|
13
|
+
/* Account related methods */
|
|
14
|
+
/* -------------------------------------------------------------------------- */
|
|
15
|
+
|
|
16
|
+
/* --------------------------------- Seller --------------------------------- */
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Returns seller entity from subgraph.
|
|
20
|
+
* @param sellerId - ID of seller entity to query for.
|
|
21
|
+
* @param queryVars - Optional query variables to skip, order or filter.
|
|
22
|
+
* @returns Seller entity from subgraph.
|
|
23
|
+
*/
|
|
24
|
+
public async getSellerById(
|
|
25
|
+
sellerId: BigNumberish,
|
|
26
|
+
queryVars?: accounts.subgraph.SingleSellerQueryVariables
|
|
27
|
+
): Promise<subgraph.SellerFieldsFragment> {
|
|
28
|
+
return accounts.subgraph.getSellerById(
|
|
29
|
+
this._subgraphUrl,
|
|
30
|
+
sellerId,
|
|
31
|
+
queryVars
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Returns seller entity from subgraph.
|
|
37
|
+
* @param operator - Operator address of seller entity to query for.
|
|
38
|
+
* @param queryVars - Optional query variables to skip, order or filter.
|
|
39
|
+
* @returns Seller entity from subgraph.
|
|
40
|
+
*/
|
|
41
|
+
public async getSellerByOperator(
|
|
42
|
+
operator: string,
|
|
43
|
+
queryVars?: subgraph.GetSellersQueryQueryVariables
|
|
44
|
+
): Promise<subgraph.SellerFieldsFragment> {
|
|
45
|
+
return accounts.subgraph.getSellerByOperator(
|
|
46
|
+
this._subgraphUrl,
|
|
47
|
+
operator,
|
|
48
|
+
queryVars
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Returns seller entity from subgraph.
|
|
54
|
+
* @param clerk - Clerk address of seller entity to query for.
|
|
55
|
+
* @param queryVars - Optional query variables to skip, order or filter.
|
|
56
|
+
* @returns Seller entity from subgraph.
|
|
57
|
+
*/
|
|
58
|
+
public async getSellerByClerk(
|
|
59
|
+
clerk: string,
|
|
60
|
+
queryVars?: subgraph.GetSellersQueryQueryVariables
|
|
61
|
+
): Promise<subgraph.SellerFieldsFragment> {
|
|
62
|
+
return accounts.subgraph.getSellerByClerk(
|
|
63
|
+
this._subgraphUrl,
|
|
64
|
+
clerk,
|
|
65
|
+
queryVars
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Returns seller entity from subgraph.
|
|
71
|
+
* @param admin - Admin address of seller entity to query for.
|
|
72
|
+
* @param queryVars - Optional query variables to skip, order or filter.
|
|
73
|
+
* @returns Seller entity from subgraph.
|
|
74
|
+
*/
|
|
75
|
+
public async getSellerByAdmin(
|
|
76
|
+
admin: string,
|
|
77
|
+
queryVars?: subgraph.GetSellersQueryQueryVariables
|
|
78
|
+
): Promise<subgraph.SellerFieldsFragment> {
|
|
79
|
+
return accounts.subgraph.getSellerByAdmin(
|
|
80
|
+
this._subgraphUrl,
|
|
81
|
+
admin,
|
|
82
|
+
queryVars
|
|
83
|
+
);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Returns seller entity from subgraph.
|
|
88
|
+
* @param treasury - Treasury address of seller entity to query for.
|
|
89
|
+
* @param queryVars - Optional query variables to skip, order or filter.
|
|
90
|
+
* @returns Seller entity from subgraph.
|
|
91
|
+
*/
|
|
92
|
+
public async getSellerByTreasury(
|
|
93
|
+
treasury: string,
|
|
94
|
+
queryVars?: subgraph.GetSellersQueryQueryVariables
|
|
95
|
+
): Promise<subgraph.SellerFieldsFragment> {
|
|
96
|
+
return accounts.subgraph.getSellerByTreasury(
|
|
97
|
+
this._subgraphUrl,
|
|
98
|
+
treasury,
|
|
99
|
+
queryVars
|
|
100
|
+
);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Returns seller entity from subgraph. Matches `operator`, `clerk`, `admin` or `treasury`.
|
|
105
|
+
* @param address - Address of seller entity to query for.
|
|
106
|
+
* @param queryVars - Optional query variables to skip, order or filter.
|
|
107
|
+
* @returns Seller entity from subgraph.
|
|
108
|
+
*/
|
|
109
|
+
public async getSellersByAddress(
|
|
110
|
+
address: string,
|
|
111
|
+
queryVars?: subgraph.GetSellersQueryQueryVariables
|
|
112
|
+
): Promise<subgraph.SellerFieldsFragment[]> {
|
|
113
|
+
if (address === AddressZero) {
|
|
114
|
+
throw new Error(`Unsupported search address '${AddressZero}'`);
|
|
115
|
+
}
|
|
116
|
+
const seller = await accounts.subgraph.getSellerByAddress(
|
|
117
|
+
this._subgraphUrl,
|
|
118
|
+
address,
|
|
119
|
+
queryVars
|
|
120
|
+
);
|
|
121
|
+
if (!seller && this._lensContracts?.LENS_HUB_CONTRACT) {
|
|
122
|
+
// If seller is not found per address, try to find per authToken
|
|
123
|
+
const tokenType = AuthTokenType.LENS; // only LENS for now
|
|
124
|
+
const tokenIds = await this.fetchUserAuthTokens(address, tokenType);
|
|
125
|
+
const promises: Promise<subgraph.SellerFieldsFragment>[] = [];
|
|
126
|
+
for (const tokenId of tokenIds) {
|
|
127
|
+
// Just in case the user owns several auth tokens
|
|
128
|
+
const sellerPromise = this.getSellerByAuthToken(
|
|
129
|
+
tokenId,
|
|
130
|
+
tokenType,
|
|
131
|
+
queryVars
|
|
132
|
+
);
|
|
133
|
+
promises.push(sellerPromise);
|
|
134
|
+
}
|
|
135
|
+
return (await Promise.all(promises)).filter((seller) => !!seller);
|
|
136
|
+
}
|
|
137
|
+
return [seller].filter((seller) => !!seller);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Returns the array of LENS tokenIds owned by a specified address
|
|
142
|
+
* @param address - Address of seller entity to query for.
|
|
143
|
+
* @param queryVars - Optional query variables to skip, order or filter.
|
|
144
|
+
* @returns Array of tokenIds
|
|
145
|
+
*/
|
|
146
|
+
public async fetchUserAuthTokens(
|
|
147
|
+
address: string,
|
|
148
|
+
tokenType: number
|
|
149
|
+
): Promise<Array<string>> {
|
|
150
|
+
if (tokenType !== AuthTokenType.LENS) {
|
|
151
|
+
// only LENS for now
|
|
152
|
+
throw new Error(`Unsupported authTokenType '${tokenType}'`);
|
|
153
|
+
}
|
|
154
|
+
if (!this._lensContracts || !this._lensContracts?.LENS_HUB_CONTRACT) {
|
|
155
|
+
throw new Error("LENS contract is not configured in Core-SDK");
|
|
156
|
+
}
|
|
157
|
+
const balance = await erc721.handler.balanceOf({
|
|
158
|
+
contractAddress: this._lensContracts?.LENS_HUB_CONTRACT,
|
|
159
|
+
owner: address,
|
|
160
|
+
web3Lib: this._web3Lib
|
|
161
|
+
});
|
|
162
|
+
|
|
163
|
+
const balanceBN = BigNumber.from(balance);
|
|
164
|
+
const promises: Promise<string>[] = [];
|
|
165
|
+
for (let index = 0; balanceBN.gt(index); index++) {
|
|
166
|
+
const tokenIdPromise = erc721.handler.tokenOfOwnerByIndex({
|
|
167
|
+
contractAddress: this._lensContracts?.LENS_HUB_CONTRACT,
|
|
168
|
+
owner: address,
|
|
169
|
+
index,
|
|
170
|
+
web3Lib: this._web3Lib
|
|
171
|
+
});
|
|
172
|
+
promises.push(tokenIdPromise);
|
|
173
|
+
}
|
|
174
|
+
const ret = await Promise.all(promises);
|
|
175
|
+
return ret;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
/**
|
|
179
|
+
* Returns seller entity from subgraph that owns the given auth token (if any).
|
|
180
|
+
* @param tokenId - tokenId of the Auth Token.
|
|
181
|
+
* @param tokenType - Type of the Auth Token (1 for LENS, ...).
|
|
182
|
+
* @param queryVars - Optional query variables to skip, order or filter.
|
|
183
|
+
* @returns Seller entity from subgraph.
|
|
184
|
+
*/
|
|
185
|
+
public async getSellerByAuthToken(
|
|
186
|
+
tokenId: string,
|
|
187
|
+
tokenType: number,
|
|
188
|
+
queryVars?: subgraph.GetSellersQueryQueryVariables
|
|
189
|
+
): Promise<subgraph.SellerFieldsFragment> {
|
|
190
|
+
if (tokenType !== AuthTokenType.LENS) {
|
|
191
|
+
// only LENS for now
|
|
192
|
+
throw new Error(`Unsupported authTokenType '${tokenType}'`);
|
|
193
|
+
}
|
|
194
|
+
return accounts.subgraph.getSellerByAuthToken(
|
|
195
|
+
this._subgraphUrl,
|
|
196
|
+
tokenId,
|
|
197
|
+
tokenType,
|
|
198
|
+
queryVars
|
|
199
|
+
);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* Returns seller entities from subgraph.
|
|
204
|
+
* @param queryVars - Optional query variables to skip, order or filter.
|
|
205
|
+
* @returns Seller entities from subgraph.
|
|
206
|
+
*/
|
|
207
|
+
public async getSellers(
|
|
208
|
+
queryVars?: subgraph.GetSellersQueryQueryVariables
|
|
209
|
+
): Promise<subgraph.SellerFieldsFragment[]> {
|
|
210
|
+
return accounts.subgraph.getSellers(this._subgraphUrl, queryVars);
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
/**
|
|
214
|
+
* Creates seller account by calling the `AccountHandlerFacet` contract.
|
|
215
|
+
* @param sellerToCreate - Addresses and contract URI to set in the seller account.
|
|
216
|
+
* @param overrides - Optional overrides.
|
|
217
|
+
* @returns Transaction response.
|
|
218
|
+
*/
|
|
219
|
+
public async createSeller(
|
|
220
|
+
sellerToCreate: accounts.CreateSellerArgs,
|
|
221
|
+
overrides: Partial<{
|
|
222
|
+
contractAddress: string;
|
|
223
|
+
}> = {}
|
|
224
|
+
): Promise<TransactionResponse> {
|
|
225
|
+
return accounts.handler.createSeller({
|
|
226
|
+
sellerToCreate,
|
|
227
|
+
web3Lib: this._web3Lib,
|
|
228
|
+
contractAddress: overrides.contractAddress || this._protocolDiamond
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
/**
|
|
233
|
+
* Creates seller account and offer by calling the `OrchestrationHandlerFacet` contract.
|
|
234
|
+
* This transaction only succeeds if there is no existing seller account for the connected signer.
|
|
235
|
+
* @param sellerToCreate - Addresses to set in the seller account.
|
|
236
|
+
* @param offerToCreate - Offer arguments.
|
|
237
|
+
* @param overrides - Optional overrides.
|
|
238
|
+
* @returns Transaction response.
|
|
239
|
+
*/
|
|
240
|
+
public async createSellerAndOffer(
|
|
241
|
+
sellerToCreate: accounts.CreateSellerArgs,
|
|
242
|
+
offerToCreate: offers.CreateOfferArgs,
|
|
243
|
+
overrides: Partial<{
|
|
244
|
+
contractAddress: string;
|
|
245
|
+
}> = {}
|
|
246
|
+
): Promise<TransactionResponse> {
|
|
247
|
+
return orchestration.handler.createOfferAndSeller({
|
|
248
|
+
sellerToCreate,
|
|
249
|
+
offerToCreate,
|
|
250
|
+
web3Lib: this._web3Lib,
|
|
251
|
+
theGraphStorage: this._theGraphStorage,
|
|
252
|
+
metadataStorage: this._metadataStorage,
|
|
253
|
+
contractAddress: overrides.contractAddress || this._protocolDiamond
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
/**
|
|
258
|
+
* Updates seller account by calling the `AccountHandlerFacet` contract. Only callable
|
|
259
|
+
* by admin.
|
|
260
|
+
* @param sellerUpdates - Values to update.
|
|
261
|
+
* @param overrides - Optional overrides.
|
|
262
|
+
* @returns Transaction response.
|
|
263
|
+
*/
|
|
264
|
+
public async updateSeller(
|
|
265
|
+
sellerUpdates: accounts.UpdateSellerArgs,
|
|
266
|
+
overrides: Partial<{
|
|
267
|
+
contractAddress: string;
|
|
268
|
+
}> = {}
|
|
269
|
+
): Promise<TransactionResponse> {
|
|
270
|
+
return accounts.handler.updateSeller({
|
|
271
|
+
sellerUpdates,
|
|
272
|
+
web3Lib: this._web3Lib,
|
|
273
|
+
contractAddress: overrides.contractAddress || this._protocolDiamond
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
/* ---------------------------------- Buyer --------------------------------- */
|
|
278
|
+
|
|
279
|
+
/**
|
|
280
|
+
* Returns buyer entity from subgraph.
|
|
281
|
+
* @param buyerId - ID of buyer entity to query for.
|
|
282
|
+
* @param queryVars - Optional query variables to skip, order or filter.
|
|
283
|
+
* @returns Buyer entity from subgraph.
|
|
284
|
+
*/
|
|
285
|
+
public async getBuyerById(
|
|
286
|
+
buyerId: BigNumberish,
|
|
287
|
+
queryVars?: accounts.subgraph.SingleBuyerQueryVariables
|
|
288
|
+
): Promise<subgraph.BuyerFieldsFragment> {
|
|
289
|
+
return accounts.subgraph.getBuyerById(
|
|
290
|
+
this._subgraphUrl,
|
|
291
|
+
buyerId,
|
|
292
|
+
queryVars
|
|
293
|
+
);
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
/**
|
|
297
|
+
* Returns buyer entities from subgraph.
|
|
298
|
+
* @param queryVars - Optional query variables to skip, order or filter.
|
|
299
|
+
* @returns Buyer entities from subgraph.
|
|
300
|
+
*/
|
|
301
|
+
public async getBuyers(
|
|
302
|
+
queryVars?: subgraph.GetBuyersQueryQueryVariables
|
|
303
|
+
): Promise<subgraph.BuyerFieldsFragment[]> {
|
|
304
|
+
return accounts.subgraph.getBuyers(this._subgraphUrl, queryVars);
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
/* ---------------------------- Dispute Resolver ---------------------------- */
|
|
308
|
+
|
|
309
|
+
/**
|
|
310
|
+
* Creates a dispute resolver account by calling the `AccountHandlerFacet` contract.
|
|
311
|
+
* @param disputeResolverToCreate - Dispute resolver arguments.
|
|
312
|
+
* @returns Transaction response.
|
|
313
|
+
*/
|
|
314
|
+
public async createDisputeResolver(
|
|
315
|
+
disputeResolverToCreate: accounts.CreateDisputeResolverArgs
|
|
316
|
+
): Promise<TransactionResponse> {
|
|
317
|
+
return accounts.handler.createDisputeResolver({
|
|
318
|
+
disputeResolverToCreate,
|
|
319
|
+
contractAddress: this._protocolDiamond,
|
|
320
|
+
web3Lib: this._web3Lib
|
|
321
|
+
});
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
/**
|
|
325
|
+
* Utility method to retrieve the created `exchangeId` from logs after calling `commitToOffer`.
|
|
326
|
+
* @param logs - Logs to search in.
|
|
327
|
+
* @returns Created exchange id.
|
|
328
|
+
*/
|
|
329
|
+
public getDisputeResolverIdFromLogs(logs: Log[]): string | null {
|
|
330
|
+
return getValueFromLogs({
|
|
331
|
+
iface: accounts.iface.bosonAccountHandlerIface,
|
|
332
|
+
logs,
|
|
333
|
+
eventArgsKey: "disputeResolverId",
|
|
334
|
+
eventName: "DisputeResolverCreated"
|
|
335
|
+
});
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
/**
|
|
339
|
+
* Updates a dispute resolver account by calling the `AccountHandlerFacet` contract.
|
|
340
|
+
* Note, that the caller must be the specified `admin` address of the dispute resolver account.
|
|
341
|
+
* @param disputeResolverId - Id of dispute resolver to update.
|
|
342
|
+
* @param updates - Values to update for the given dispute resolver.
|
|
343
|
+
* @returns Transaction response.
|
|
344
|
+
*/
|
|
345
|
+
public async updateDisputeResolver(
|
|
346
|
+
disputeResolverId: BigNumberish,
|
|
347
|
+
updates: accounts.DisputeResolverUpdates
|
|
348
|
+
): Promise<TransactionResponse> {
|
|
349
|
+
return accounts.handler.updateDisputeResolver({
|
|
350
|
+
disputeResolverId,
|
|
351
|
+
updates,
|
|
352
|
+
subgraphUrl: this._subgraphUrl,
|
|
353
|
+
contractAddress: this._protocolDiamond,
|
|
354
|
+
web3Lib: this._web3Lib
|
|
355
|
+
});
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
/**
|
|
359
|
+
* Activates a dispute resolver account by calling the `AccountHandlerFacet` contract.
|
|
360
|
+
* Note, that the caller needs to have the ADMIN role.
|
|
361
|
+
* @param disputeResolverId - Id of dispute resolver to activate.
|
|
362
|
+
* @returns Transaction response.
|
|
363
|
+
*/
|
|
364
|
+
public async activateDisputeResolver(
|
|
365
|
+
disputeResolverId: BigNumberish
|
|
366
|
+
): Promise<TransactionResponse> {
|
|
367
|
+
return accounts.handler.activateDisputeResolver({
|
|
368
|
+
disputeResolverId,
|
|
369
|
+
contractAddress: this._protocolDiamond,
|
|
370
|
+
web3Lib: this._web3Lib
|
|
371
|
+
});
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
/**
|
|
375
|
+
* Adds fees to a dispute resolver account by calling the `AccountHandlerFacet`
|
|
376
|
+
* contract. Note, that the caller must be the specified `admin` address of the dispute
|
|
377
|
+
* resolver account.
|
|
378
|
+
* @param disputeResolverId - Id of dispute resolver.
|
|
379
|
+
* @param fees - Dispute resolution fees. Should only contain token addresses that are
|
|
380
|
+
* not already specified.
|
|
381
|
+
* @returns Transaction response.
|
|
382
|
+
*/
|
|
383
|
+
public async addFeesToDisputeResolver(
|
|
384
|
+
disputeResolverId: BigNumberish,
|
|
385
|
+
fees: accounts.DisputeResolutionFee[]
|
|
386
|
+
): Promise<TransactionResponse> {
|
|
387
|
+
return accounts.handler.addFeesToDisputeResolver({
|
|
388
|
+
disputeResolverId,
|
|
389
|
+
fees,
|
|
390
|
+
contractAddress: this._protocolDiamond,
|
|
391
|
+
web3Lib: this._web3Lib
|
|
392
|
+
});
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
/**
|
|
396
|
+
* Adds sellers to the allow list of a dispute resolver account by calling the
|
|
397
|
+
* `AccountHandlerFacet` contract. Note, that the caller must be the specified
|
|
398
|
+
* `admin` address of the dispute resolver account.
|
|
399
|
+
* @param disputeResolverId - Id of dispute resolver.
|
|
400
|
+
* @param sellerAllowList - List of seller ids that are allowed to use the dispute resolver.
|
|
401
|
+
* Should only contain seller ids that are not part of the current allow list.
|
|
402
|
+
* @returns Transaction response.
|
|
403
|
+
*/
|
|
404
|
+
public async addSellersToDisputeResolverAllowList(
|
|
405
|
+
disputeResolverId: BigNumberish,
|
|
406
|
+
sellerAllowList: BigNumberish[]
|
|
407
|
+
): Promise<TransactionResponse> {
|
|
408
|
+
return accounts.handler.addSellersToAllowList({
|
|
409
|
+
disputeResolverId,
|
|
410
|
+
sellerAllowList,
|
|
411
|
+
contractAddress: this._protocolDiamond,
|
|
412
|
+
web3Lib: this._web3Lib
|
|
413
|
+
});
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
/**
|
|
417
|
+
* Removes fees from a dispute resolver account by calling the `AccountHandlerFacet`
|
|
418
|
+
* contract. Note, that the caller must be the specified `admin` address of the dispute
|
|
419
|
+
* resolver account.
|
|
420
|
+
* @param disputeResolverId - Id of dispute resolver.
|
|
421
|
+
* @param feeTokenAddresses - Addresses of fee tokens to remove.
|
|
422
|
+
* @returns Transaction response.
|
|
423
|
+
*/
|
|
424
|
+
public async removeFeesFromDisputeResolver(
|
|
425
|
+
disputeResolverId: BigNumberish,
|
|
426
|
+
feeTokenAddresses: string[]
|
|
427
|
+
): Promise<TransactionResponse> {
|
|
428
|
+
return accounts.handler.removeFeesFromDisputeResolver({
|
|
429
|
+
disputeResolverId,
|
|
430
|
+
feeTokenAddresses,
|
|
431
|
+
contractAddress: this._protocolDiamond,
|
|
432
|
+
web3Lib: this._web3Lib
|
|
433
|
+
});
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
/**
|
|
437
|
+
* Removes sellers from the allow list of a dispute resolver account by calling the
|
|
438
|
+
* `AccountHandlerFacet` contract. Note, that the caller must be the specified
|
|
439
|
+
* `admin` address of the dispute resolver account.
|
|
440
|
+
* @param disputeResolverId - Id of dispute resolver.
|
|
441
|
+
* @param sellerAllowList - List of seller ids that should be removed from the allow
|
|
442
|
+
* list of a dispute resolver.
|
|
443
|
+
* @returns Transaction response.
|
|
444
|
+
*/
|
|
445
|
+
public async removeSellersFromDisputeResolverAllowList(
|
|
446
|
+
disputeResolverId: BigNumberish,
|
|
447
|
+
sellerAllowList: string[]
|
|
448
|
+
): Promise<TransactionResponse> {
|
|
449
|
+
return accounts.handler.removeSellersFromAllowList({
|
|
450
|
+
disputeResolverId,
|
|
451
|
+
sellerAllowList,
|
|
452
|
+
contractAddress: this._protocolDiamond,
|
|
453
|
+
web3Lib: this._web3Lib
|
|
454
|
+
});
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
/**
|
|
458
|
+
* Returns dispute resolver entity from subgraph.
|
|
459
|
+
* @param disputeResolverId - ID of dispute resolver entity to query for.
|
|
460
|
+
* @param queryVars - Optional query variables to skip, order or filter.
|
|
461
|
+
* @returns Dispute resolver entity from subgraph.
|
|
462
|
+
*/
|
|
463
|
+
public async getDisputeResolverById(
|
|
464
|
+
disputeResolverId: BigNumberish,
|
|
465
|
+
queryVars?: accounts.subgraph.SingleDisputeResolverQueryVariables
|
|
466
|
+
): Promise<subgraph.DisputeResolverFieldsFragment> {
|
|
467
|
+
return accounts.subgraph.getDisputeResolverById(
|
|
468
|
+
this._subgraphUrl,
|
|
469
|
+
disputeResolverId,
|
|
470
|
+
queryVars
|
|
471
|
+
);
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
/**
|
|
475
|
+
* Returns dispute resolver entities from subgraph.
|
|
476
|
+
* @param queryVars - Optional query variables to skip, order or filter.
|
|
477
|
+
* @returns Dispute resolver entities from subgraph.
|
|
478
|
+
*/
|
|
479
|
+
public async getDisputeResolvers(
|
|
480
|
+
queryVars?: subgraph.GetDisputeResolversQueryQueryVariables
|
|
481
|
+
): Promise<subgraph.DisputeResolverFieldsFragment[]> {
|
|
482
|
+
return accounts.subgraph.getDisputeResolvers(this._subgraphUrl, queryVars);
|
|
483
|
+
}
|
|
484
|
+
}
|