@bosonprotocol/core-sdk 1.16.0-alpha.8 → 1.16.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/README.md +3 -104
- package/dist/cjs/core-sdk.d.ts +38 -1
- package/dist/cjs/core-sdk.d.ts.map +1 -1
- package/dist/cjs/core-sdk.js +80 -1
- package/dist/cjs/core-sdk.js.map +1 -1
- package/dist/cjs/event-logs/index.d.ts +2 -0
- package/dist/cjs/event-logs/index.d.ts.map +1 -0
- package/dist/cjs/event-logs/index.js +28 -0
- package/dist/cjs/event-logs/index.js.map +1 -0
- package/dist/cjs/event-logs/subgraph.d.ts +3 -0
- package/dist/cjs/event-logs/subgraph.d.ts.map +1 -0
- package/dist/cjs/event-logs/subgraph.js +22 -0
- package/dist/cjs/event-logs/subgraph.js.map +1 -0
- package/dist/cjs/exchanges/handler.d.ts +3 -0
- package/dist/cjs/exchanges/handler.d.ts.map +1 -1
- package/dist/cjs/exchanges/handler.js +34 -11
- package/dist/cjs/exchanges/handler.js.map +1 -1
- package/dist/cjs/exchanges/interface.d.ts +1 -0
- package/dist/cjs/exchanges/interface.d.ts.map +1 -1
- package/dist/cjs/exchanges/interface.js +7 -1
- package/dist/cjs/exchanges/interface.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/meta-tx/biconomy.d.ts +45 -0
- package/dist/cjs/meta-tx/biconomy.d.ts.map +1 -0
- package/dist/cjs/meta-tx/biconomy.js +76 -0
- package/dist/cjs/meta-tx/biconomy.js.map +1 -0
- package/dist/cjs/meta-tx/handler.d.ts +20 -1
- package/dist/cjs/meta-tx/handler.d.ts.map +1 -1
- package/dist/cjs/meta-tx/handler.js +61 -1
- package/dist/cjs/meta-tx/handler.js.map +1 -1
- package/dist/cjs/subgraph.d.ts +2848 -280
- package/dist/cjs/subgraph.d.ts.map +1 -1
- package/dist/cjs/subgraph.js +287 -41
- package/dist/cjs/subgraph.js.map +1 -1
- package/dist/cjs/utils/errors.d.ts +5 -0
- package/dist/cjs/utils/errors.d.ts.map +1 -0
- package/dist/cjs/utils/errors.js +11 -0
- package/dist/cjs/utils/errors.js.map +1 -0
- package/dist/cjs/utils/graphql.d.ts +43 -0
- package/dist/cjs/utils/graphql.d.ts.map +1 -1
- package/dist/esm/core-sdk.d.ts +38 -1
- package/dist/esm/core-sdk.d.ts.map +1 -1
- package/dist/esm/core-sdk.js +77 -1
- package/dist/esm/core-sdk.js.map +1 -1
- package/dist/esm/event-logs/index.d.ts +2 -0
- package/dist/esm/event-logs/index.d.ts.map +1 -0
- package/dist/esm/event-logs/index.js +2 -0
- package/dist/esm/event-logs/index.js.map +1 -0
- package/dist/esm/event-logs/subgraph.d.ts +3 -0
- package/dist/esm/event-logs/subgraph.d.ts.map +1 -0
- package/dist/esm/event-logs/subgraph.js +7 -0
- package/dist/esm/event-logs/subgraph.js.map +1 -0
- package/dist/esm/exchanges/handler.d.ts +3 -0
- package/dist/esm/exchanges/handler.d.ts.map +1 -1
- package/dist/esm/exchanges/handler.js +32 -12
- package/dist/esm/exchanges/handler.js.map +1 -1
- package/dist/esm/exchanges/interface.d.ts +1 -0
- package/dist/esm/exchanges/interface.d.ts.map +1 -1
- package/dist/esm/exchanges/interface.js +5 -0
- package/dist/esm/exchanges/interface.js.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/meta-tx/biconomy.d.ts +45 -0
- package/dist/esm/meta-tx/biconomy.d.ts.map +1 -0
- package/dist/esm/meta-tx/biconomy.js +60 -0
- package/dist/esm/meta-tx/biconomy.js.map +1 -0
- package/dist/esm/meta-tx/handler.d.ts +20 -1
- package/dist/esm/meta-tx/handler.d.ts.map +1 -1
- package/dist/esm/meta-tx/handler.js +56 -0
- package/dist/esm/meta-tx/handler.js.map +1 -1
- package/dist/esm/subgraph.d.ts +2848 -280
- package/dist/esm/subgraph.d.ts.map +1 -1
- package/dist/esm/subgraph.js +284 -39
- package/dist/esm/subgraph.js.map +1 -1
- package/dist/esm/utils/errors.d.ts +5 -0
- package/dist/esm/utils/errors.d.ts.map +1 -0
- package/dist/esm/utils/errors.js +8 -0
- package/dist/esm/utils/errors.js.map +1 -0
- package/dist/esm/utils/graphql.d.ts +43 -0
- package/dist/esm/utils/graphql.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/accounts/queries.graphql +63 -0
- package/src/core-sdk.ts +117 -2
- package/src/disputes/queries.graphql +9 -9
- package/src/event-logs/index.ts +1 -0
- package/src/event-logs/queries.graphql +53 -0
- package/src/event-logs/subgraph.ts +14 -0
- package/src/exchanges/handler.ts +50 -20
- package/src/exchanges/interface.ts +6 -0
- package/src/exchanges/queries.graphql +9 -9
- package/src/index.ts +2 -1
- package/src/meta-tx/biconomy.ts +129 -0
- package/src/meta-tx/handler.ts +84 -2
- package/src/metadata/base.graphql +2 -0
- package/src/metadata/product-v1.graphql +2 -1
- package/src/offers/queries.graphql +3 -0
- package/src/subgraph.ts +2603 -240
- package/src/utils/errors.ts +5 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/utils/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,QAAS,SAAQ,KAAK;IACd;IAAnB,YAAmB,MAAc,EAAE,OAAe;QAChD,KAAK,CAAC,OAAO,CAAC,CAAC;QADE,WAAM,GAAN,MAAM,CAAQ;IAEjC,CAAC;CACF"}
|
|
@@ -16,9 +16,15 @@ export declare function getSubgraphSdk(subgraphUrl: string): {
|
|
|
16
16
|
exchangesOrderBy?: import("../subgraph").Exchange_OrderBy;
|
|
17
17
|
exchangesOrderDirection?: import("../subgraph").OrderDirection;
|
|
18
18
|
exchangesFilter?: import("../subgraph").Exchange_Filter;
|
|
19
|
+
logsSkip?: number;
|
|
20
|
+
logsFirst?: number;
|
|
21
|
+
logsOrderBy?: import("../subgraph").EventLog_OrderBy;
|
|
22
|
+
logsOrderDirection?: import("../subgraph").OrderDirection;
|
|
23
|
+
logsFilter?: import("../subgraph").EventLog_Filter;
|
|
19
24
|
includeExchanges?: boolean;
|
|
20
25
|
includeOffers?: boolean;
|
|
21
26
|
includeFunds?: boolean;
|
|
27
|
+
includeLogs?: boolean;
|
|
22
28
|
}>, requestHeaders?: Record<string, string> | import("graphql-request/dist/types.dom").Headers | string[][]): Promise<import("../subgraph").GetSellerByIdQueryQuery>;
|
|
23
29
|
getSellersQuery(variables?: import("../subgraph").Exact<{
|
|
24
30
|
sellersSkip?: number;
|
|
@@ -41,9 +47,15 @@ export declare function getSubgraphSdk(subgraphUrl: string): {
|
|
|
41
47
|
exchangesOrderBy?: import("../subgraph").Exchange_OrderBy;
|
|
42
48
|
exchangesOrderDirection?: import("../subgraph").OrderDirection;
|
|
43
49
|
exchangesFilter?: import("../subgraph").Exchange_Filter;
|
|
50
|
+
logsSkip?: number;
|
|
51
|
+
logsFirst?: number;
|
|
52
|
+
logsOrderBy?: import("../subgraph").EventLog_OrderBy;
|
|
53
|
+
logsOrderDirection?: import("../subgraph").OrderDirection;
|
|
54
|
+
logsFilter?: import("../subgraph").EventLog_Filter;
|
|
44
55
|
includeExchanges?: boolean;
|
|
45
56
|
includeOffers?: boolean;
|
|
46
57
|
includeFunds?: boolean;
|
|
58
|
+
includeLogs?: boolean;
|
|
47
59
|
}>, requestHeaders?: Record<string, string> | import("graphql-request/dist/types.dom").Headers | string[][]): Promise<import("../subgraph").GetSellersQueryQuery>;
|
|
48
60
|
getBuyerByIdQuery(variables: import("../subgraph").Exact<{
|
|
49
61
|
buyerId: string;
|
|
@@ -57,8 +69,14 @@ export declare function getSubgraphSdk(subgraphUrl: string): {
|
|
|
57
69
|
exchangesOrderBy?: import("../subgraph").Exchange_OrderBy;
|
|
58
70
|
exchangesOrderDirection?: import("../subgraph").OrderDirection;
|
|
59
71
|
exchangesFilter?: import("../subgraph").Exchange_Filter;
|
|
72
|
+
logsSkip?: number;
|
|
73
|
+
logsFirst?: number;
|
|
74
|
+
logsOrderBy?: import("../subgraph").EventLog_OrderBy;
|
|
75
|
+
logsOrderDirection?: import("../subgraph").OrderDirection;
|
|
76
|
+
logsFilter?: import("../subgraph").EventLog_Filter;
|
|
60
77
|
includeExchanges?: boolean;
|
|
61
78
|
includeFunds?: boolean;
|
|
79
|
+
includeLogs?: boolean;
|
|
62
80
|
}>, requestHeaders?: Record<string, string> | import("graphql-request/dist/types.dom").Headers | string[][]): Promise<import("../subgraph").GetBuyerByIdQueryQuery>;
|
|
63
81
|
getBuyersQuery(variables?: import("../subgraph").Exact<{
|
|
64
82
|
buyersSkip?: number;
|
|
@@ -81,9 +99,15 @@ export declare function getSubgraphSdk(subgraphUrl: string): {
|
|
|
81
99
|
exchangesOrderBy?: import("../subgraph").Exchange_OrderBy;
|
|
82
100
|
exchangesOrderDirection?: import("../subgraph").OrderDirection;
|
|
83
101
|
exchangesFilter?: import("../subgraph").Exchange_Filter;
|
|
102
|
+
logsSkip?: number;
|
|
103
|
+
logsFirst?: number;
|
|
104
|
+
logsOrderBy?: import("../subgraph").EventLog_OrderBy;
|
|
105
|
+
logsOrderDirection?: import("../subgraph").OrderDirection;
|
|
106
|
+
logsFilter?: import("../subgraph").EventLog_Filter;
|
|
84
107
|
includeExchanges?: boolean;
|
|
85
108
|
includeOffers?: boolean;
|
|
86
109
|
includeFunds?: boolean;
|
|
110
|
+
includeLogs?: boolean;
|
|
87
111
|
}>, requestHeaders?: Record<string, string> | import("graphql-request/dist/types.dom").Headers | string[][]): Promise<import("../subgraph").GetBuyersQueryQuery>;
|
|
88
112
|
getDisputeResolverByIdQuery(variables: import("../subgraph").Exact<{
|
|
89
113
|
disputeResolverId: string;
|
|
@@ -92,7 +116,13 @@ export declare function getSubgraphSdk(subgraphUrl: string): {
|
|
|
92
116
|
offersOrderBy?: import("../subgraph").Offer_OrderBy;
|
|
93
117
|
offersOrderDirection?: import("../subgraph").OrderDirection;
|
|
94
118
|
offersFilter?: import("../subgraph").Offer_Filter;
|
|
119
|
+
logsSkip?: number;
|
|
120
|
+
logsFirst?: number;
|
|
121
|
+
logsOrderBy?: import("../subgraph").EventLog_OrderBy;
|
|
122
|
+
logsOrderDirection?: import("../subgraph").OrderDirection;
|
|
123
|
+
logsFilter?: import("../subgraph").EventLog_Filter;
|
|
95
124
|
includeOffers?: boolean;
|
|
125
|
+
includeLogs?: boolean;
|
|
96
126
|
}>, requestHeaders?: Record<string, string> | import("graphql-request/dist/types.dom").Headers | string[][]): Promise<import("../subgraph").GetDisputeResolverByIdQueryQuery>;
|
|
97
127
|
getDisputeResolversQuery(variables?: import("../subgraph").Exact<{
|
|
98
128
|
disputeResolversSkip?: number;
|
|
@@ -105,7 +135,13 @@ export declare function getSubgraphSdk(subgraphUrl: string): {
|
|
|
105
135
|
offersOrderBy?: import("../subgraph").Offer_OrderBy;
|
|
106
136
|
offersOrderDirection?: import("../subgraph").OrderDirection;
|
|
107
137
|
offersFilter?: import("../subgraph").Offer_Filter;
|
|
138
|
+
logsSkip?: number;
|
|
139
|
+
logsFirst?: number;
|
|
140
|
+
logsOrderBy?: import("../subgraph").EventLog_OrderBy;
|
|
141
|
+
logsOrderDirection?: import("../subgraph").OrderDirection;
|
|
142
|
+
logsFilter?: import("../subgraph").EventLog_Filter;
|
|
108
143
|
includeOffers?: boolean;
|
|
144
|
+
includeLogs?: boolean;
|
|
109
145
|
}>, requestHeaders?: Record<string, string> | import("graphql-request/dist/types.dom").Headers | string[][]): Promise<import("../subgraph").GetDisputeResolversQueryQuery>;
|
|
110
146
|
getDisputeByIdQuery(variables: import("../subgraph").Exact<{
|
|
111
147
|
disputeId: string;
|
|
@@ -162,6 +198,13 @@ export declare function getSubgraphSdk(subgraphUrl: string): {
|
|
|
162
198
|
fundsFilter?: import("../subgraph").FundsEntity_Filter;
|
|
163
199
|
includeFunds?: boolean;
|
|
164
200
|
}>, requestHeaders?: Record<string, string> | import("graphql-request/dist/types.dom").Headers | string[][]): Promise<import("../subgraph").GetExchangeTokensQueryQuery>;
|
|
201
|
+
getEventLogsQuery(variables?: import("../subgraph").Exact<{
|
|
202
|
+
logsSkip?: number;
|
|
203
|
+
logsFirst?: number;
|
|
204
|
+
logsOrderBy?: import("../subgraph").EventLog_OrderBy;
|
|
205
|
+
logsOrderDirection?: import("../subgraph").OrderDirection;
|
|
206
|
+
logsFilter?: import("../subgraph").EventLog_Filter;
|
|
207
|
+
}>, requestHeaders?: Record<string, string> | import("graphql-request/dist/types.dom").Headers | string[][]): Promise<import("../subgraph").GetEventLogsQueryQuery>;
|
|
165
208
|
getExchangeByIdQuery(variables: import("../subgraph").Exact<{
|
|
166
209
|
exchangeId: string;
|
|
167
210
|
}>, requestHeaders?: Record<string, string> | import("graphql-request/dist/types.dom").Headers | string[][]): Promise<import("../subgraph").GetExchangeByIdQueryQuery>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql.d.ts","sourceRoot":"","sources":["../../../src/utils/graphql.ts"],"names":[],"mappings":"AAGA,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"graphql.d.ts","sourceRoot":"","sources":["../../../src/utils/graphql.ts"],"names":[],"mappings":"AAGA,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGjD"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bosonprotocol/core-sdk",
|
|
3
|
-
"version": "1.16.0
|
|
3
|
+
"version": "1.16.0",
|
|
4
4
|
"description": "> TODO: description",
|
|
5
5
|
"main": "./dist/cjs/index.js",
|
|
6
6
|
"module": "./dist/esm/index.js",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"access": "restricted"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@bosonprotocol/common": "^1.12.0
|
|
36
|
+
"@bosonprotocol/common": "^1.12.0",
|
|
37
37
|
"@ethersproject/abi": "^5.5.0",
|
|
38
38
|
"@ethersproject/address": "^5.5.0",
|
|
39
39
|
"@ethersproject/bignumber": "^5.5.0",
|
|
@@ -54,5 +54,5 @@
|
|
|
54
54
|
"ts-jest": "^27.1.3",
|
|
55
55
|
"typescript": "^4.5.5"
|
|
56
56
|
},
|
|
57
|
-
"gitHead": "
|
|
57
|
+
"gitHead": "8678a1542dcdeec7991c9fcb99525ba7102d74a3"
|
|
58
58
|
}
|
|
@@ -15,9 +15,15 @@ query getSellerByIdQuery(
|
|
|
15
15
|
$exchangesOrderBy: Exchange_orderBy
|
|
16
16
|
$exchangesOrderDirection: OrderDirection
|
|
17
17
|
$exchangesFilter: Exchange_filter
|
|
18
|
+
$logsSkip: Int
|
|
19
|
+
$logsFirst: Int
|
|
20
|
+
$logsOrderBy: EventLog_orderBy
|
|
21
|
+
$logsOrderDirection: OrderDirection
|
|
22
|
+
$logsFilter: EventLog_filter
|
|
18
23
|
$includeExchanges: Boolean = false
|
|
19
24
|
$includeOffers: Boolean = false
|
|
20
25
|
$includeFunds: Boolean = false
|
|
26
|
+
$includeLogs: Boolean = false
|
|
21
27
|
) {
|
|
22
28
|
seller(id: $sellerId) {
|
|
23
29
|
...SellerFields
|
|
@@ -45,9 +51,15 @@ query getSellersQuery(
|
|
|
45
51
|
$exchangesOrderBy: Exchange_orderBy
|
|
46
52
|
$exchangesOrderDirection: OrderDirection
|
|
47
53
|
$exchangesFilter: Exchange_filter
|
|
54
|
+
$logsSkip: Int
|
|
55
|
+
$logsFirst: Int
|
|
56
|
+
$logsOrderBy: EventLog_orderBy
|
|
57
|
+
$logsOrderDirection: OrderDirection
|
|
58
|
+
$logsFilter: EventLog_filter
|
|
48
59
|
$includeExchanges: Boolean = false
|
|
49
60
|
$includeOffers: Boolean = false
|
|
50
61
|
$includeFunds: Boolean = false
|
|
62
|
+
$includeLogs: Boolean = false
|
|
51
63
|
) {
|
|
52
64
|
sellers(
|
|
53
65
|
skip: $sellersSkip
|
|
@@ -72,8 +84,14 @@ query getBuyerByIdQuery(
|
|
|
72
84
|
$exchangesOrderBy: Exchange_orderBy
|
|
73
85
|
$exchangesOrderDirection: OrderDirection
|
|
74
86
|
$exchangesFilter: Exchange_filter
|
|
87
|
+
$logsSkip: Int
|
|
88
|
+
$logsFirst: Int
|
|
89
|
+
$logsOrderBy: EventLog_orderBy
|
|
90
|
+
$logsOrderDirection: OrderDirection
|
|
91
|
+
$logsFilter: EventLog_filter
|
|
75
92
|
$includeExchanges: Boolean = false
|
|
76
93
|
$includeFunds: Boolean = false
|
|
94
|
+
$includeLogs: Boolean = false
|
|
77
95
|
) {
|
|
78
96
|
buyer(id: $buyerId) {
|
|
79
97
|
...BuyerFields
|
|
@@ -101,9 +119,15 @@ query getBuyersQuery(
|
|
|
101
119
|
$exchangesOrderBy: Exchange_orderBy
|
|
102
120
|
$exchangesOrderDirection: OrderDirection
|
|
103
121
|
$exchangesFilter: Exchange_filter
|
|
122
|
+
$logsSkip: Int
|
|
123
|
+
$logsFirst: Int
|
|
124
|
+
$logsOrderBy: EventLog_orderBy
|
|
125
|
+
$logsOrderDirection: OrderDirection
|
|
126
|
+
$logsFilter: EventLog_filter
|
|
104
127
|
$includeExchanges: Boolean = false
|
|
105
128
|
$includeOffers: Boolean = false
|
|
106
129
|
$includeFunds: Boolean = false
|
|
130
|
+
$includeLogs: Boolean = false
|
|
107
131
|
) {
|
|
108
132
|
buyers(
|
|
109
133
|
skip: $buyersSkip
|
|
@@ -123,7 +147,13 @@ query getDisputeResolverByIdQuery(
|
|
|
123
147
|
$offersOrderBy: Offer_orderBy
|
|
124
148
|
$offersOrderDirection: OrderDirection
|
|
125
149
|
$offersFilter: Offer_filter
|
|
150
|
+
$logsSkip: Int
|
|
151
|
+
$logsFirst: Int
|
|
152
|
+
$logsOrderBy: EventLog_orderBy
|
|
153
|
+
$logsOrderDirection: OrderDirection
|
|
154
|
+
$logsFilter: EventLog_filter
|
|
126
155
|
$includeOffers: Boolean = false
|
|
156
|
+
$includeLogs: Boolean = false
|
|
127
157
|
) {
|
|
128
158
|
disputeResolver(id: $disputeResolverId) {
|
|
129
159
|
...DisputeResolverFields
|
|
@@ -141,7 +171,13 @@ query getDisputeResolversQuery(
|
|
|
141
171
|
$offersOrderBy: Offer_orderBy
|
|
142
172
|
$offersOrderDirection: OrderDirection
|
|
143
173
|
$offersFilter: Offer_filter
|
|
174
|
+
$logsSkip: Int
|
|
175
|
+
$logsFirst: Int
|
|
176
|
+
$logsOrderBy: EventLog_orderBy
|
|
177
|
+
$logsOrderDirection: OrderDirection
|
|
178
|
+
$logsFilter: EventLog_filter
|
|
144
179
|
$includeOffers: Boolean = false
|
|
180
|
+
$includeLogs: Boolean = false
|
|
145
181
|
) {
|
|
146
182
|
disputeResolvers(
|
|
147
183
|
skip: $disputeResolversSkip
|
|
@@ -183,6 +219,15 @@ fragment SellerFields on Seller {
|
|
|
183
219
|
) @include(if: $includeExchanges) {
|
|
184
220
|
...BaseExchangeFields
|
|
185
221
|
}
|
|
222
|
+
logs(
|
|
223
|
+
skip: $logsSkip
|
|
224
|
+
first: $logsFirst
|
|
225
|
+
orderBy: $logsOrderBy
|
|
226
|
+
orderDirection: $logsOrderDirection
|
|
227
|
+
where: $logsFilter
|
|
228
|
+
) @include(if: $includeLogs) {
|
|
229
|
+
...BaseEventLogFields
|
|
230
|
+
}
|
|
186
231
|
}
|
|
187
232
|
|
|
188
233
|
fragment BaseSellerFields on Seller {
|
|
@@ -217,6 +262,15 @@ fragment BuyerFields on Buyer {
|
|
|
217
262
|
) @include(if: $includeExchanges) {
|
|
218
263
|
...BaseExchangeFields
|
|
219
264
|
}
|
|
265
|
+
logs(
|
|
266
|
+
skip: $logsSkip
|
|
267
|
+
first: $logsFirst
|
|
268
|
+
orderBy: $logsOrderBy
|
|
269
|
+
orderDirection: $logsOrderDirection
|
|
270
|
+
where: $logsFilter
|
|
271
|
+
) @include(if: $includeLogs) {
|
|
272
|
+
...BaseEventLogFields
|
|
273
|
+
}
|
|
220
274
|
}
|
|
221
275
|
|
|
222
276
|
fragment BaseBuyerFields on Buyer {
|
|
@@ -236,6 +290,15 @@ fragment DisputeResolverFields on DisputeResolver {
|
|
|
236
290
|
) @include(if: $includeOffers) {
|
|
237
291
|
...BaseOfferFields
|
|
238
292
|
}
|
|
293
|
+
logs(
|
|
294
|
+
skip: $logsSkip
|
|
295
|
+
first: $logsFirst
|
|
296
|
+
orderBy: $logsOrderBy
|
|
297
|
+
orderDirection: $logsOrderDirection
|
|
298
|
+
where: $logsFilter
|
|
299
|
+
) @include(if: $includeLogs) {
|
|
300
|
+
...BaseEventLogFields
|
|
301
|
+
}
|
|
239
302
|
}
|
|
240
303
|
|
|
241
304
|
fragment BaseDisputeResolverFields on DisputeResolver {
|
package/src/core-sdk.ts
CHANGED
|
@@ -5,12 +5,14 @@ import {
|
|
|
5
5
|
getDefaultConfig,
|
|
6
6
|
MetadataStorage,
|
|
7
7
|
AnyMetadata,
|
|
8
|
-
Log
|
|
8
|
+
Log,
|
|
9
|
+
MetaTxConfig
|
|
9
10
|
} from "@bosonprotocol/common";
|
|
10
11
|
import { BigNumberish } from "@ethersproject/bignumber";
|
|
11
12
|
import { AddressZero } from "@ethersproject/constants";
|
|
12
13
|
import { BytesLike } from "@ethersproject/bytes";
|
|
13
14
|
import { EnvironmentType } from "@bosonprotocol/common/src/types";
|
|
15
|
+
import { ContractTransaction } from "ethers";
|
|
14
16
|
|
|
15
17
|
import * as accounts from "./accounts";
|
|
16
18
|
import * as disputes from "./disputes";
|
|
@@ -22,6 +24,7 @@ import * as funds from "./funds";
|
|
|
22
24
|
import * as metaTx from "./meta-tx";
|
|
23
25
|
import * as metadata from "./metadata";
|
|
24
26
|
import * as subgraph from "./subgraph";
|
|
27
|
+
import * as eventLogs from "./event-logs";
|
|
25
28
|
|
|
26
29
|
import { getValueFromLogs } from "./utils/logs";
|
|
27
30
|
|
|
@@ -35,6 +38,8 @@ export class CoreSDK {
|
|
|
35
38
|
private _chainId: number;
|
|
36
39
|
private _tokenInfoManager: TokenInfoManager;
|
|
37
40
|
|
|
41
|
+
private _metaTxConfig?: Partial<MetaTxConfig>;
|
|
42
|
+
|
|
38
43
|
/**
|
|
39
44
|
* Creates an instance of `CoreSDK`
|
|
40
45
|
* @param args - Constructor args
|
|
@@ -46,6 +51,7 @@ export class CoreSDK {
|
|
|
46
51
|
metadataStorage?: MetadataStorage;
|
|
47
52
|
theGraphStorage?: MetadataStorage;
|
|
48
53
|
chainId: number;
|
|
54
|
+
metaTx?: Partial<MetaTxConfig>;
|
|
49
55
|
}) {
|
|
50
56
|
this._web3Lib = opts.web3Lib;
|
|
51
57
|
this._subgraphUrl = opts.subgraphUrl;
|
|
@@ -53,6 +59,7 @@ export class CoreSDK {
|
|
|
53
59
|
this._metadataStorage = opts.metadataStorage;
|
|
54
60
|
this._theGraphStorage = opts.theGraphStorage;
|
|
55
61
|
this._chainId = opts.chainId;
|
|
62
|
+
this._metaTxConfig = opts.metaTx;
|
|
56
63
|
}
|
|
57
64
|
|
|
58
65
|
/**
|
|
@@ -76,6 +83,7 @@ export class CoreSDK {
|
|
|
76
83
|
envName: EnvironmentType;
|
|
77
84
|
metadataStorage?: MetadataStorage;
|
|
78
85
|
theGraphStorage?: MetadataStorage;
|
|
86
|
+
metaTx?: Partial<MetaTxConfig>;
|
|
79
87
|
}) {
|
|
80
88
|
const defaultConfig = getDefaultConfig(args.envName);
|
|
81
89
|
|
|
@@ -85,10 +93,27 @@ export class CoreSDK {
|
|
|
85
93
|
theGraphStorage: args.theGraphStorage,
|
|
86
94
|
subgraphUrl: defaultConfig.subgraphUrl,
|
|
87
95
|
protocolDiamond: defaultConfig.contracts.protocolDiamond,
|
|
88
|
-
chainId: defaultConfig.chainId
|
|
96
|
+
chainId: defaultConfig.chainId,
|
|
97
|
+
metaTx: {
|
|
98
|
+
...defaultConfig.metaTx,
|
|
99
|
+
...args.metaTx
|
|
100
|
+
}
|
|
89
101
|
});
|
|
90
102
|
}
|
|
91
103
|
|
|
104
|
+
public get metaTxConfig() {
|
|
105
|
+
return this._metaTxConfig;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
public get isMetaTxConfigSet() {
|
|
109
|
+
return (
|
|
110
|
+
!!this._metaTxConfig &&
|
|
111
|
+
!!this._metaTxConfig.apiId &&
|
|
112
|
+
!!this._metaTxConfig.apiKey &&
|
|
113
|
+
!!this._metaTxConfig.relayerUrl
|
|
114
|
+
);
|
|
115
|
+
}
|
|
116
|
+
|
|
92
117
|
/* -------------------------------------------------------------------------- */
|
|
93
118
|
/* Metadata related methods */
|
|
94
119
|
/* -------------------------------------------------------------------------- */
|
|
@@ -979,6 +1004,23 @@ export class CoreSDK {
|
|
|
979
1004
|
});
|
|
980
1005
|
}
|
|
981
1006
|
|
|
1007
|
+
/**
|
|
1008
|
+
* Completes a batch of existing vouchers by calling the `ExchangeHandlerContract`.
|
|
1009
|
+
* Callable by buyer or seller operator.
|
|
1010
|
+
* @param exchangeIds - IDs of exchange to complete.
|
|
1011
|
+
* @returns Transaction response.
|
|
1012
|
+
*/
|
|
1013
|
+
public async completeExchangeBatch(
|
|
1014
|
+
exchangeIds: BigNumberish[]
|
|
1015
|
+
): Promise<TransactionResponse> {
|
|
1016
|
+
return exchanges.handler.completeExchangeBatch({
|
|
1017
|
+
web3Lib: this._web3Lib,
|
|
1018
|
+
contractAddress: this._protocolDiamond,
|
|
1019
|
+
exchangeIds,
|
|
1020
|
+
subgraphUrl: this._subgraphUrl
|
|
1021
|
+
});
|
|
1022
|
+
}
|
|
1023
|
+
|
|
982
1024
|
/**
|
|
983
1025
|
* Expires an existing voucher by calling the `ExchangeHandlerContract`.
|
|
984
1026
|
* @param exchangeId - ID of exchange to expire.
|
|
@@ -1388,4 +1430,77 @@ export class CoreSDK {
|
|
|
1388
1430
|
...args
|
|
1389
1431
|
});
|
|
1390
1432
|
}
|
|
1433
|
+
|
|
1434
|
+
/**
|
|
1435
|
+
* Relay a meta transaction,
|
|
1436
|
+
* @param metaTxParams - Required params for meta transaction.
|
|
1437
|
+
* @param overrides - Optional overrides.
|
|
1438
|
+
* @returns Transaction response.
|
|
1439
|
+
*/
|
|
1440
|
+
public async relayMetaTransaction(
|
|
1441
|
+
metaTxParams: {
|
|
1442
|
+
functionName: string;
|
|
1443
|
+
functionSignature: BytesLike;
|
|
1444
|
+
nonce: BigNumberish;
|
|
1445
|
+
sigR: BytesLike;
|
|
1446
|
+
sigS: BytesLike;
|
|
1447
|
+
sigV: BigNumberish;
|
|
1448
|
+
},
|
|
1449
|
+
overrides: Partial<{
|
|
1450
|
+
userAddress: string;
|
|
1451
|
+
contractAddress: string;
|
|
1452
|
+
metaTxConfig: Partial<MetaTxConfig>;
|
|
1453
|
+
}> = {}
|
|
1454
|
+
): Promise<ContractTransaction> {
|
|
1455
|
+
const metaTxRelayerUrl =
|
|
1456
|
+
this._metaTxConfig?.relayerUrl || overrides.metaTxConfig?.relayerUrl;
|
|
1457
|
+
const metaTxApiKey =
|
|
1458
|
+
this._metaTxConfig?.apiKey || overrides.metaTxConfig?.apiKey;
|
|
1459
|
+
const metaTxApiId =
|
|
1460
|
+
this._metaTxConfig?.apiId || overrides.metaTxConfig?.apiId;
|
|
1461
|
+
|
|
1462
|
+
if (!this.isMetaTxConfigSet) {
|
|
1463
|
+
throw new Error(
|
|
1464
|
+
"CoreSDK not configured to relay meta transactions. Either pass in 'relayerUrl', 'apiKey' and 'apiId' during initialization OR as overrides arguments."
|
|
1465
|
+
);
|
|
1466
|
+
}
|
|
1467
|
+
|
|
1468
|
+
return metaTx.handler.relayMetaTransaction({
|
|
1469
|
+
web3LibAdapter: this._web3Lib,
|
|
1470
|
+
contractAddress: overrides.contractAddress || this._protocolDiamond,
|
|
1471
|
+
chainId: this._chainId,
|
|
1472
|
+
metaTx: {
|
|
1473
|
+
config: {
|
|
1474
|
+
relayerUrl: metaTxRelayerUrl,
|
|
1475
|
+
apiId: metaTxApiId,
|
|
1476
|
+
apiKey: metaTxApiKey
|
|
1477
|
+
},
|
|
1478
|
+
params: {
|
|
1479
|
+
userAddress:
|
|
1480
|
+
overrides.userAddress || (await this._web3Lib.getSignerAddress()),
|
|
1481
|
+
functionName: metaTxParams.functionName,
|
|
1482
|
+
functionSignature: metaTxParams.functionSignature,
|
|
1483
|
+
nonce: metaTxParams.nonce,
|
|
1484
|
+
sigR: metaTxParams.sigR,
|
|
1485
|
+
sigS: metaTxParams.sigS,
|
|
1486
|
+
sigV: metaTxParams.sigV
|
|
1487
|
+
}
|
|
1488
|
+
}
|
|
1489
|
+
});
|
|
1490
|
+
}
|
|
1491
|
+
|
|
1492
|
+
/* -------------------------------------------------------------------------- */
|
|
1493
|
+
/* Event logs */
|
|
1494
|
+
/* -------------------------------------------------------------------------- */
|
|
1495
|
+
|
|
1496
|
+
/**
|
|
1497
|
+
* Returns event logs from subgraph.
|
|
1498
|
+
* @param queryVars - Optional query variables to skip, order or filter.
|
|
1499
|
+
* @returns Event log entities from subgraph.
|
|
1500
|
+
*/
|
|
1501
|
+
public async getEventLogs(
|
|
1502
|
+
queryVars?: subgraph.GetEventLogsQueryQueryVariables
|
|
1503
|
+
) {
|
|
1504
|
+
return eventLogs.subgraph.getEventLogs(this._subgraphUrl, queryVars);
|
|
1505
|
+
}
|
|
1391
1506
|
}
|
|
@@ -32,6 +32,15 @@ query getDisputesQuery(
|
|
|
32
32
|
|
|
33
33
|
fragment DisputeFields on Dispute {
|
|
34
34
|
...BaseDisputeFields
|
|
35
|
+
exchange {
|
|
36
|
+
...BaseExchangeFields
|
|
37
|
+
}
|
|
38
|
+
seller {
|
|
39
|
+
...BaseSellerFields
|
|
40
|
+
}
|
|
41
|
+
buyer {
|
|
42
|
+
...BaseBuyerFields
|
|
43
|
+
}
|
|
35
44
|
}
|
|
36
45
|
|
|
37
46
|
fragment BaseDisputeFields on Dispute {
|
|
@@ -47,13 +56,4 @@ fragment BaseDisputeFields on Dispute {
|
|
|
47
56
|
decidedDate
|
|
48
57
|
refusedDate
|
|
49
58
|
timeout
|
|
50
|
-
exchange {
|
|
51
|
-
...BaseExchangeFields
|
|
52
|
-
}
|
|
53
|
-
seller {
|
|
54
|
-
...BaseSellerFields
|
|
55
|
-
}
|
|
56
|
-
buyer {
|
|
57
|
-
...BaseBuyerFields
|
|
58
|
-
}
|
|
59
59
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * as subgraph from "./subgraph";
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
query getEventLogsQuery(
|
|
2
|
+
$logsSkip: Int
|
|
3
|
+
$logsFirst: Int
|
|
4
|
+
$logsOrderBy: EventLog_orderBy
|
|
5
|
+
$logsOrderDirection: OrderDirection
|
|
6
|
+
$logsFilter: EventLog_filter
|
|
7
|
+
) {
|
|
8
|
+
eventLogs(
|
|
9
|
+
skip: $logsSkip
|
|
10
|
+
first: $logsFirst
|
|
11
|
+
orderBy: $logsOrderBy
|
|
12
|
+
orderDirection: $logsOrderDirection
|
|
13
|
+
where: $logsFilter
|
|
14
|
+
) {
|
|
15
|
+
...BaseEventLogFields
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
fragment BaseEventLogFields on EventLog {
|
|
20
|
+
id
|
|
21
|
+
hash
|
|
22
|
+
type
|
|
23
|
+
timestamp
|
|
24
|
+
executedBy
|
|
25
|
+
|
|
26
|
+
account {
|
|
27
|
+
id
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
... on OfferEventLog {
|
|
31
|
+
offer {
|
|
32
|
+
id
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
... on ExchangeEventLog {
|
|
37
|
+
exchange {
|
|
38
|
+
id
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
... on FundsEventLog {
|
|
43
|
+
funds {
|
|
44
|
+
id
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
... on DisputeEventLog {
|
|
49
|
+
dispute {
|
|
50
|
+
id
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { getSubgraphSdk } from "../utils/graphql";
|
|
2
|
+
import {
|
|
3
|
+
GetEventLogsQueryQueryVariables,
|
|
4
|
+
BaseEventLogFieldsFragment
|
|
5
|
+
} from "../subgraph";
|
|
6
|
+
|
|
7
|
+
export async function getEventLogs(
|
|
8
|
+
subgraphUrl: string,
|
|
9
|
+
queryVars: GetEventLogsQueryQueryVariables = {}
|
|
10
|
+
): Promise<BaseEventLogFieldsFragment[]> {
|
|
11
|
+
const subgraphSdk = getSubgraphSdk(subgraphUrl);
|
|
12
|
+
const { eventLogs = [] } = await subgraphSdk.getEventLogsQuery(queryVars);
|
|
13
|
+
return eventLogs;
|
|
14
|
+
}
|
package/src/exchanges/handler.ts
CHANGED
|
@@ -5,12 +5,13 @@ import {
|
|
|
5
5
|
encodeCancelVoucher,
|
|
6
6
|
encodeCommitToOffer,
|
|
7
7
|
encodeCompleteExchange,
|
|
8
|
+
encodeCompleteExchangeBatch,
|
|
8
9
|
encodeRevokeVoucher,
|
|
9
10
|
encodeExpireVoucher,
|
|
10
11
|
encodeRedeemVoucher
|
|
11
12
|
} from "./interface";
|
|
12
13
|
import { getOfferById } from "../offers/subgraph";
|
|
13
|
-
import { getExchangeById } from "../exchanges/subgraph";
|
|
14
|
+
import { getExchangeById, getExchanges } from "../exchanges/subgraph";
|
|
14
15
|
import { ExchangeFieldsFragment, ExchangeState } from "../subgraph";
|
|
15
16
|
|
|
16
17
|
type BaseExchangeHandlerArgs = {
|
|
@@ -65,31 +66,35 @@ export async function completeExchange(
|
|
|
65
66
|
args.web3Lib.getSignerAddress()
|
|
66
67
|
]);
|
|
67
68
|
|
|
68
|
-
|
|
69
|
+
assertCompletableExchange(args.exchangeId, exchange, signerAddress);
|
|
69
70
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
);
|
|
71
|
+
return args.web3Lib.sendTransaction({
|
|
72
|
+
to: args.contractAddress,
|
|
73
|
+
data: encodeCompleteExchange(args.exchangeId)
|
|
74
|
+
});
|
|
75
|
+
}
|
|
74
76
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
77
|
+
export async function completeExchangeBatch(
|
|
78
|
+
args: BaseExchangeHandlerArgs & {
|
|
79
|
+
exchangeIds: BigNumberish[];
|
|
80
|
+
}
|
|
81
|
+
) {
|
|
82
|
+
const [exchanges, signerAddress] = await Promise.all([
|
|
83
|
+
getExchanges(args.subgraphUrl, {
|
|
84
|
+
exchangesFilter: {
|
|
85
|
+
id_in: args.exchangeIds.map((id) => id.toString())
|
|
86
|
+
}
|
|
87
|
+
}),
|
|
88
|
+
args.web3Lib.getSignerAddress()
|
|
89
|
+
]);
|
|
90
|
+
|
|
91
|
+
for (const exchange of exchanges) {
|
|
92
|
+
assertCompletableExchange(exchange.id, exchange, signerAddress);
|
|
88
93
|
}
|
|
89
94
|
|
|
90
95
|
return args.web3Lib.sendTransaction({
|
|
91
96
|
to: args.contractAddress,
|
|
92
|
-
data:
|
|
97
|
+
data: encodeCompleteExchangeBatch(args.exchangeIds)
|
|
93
98
|
});
|
|
94
99
|
}
|
|
95
100
|
|
|
@@ -238,3 +243,28 @@ function assertSignerIsBuyerOrOperator(
|
|
|
238
243
|
|
|
239
244
|
return { isSignerBuyer, isSignerOperator };
|
|
240
245
|
}
|
|
246
|
+
|
|
247
|
+
function assertCompletableExchange(
|
|
248
|
+
exchangeId: BigNumberish,
|
|
249
|
+
exchange: ExchangeFieldsFragment | null,
|
|
250
|
+
signer: string
|
|
251
|
+
) {
|
|
252
|
+
assertExchange(exchangeId, exchange);
|
|
253
|
+
|
|
254
|
+
const { isSignerOperator } = assertSignerIsBuyerOrOperator(signer, exchange);
|
|
255
|
+
|
|
256
|
+
if (isSignerOperator) {
|
|
257
|
+
const elapsedSinceRedeemMS =
|
|
258
|
+
Date.now() - Number(exchange.redeemedDate || "0") * 1000;
|
|
259
|
+
const didFulfillmentPeriodElapse =
|
|
260
|
+
elapsedSinceRedeemMS >
|
|
261
|
+
Number(exchange.offer.fulfillmentPeriodDuration) * 1000;
|
|
262
|
+
if (!didFulfillmentPeriodElapse) {
|
|
263
|
+
throw new Error(
|
|
264
|
+
`Fulfillment period of ${
|
|
265
|
+
Number(exchange.offer.fulfillmentPeriodDuration) * 1000
|
|
266
|
+
} ms did not elapsed since redeem.`
|
|
267
|
+
);
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
}
|
|
@@ -19,6 +19,12 @@ export function encodeCompleteExchange(exchangeId: BigNumberish) {
|
|
|
19
19
|
]);
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
+
export function encodeCompleteExchangeBatch(exchangeIds: BigNumberish[]) {
|
|
23
|
+
return bosonExchangeHandlerIface.encodeFunctionData("completeExchangeBatch", [
|
|
24
|
+
exchangeIds
|
|
25
|
+
]);
|
|
26
|
+
}
|
|
27
|
+
|
|
22
28
|
export function encodeRevokeVoucher(exchangeId: BigNumberish) {
|
|
23
29
|
return bosonExchangeHandlerIface.encodeFunctionData("revokeVoucher", [
|
|
24
30
|
exchangeId
|