@bosonprotocol/core-sdk 1.23.0-alpha.16 → 1.23.0-alpha.18
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/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 +40 -0
- package/dist/cjs/metadata/mixin.d.ts.map +1 -0
- package/dist/cjs/metadata/mixin.js +102 -0
- package/dist/cjs/metadata/mixin.js.map +1 -0
- 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 +132 -0
- package/dist/cjs/offers/mixin.d.ts.map +1 -0
- package/dist/cjs/offers/mixin.js +292 -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 +48 -24
- package/dist/cjs/subgraph.d.ts.map +1 -1
- package/dist/cjs/subgraph.js +1 -1
- package/dist/cjs/subgraph.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/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 +40 -0
- package/dist/esm/metadata/mixin.d.ts.map +1 -0
- package/dist/esm/metadata/mixin.js +54 -0
- package/dist/esm/metadata/mixin.js.map +1 -0
- 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 +132 -0
- package/dist/esm/offers/mixin.d.ts.map +1 -0
- package/dist/esm/offers/mixin.js +232 -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 +48 -24
- package/dist/esm/subgraph.d.ts.map +1 -1
- package/dist/esm/subgraph.js +1 -1
- package/dist/esm/subgraph.js.map +1 -1
- package/package.json +3 -3
- package/src/accounts/mixin.ts +484 -0
- package/src/core-sdk.ts +42 -2103
- package/src/disputes/mixin.ts +240 -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 +85 -0
- package/src/mixins/base-core-sdk.ts +96 -0
- package/src/native-meta-tx/mixin.ts +77 -0
- package/src/offers/mixin.ts +322 -0
- package/src/offers/queries.graphql +1 -1
- package/src/orchestration/mixin.ts +57 -0
- package/src/subgraph.ts +49 -25
|
@@ -0,0 +1,515 @@
|
|
|
1
|
+
import { MetaTxConfig, TransactionResponse } from "@bosonprotocol/common";
|
|
2
|
+
import { BigNumberish } from "@ethersproject/bignumber";
|
|
3
|
+
import { BytesLike } from "@ethersproject/bytes";
|
|
4
|
+
import { handler } from ".";
|
|
5
|
+
import { BaseCoreSDK } from "./../mixins/base-core-sdk";
|
|
6
|
+
import { GetRetriedHashesData } from "./biconomy";
|
|
7
|
+
export class MetaTxMixin extends BaseCoreSDK {
|
|
8
|
+
/* -------------------------------------------------------------------------- */
|
|
9
|
+
/* Meta Tx related methods */
|
|
10
|
+
/* -------------------------------------------------------------------------- */
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Encodes and signs a meta transaction that can be relayed.
|
|
14
|
+
* @param args - Meta transaction args.
|
|
15
|
+
* @returns Signature.
|
|
16
|
+
*/
|
|
17
|
+
public async signMetaTx(
|
|
18
|
+
args: Omit<
|
|
19
|
+
Parameters<typeof handler.signMetaTx>[0],
|
|
20
|
+
"web3Lib" | "metaTxHandlerAddress" | "chainId"
|
|
21
|
+
>
|
|
22
|
+
) {
|
|
23
|
+
return handler.signMetaTx({
|
|
24
|
+
web3Lib: this._web3Lib,
|
|
25
|
+
metaTxHandlerAddress: this._protocolDiamond,
|
|
26
|
+
chainId: this._chainId,
|
|
27
|
+
...args
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Encodes and signs a meta transaction for `createSeller` that can be relayed.
|
|
33
|
+
* @param args - Meta transaction args.
|
|
34
|
+
* @returns Signature.
|
|
35
|
+
*/
|
|
36
|
+
public async signMetaTxCreateSeller(
|
|
37
|
+
args: Omit<
|
|
38
|
+
Parameters<typeof handler.signMetaTxCreateSeller>[0],
|
|
39
|
+
"web3Lib" | "metaTxHandlerAddress" | "chainId"
|
|
40
|
+
>
|
|
41
|
+
) {
|
|
42
|
+
return handler.signMetaTxCreateSeller({
|
|
43
|
+
web3Lib: this._web3Lib,
|
|
44
|
+
metaTxHandlerAddress: this._protocolDiamond,
|
|
45
|
+
chainId: this._chainId,
|
|
46
|
+
...args
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Encodes and signs a meta transaction for `createOffer` that can be relayed.
|
|
52
|
+
* @param args - Meta transaction args.
|
|
53
|
+
* @returns Signature.
|
|
54
|
+
*/
|
|
55
|
+
public async signMetaTxCreateOffer(
|
|
56
|
+
args: Omit<
|
|
57
|
+
Parameters<typeof handler.signMetaTxCreateOffer>[0],
|
|
58
|
+
"web3Lib" | "metaTxHandlerAddress" | "chainId"
|
|
59
|
+
>
|
|
60
|
+
) {
|
|
61
|
+
return handler.signMetaTxCreateOffer({
|
|
62
|
+
web3Lib: this._web3Lib,
|
|
63
|
+
theGraphStorage: this._theGraphStorage,
|
|
64
|
+
metadataStorage: this._metadataStorage,
|
|
65
|
+
metaTxHandlerAddress: this._protocolDiamond,
|
|
66
|
+
chainId: this._chainId,
|
|
67
|
+
...args
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Encodes and signs a meta transaction for `createOfferBatch` that can be relayed.
|
|
73
|
+
* @param args - Meta transaction args.
|
|
74
|
+
* @returns Signature.
|
|
75
|
+
*/
|
|
76
|
+
public async signMetaTxCreateOfferBatch(
|
|
77
|
+
args: Omit<
|
|
78
|
+
Parameters<typeof handler.signMetaTxCreateOfferBatch>[0],
|
|
79
|
+
"web3Lib" | "metaTxHandlerAddress" | "chainId"
|
|
80
|
+
>
|
|
81
|
+
) {
|
|
82
|
+
return handler.signMetaTxCreateOfferBatch({
|
|
83
|
+
web3Lib: this._web3Lib,
|
|
84
|
+
theGraphStorage: this._theGraphStorage,
|
|
85
|
+
metadataStorage: this._metadataStorage,
|
|
86
|
+
metaTxHandlerAddress: this._protocolDiamond,
|
|
87
|
+
chainId: this._chainId,
|
|
88
|
+
...args
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Encodes and signs a meta transaction for `createGroup` that can be relayed.
|
|
94
|
+
* @param args - Meta transaction args.
|
|
95
|
+
* @returns Signature.
|
|
96
|
+
*/
|
|
97
|
+
public async signMetaTxCreateGroup(
|
|
98
|
+
args: Omit<
|
|
99
|
+
Parameters<typeof handler.signMetaTxCreateGroup>[0],
|
|
100
|
+
"web3Lib" | "metaTxHandlerAddress" | "chainId"
|
|
101
|
+
>
|
|
102
|
+
) {
|
|
103
|
+
return handler.signMetaTxCreateGroup({
|
|
104
|
+
web3Lib: this._web3Lib,
|
|
105
|
+
metaTxHandlerAddress: this._protocolDiamond,
|
|
106
|
+
chainId: this._chainId,
|
|
107
|
+
...args
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Encodes and signs a meta transaction for `createOfferWithCondition` that can be relayed.
|
|
113
|
+
* @param args - Meta transaction args.
|
|
114
|
+
* @returns Signature.
|
|
115
|
+
*/
|
|
116
|
+
public async signMetaTxCreateOfferWithCondition(
|
|
117
|
+
args: Omit<
|
|
118
|
+
Parameters<typeof handler.signMetaTxCreateOfferWithCondition>[0],
|
|
119
|
+
"web3Lib" | "metaTxHandlerAddress" | "chainId"
|
|
120
|
+
>
|
|
121
|
+
) {
|
|
122
|
+
return handler.signMetaTxCreateOfferWithCondition({
|
|
123
|
+
web3Lib: this._web3Lib,
|
|
124
|
+
theGraphStorage: this._theGraphStorage,
|
|
125
|
+
metadataStorage: this._metadataStorage,
|
|
126
|
+
metaTxHandlerAddress: this._protocolDiamond,
|
|
127
|
+
chainId: this._chainId,
|
|
128
|
+
...args
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Encodes and signs a meta transaction for `voidOffer` that can be relayed.
|
|
134
|
+
* @param args - Meta transaction args.
|
|
135
|
+
* @returns Signature.
|
|
136
|
+
*/
|
|
137
|
+
public async signMetaTxVoidOffer(
|
|
138
|
+
args: Omit<
|
|
139
|
+
Parameters<typeof handler.signMetaTxVoidOffer>[0],
|
|
140
|
+
"web3Lib" | "metaTxHandlerAddress" | "chainId"
|
|
141
|
+
>
|
|
142
|
+
) {
|
|
143
|
+
return handler.signMetaTxVoidOffer({
|
|
144
|
+
web3Lib: this._web3Lib,
|
|
145
|
+
metaTxHandlerAddress: this._protocolDiamond,
|
|
146
|
+
chainId: this._chainId,
|
|
147
|
+
...args
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* Encodes and signs a meta transaction for `voidOfferBatch` that can be relayed.
|
|
153
|
+
* @param args - Meta transaction args.
|
|
154
|
+
* @returns Signature.
|
|
155
|
+
*/
|
|
156
|
+
public async signMetaTxVoidOfferBatch(
|
|
157
|
+
args: Omit<
|
|
158
|
+
Parameters<typeof handler.signMetaTxVoidOfferBatch>[0],
|
|
159
|
+
"web3Lib" | "metaTxHandlerAddress" | "chainId"
|
|
160
|
+
>
|
|
161
|
+
) {
|
|
162
|
+
return handler.signMetaTxVoidOfferBatch({
|
|
163
|
+
web3Lib: this._web3Lib,
|
|
164
|
+
metaTxHandlerAddress: this._protocolDiamond,
|
|
165
|
+
chainId: this._chainId,
|
|
166
|
+
...args
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* Encodes and signs a meta transaction for `completeExchangeBatch` that can be relayed.
|
|
172
|
+
* @param args - Meta transaction args.
|
|
173
|
+
* @returns Signature.
|
|
174
|
+
*/
|
|
175
|
+
public async signMetaTxCompleteExchange(
|
|
176
|
+
args: Omit<
|
|
177
|
+
Parameters<typeof handler.signMetaTxCompleteExchange>[0],
|
|
178
|
+
"web3Lib" | "metaTxHandlerAddress" | "chainId"
|
|
179
|
+
>
|
|
180
|
+
) {
|
|
181
|
+
return handler.signMetaTxCompleteExchange({
|
|
182
|
+
web3Lib: this._web3Lib,
|
|
183
|
+
metaTxHandlerAddress: this._protocolDiamond,
|
|
184
|
+
chainId: this._chainId,
|
|
185
|
+
...args
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* Encodes and signs a meta transaction for `completeExchangeBatch` that can be relayed.
|
|
191
|
+
* @param args - Meta transaction args.
|
|
192
|
+
* @returns Signature.
|
|
193
|
+
*/
|
|
194
|
+
public async signMetaTxCompleteExchangeBatch(
|
|
195
|
+
args: Omit<
|
|
196
|
+
Parameters<typeof handler.signMetaTxCompleteExchangeBatch>[0],
|
|
197
|
+
"web3Lib" | "metaTxHandlerAddress" | "chainId"
|
|
198
|
+
>
|
|
199
|
+
) {
|
|
200
|
+
return handler.signMetaTxCompleteExchangeBatch({
|
|
201
|
+
web3Lib: this._web3Lib,
|
|
202
|
+
metaTxHandlerAddress: this._protocolDiamond,
|
|
203
|
+
chainId: this._chainId,
|
|
204
|
+
...args
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
/**
|
|
209
|
+
* Encodes and signs a meta transaction for `commitToOffer` that can be relayed.
|
|
210
|
+
* @param args - Meta transaction args.
|
|
211
|
+
* @returns Signature.
|
|
212
|
+
*/
|
|
213
|
+
public async signMetaTxCommitToOffer(
|
|
214
|
+
args: Omit<
|
|
215
|
+
Parameters<typeof handler.signMetaTxCommitToOffer>[0],
|
|
216
|
+
"web3Lib" | "metaTxHandlerAddress" | "chainId"
|
|
217
|
+
>
|
|
218
|
+
) {
|
|
219
|
+
return handler.signMetaTxCommitToOffer({
|
|
220
|
+
web3Lib: this._web3Lib,
|
|
221
|
+
metaTxHandlerAddress: this._protocolDiamond,
|
|
222
|
+
chainId: this._chainId,
|
|
223
|
+
...args
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
/**
|
|
228
|
+
* Encodes and signs a meta transaction for `cancelVoucher` that can be relayed.
|
|
229
|
+
* @param args - Meta transaction args.
|
|
230
|
+
* @returns Signature.
|
|
231
|
+
*/
|
|
232
|
+
public async signMetaTxCancelVoucher(
|
|
233
|
+
args: Omit<
|
|
234
|
+
Parameters<typeof handler.signMetaTxCancelVoucher>[0],
|
|
235
|
+
"web3Lib" | "metaTxHandlerAddress" | "chainId"
|
|
236
|
+
>
|
|
237
|
+
) {
|
|
238
|
+
return handler.signMetaTxCancelVoucher({
|
|
239
|
+
web3Lib: this._web3Lib,
|
|
240
|
+
metaTxHandlerAddress: this._protocolDiamond,
|
|
241
|
+
chainId: this._chainId,
|
|
242
|
+
...args
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
/**
|
|
247
|
+
* Encodes and signs a meta transaction for `redeemVoucher` that can be relayed.
|
|
248
|
+
* @param args - Meta transaction args.
|
|
249
|
+
* @returns Signature.
|
|
250
|
+
*/
|
|
251
|
+
public async signMetaTxRedeemVoucher(
|
|
252
|
+
args: Omit<
|
|
253
|
+
Parameters<typeof handler.signMetaTxRedeemVoucher>[0],
|
|
254
|
+
"web3Lib" | "metaTxHandlerAddress" | "chainId"
|
|
255
|
+
>
|
|
256
|
+
) {
|
|
257
|
+
return handler.signMetaTxRedeemVoucher({
|
|
258
|
+
web3Lib: this._web3Lib,
|
|
259
|
+
metaTxHandlerAddress: this._protocolDiamond,
|
|
260
|
+
chainId: this._chainId,
|
|
261
|
+
...args
|
|
262
|
+
});
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
/**
|
|
266
|
+
* Encodes and signs a meta transaction for `expireVoucher` that can be relayed.
|
|
267
|
+
* @param args - Meta transaction args.
|
|
268
|
+
* @returns Signature.
|
|
269
|
+
*/
|
|
270
|
+
public async signMetaTxExpireVoucher(
|
|
271
|
+
args: Omit<
|
|
272
|
+
Parameters<typeof handler.signMetaTxExpireVoucher>[0],
|
|
273
|
+
"web3Lib" | "metaTxHandlerAddress" | "chainId"
|
|
274
|
+
>
|
|
275
|
+
) {
|
|
276
|
+
return handler.signMetaTxExpireVoucher({
|
|
277
|
+
web3Lib: this._web3Lib,
|
|
278
|
+
metaTxHandlerAddress: this._protocolDiamond,
|
|
279
|
+
chainId: this._chainId,
|
|
280
|
+
...args
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
/**
|
|
285
|
+
* Encodes and signs a meta transaction for `revokeVoucher` that can be relayed.
|
|
286
|
+
* @param args - Meta transaction args.
|
|
287
|
+
* @returns Signature.
|
|
288
|
+
*/
|
|
289
|
+
public async signMetaTxRevokeVoucher(
|
|
290
|
+
args: Omit<
|
|
291
|
+
Parameters<typeof handler.signMetaTxRevokeVoucher>[0],
|
|
292
|
+
"web3Lib" | "metaTxHandlerAddress" | "chainId"
|
|
293
|
+
>
|
|
294
|
+
) {
|
|
295
|
+
return handler.signMetaTxRevokeVoucher({
|
|
296
|
+
web3Lib: this._web3Lib,
|
|
297
|
+
metaTxHandlerAddress: this._protocolDiamond,
|
|
298
|
+
chainId: this._chainId,
|
|
299
|
+
...args
|
|
300
|
+
});
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
/**
|
|
304
|
+
* Encodes and signs a meta transaction for `retractDispute` that can be relayed.
|
|
305
|
+
* @param args - Meta transaction args.
|
|
306
|
+
* @returns Signature.
|
|
307
|
+
*/
|
|
308
|
+
public async signMetaTxRetractDispute(
|
|
309
|
+
args: Omit<
|
|
310
|
+
Parameters<typeof handler.signMetaTxRetractDispute>[0],
|
|
311
|
+
"web3Lib" | "metaTxHandlerAddress" | "chainId"
|
|
312
|
+
>
|
|
313
|
+
) {
|
|
314
|
+
return handler.signMetaTxRetractDispute({
|
|
315
|
+
web3Lib: this._web3Lib,
|
|
316
|
+
metaTxHandlerAddress: this._protocolDiamond,
|
|
317
|
+
chainId: this._chainId,
|
|
318
|
+
...args
|
|
319
|
+
});
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
/**
|
|
323
|
+
* Encodes and signs a meta transaction for `escalateDispute` that can be relayed.
|
|
324
|
+
* @param args - Meta transaction args.
|
|
325
|
+
* @returns Signature.
|
|
326
|
+
*/
|
|
327
|
+
public async signMetaTxEscalateDispute(
|
|
328
|
+
args: Omit<
|
|
329
|
+
Parameters<typeof handler.signMetaTxEscalateDispute>[0],
|
|
330
|
+
"web3Lib" | "metaTxHandlerAddress" | "chainId"
|
|
331
|
+
>
|
|
332
|
+
) {
|
|
333
|
+
return handler.signMetaTxEscalateDispute({
|
|
334
|
+
web3Lib: this._web3Lib,
|
|
335
|
+
metaTxHandlerAddress: this._protocolDiamond,
|
|
336
|
+
chainId: this._chainId,
|
|
337
|
+
...args
|
|
338
|
+
});
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
/**
|
|
342
|
+
* Encodes and signs a meta transaction for `raiseDispute` that can be relayed.
|
|
343
|
+
* @param args - Meta transaction args.
|
|
344
|
+
* @returns Signature.
|
|
345
|
+
*/
|
|
346
|
+
public async signMetaTxRaiseDispute(
|
|
347
|
+
args: Omit<
|
|
348
|
+
Parameters<typeof handler.signMetaTxRaiseDispute>[0],
|
|
349
|
+
"web3Lib" | "metaTxHandlerAddress" | "chainId"
|
|
350
|
+
>
|
|
351
|
+
) {
|
|
352
|
+
return handler.signMetaTxRaiseDispute({
|
|
353
|
+
web3Lib: this._web3Lib,
|
|
354
|
+
metaTxHandlerAddress: this._protocolDiamond,
|
|
355
|
+
chainId: this._chainId,
|
|
356
|
+
...args
|
|
357
|
+
});
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
/**
|
|
361
|
+
* Encodes and signs a meta transaction for `resolveDispute` that can be relayed.
|
|
362
|
+
* @param args - Meta transaction args.
|
|
363
|
+
* @returns Signature.
|
|
364
|
+
*/
|
|
365
|
+
public async signMetaTxResolveDispute(
|
|
366
|
+
args: Omit<
|
|
367
|
+
Parameters<typeof handler.signMetaTxResolveDispute>[0],
|
|
368
|
+
"web3Lib" | "metaTxHandlerAddress" | "chainId"
|
|
369
|
+
>
|
|
370
|
+
) {
|
|
371
|
+
return handler.signMetaTxResolveDispute({
|
|
372
|
+
web3Lib: this._web3Lib,
|
|
373
|
+
metaTxHandlerAddress: this._protocolDiamond,
|
|
374
|
+
chainId: this._chainId,
|
|
375
|
+
...args
|
|
376
|
+
});
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
/**
|
|
380
|
+
* Encodes and signs a meta transaction for `extendDisputeTimeout` that can be relayed.
|
|
381
|
+
* @param args - Meta transaction args.
|
|
382
|
+
* @returns Signature.
|
|
383
|
+
*/
|
|
384
|
+
public async signMetaTxExtendDisputeTimeout(
|
|
385
|
+
args: Omit<
|
|
386
|
+
Parameters<typeof handler.signMetaTxExtendDisputeTimeout>[0],
|
|
387
|
+
"web3Lib" | "metaTxHandlerAddress" | "chainId"
|
|
388
|
+
>
|
|
389
|
+
) {
|
|
390
|
+
return handler.signMetaTxExtendDisputeTimeout({
|
|
391
|
+
web3Lib: this._web3Lib,
|
|
392
|
+
metaTxHandlerAddress: this._protocolDiamond,
|
|
393
|
+
chainId: this._chainId,
|
|
394
|
+
...args
|
|
395
|
+
});
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
/**
|
|
399
|
+
* Encodes and signs a meta transaction for `withdrawFunds` that can be relayed.
|
|
400
|
+
* @param args - Meta transaction args.
|
|
401
|
+
* @returns Signature.
|
|
402
|
+
*/
|
|
403
|
+
public async signMetaTxWithdrawFunds(
|
|
404
|
+
args: Omit<
|
|
405
|
+
Parameters<typeof handler.signMetaTxWithdrawFunds>[0],
|
|
406
|
+
"web3Lib" | "metaTxHandlerAddress" | "chainId"
|
|
407
|
+
>
|
|
408
|
+
) {
|
|
409
|
+
return handler.signMetaTxWithdrawFunds({
|
|
410
|
+
web3Lib: this._web3Lib,
|
|
411
|
+
metaTxHandlerAddress: this._protocolDiamond,
|
|
412
|
+
chainId: this._chainId,
|
|
413
|
+
...args
|
|
414
|
+
});
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
/**
|
|
418
|
+
* Encodes and signs a meta transaction for `depositFunds` that can be relayed.
|
|
419
|
+
* @param args - Meta transaction args.
|
|
420
|
+
* @returns Signature.
|
|
421
|
+
*/
|
|
422
|
+
public async signMetaTxDepositFunds(
|
|
423
|
+
args: Omit<
|
|
424
|
+
Parameters<typeof handler.signMetaTxDepositFunds>[0],
|
|
425
|
+
"web3Lib" | "metaTxHandlerAddress" | "chainId"
|
|
426
|
+
>
|
|
427
|
+
) {
|
|
428
|
+
return handler.signMetaTxDepositFunds({
|
|
429
|
+
web3Lib: this._web3Lib,
|
|
430
|
+
metaTxHandlerAddress: this._protocolDiamond,
|
|
431
|
+
chainId: this._chainId,
|
|
432
|
+
...args
|
|
433
|
+
});
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
/**
|
|
437
|
+
* Relay a meta transaction,
|
|
438
|
+
* @param metaTxParams - Required params for meta transaction.
|
|
439
|
+
* @param overrides - Optional overrides.
|
|
440
|
+
* @returns Transaction response.
|
|
441
|
+
*/
|
|
442
|
+
public async relayMetaTransaction(
|
|
443
|
+
metaTxParams: {
|
|
444
|
+
functionName: string;
|
|
445
|
+
functionSignature: BytesLike;
|
|
446
|
+
nonce: BigNumberish;
|
|
447
|
+
sigR: BytesLike;
|
|
448
|
+
sigS: BytesLike;
|
|
449
|
+
sigV: BigNumberish;
|
|
450
|
+
},
|
|
451
|
+
overrides: Partial<{
|
|
452
|
+
userAddress: string;
|
|
453
|
+
contractAddress: string;
|
|
454
|
+
metaTxConfig: Partial<Omit<MetaTxConfig, "apiIds"> & { apiId: string }>;
|
|
455
|
+
metaTransactionMethod: string;
|
|
456
|
+
}> = {}
|
|
457
|
+
): Promise<TransactionResponse> {
|
|
458
|
+
const { metaTxApiId, metaTxApiKey, metaTxRelayerUrl, contractAddress } =
|
|
459
|
+
this.assertAndGetMetaTxConfig(overrides);
|
|
460
|
+
|
|
461
|
+
return handler.relayMetaTransaction({
|
|
462
|
+
web3LibAdapter: this._web3Lib,
|
|
463
|
+
contractAddress,
|
|
464
|
+
chainId: this._chainId,
|
|
465
|
+
metaTx: {
|
|
466
|
+
config: {
|
|
467
|
+
relayerUrl: metaTxRelayerUrl,
|
|
468
|
+
apiId: metaTxApiId,
|
|
469
|
+
apiKey: metaTxApiKey
|
|
470
|
+
},
|
|
471
|
+
params: {
|
|
472
|
+
userAddress:
|
|
473
|
+
overrides.userAddress || (await this._web3Lib.getSignerAddress()),
|
|
474
|
+
functionName: metaTxParams.functionName,
|
|
475
|
+
functionSignature: metaTxParams.functionSignature,
|
|
476
|
+
nonce: metaTxParams.nonce,
|
|
477
|
+
sigR: metaTxParams.sigR,
|
|
478
|
+
sigS: metaTxParams.sigS,
|
|
479
|
+
sigV: metaTxParams.sigV
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
});
|
|
483
|
+
}
|
|
484
|
+
|
|
485
|
+
/**
|
|
486
|
+
* Returns information of submitted meta transaction.
|
|
487
|
+
* See https://docs.biconomy.io/api/native-meta-tx/get-retried-hashes.
|
|
488
|
+
* @param originalMetaTxHash - Original meta transaction as returned by `coreSDK.relayMetaTransaction`
|
|
489
|
+
* @param overrides - Optional overrides for meta transaction config.
|
|
490
|
+
* @returns - Additional meta transaction information.
|
|
491
|
+
*/
|
|
492
|
+
public async getResubmittedMetaTx(
|
|
493
|
+
originalMetaTxHash: string,
|
|
494
|
+
overrides: Partial<{
|
|
495
|
+
contractAddress: string;
|
|
496
|
+
metaTxConfig: Partial<Omit<MetaTxConfig, "apiIds"> & { apiId: string }>;
|
|
497
|
+
metaTransactionMethod: string;
|
|
498
|
+
}> = {}
|
|
499
|
+
): Promise<GetRetriedHashesData> {
|
|
500
|
+
const { metaTxApiId, metaTxApiKey, metaTxRelayerUrl } =
|
|
501
|
+
this.assertAndGetMetaTxConfig(overrides);
|
|
502
|
+
|
|
503
|
+
return handler.getResubmitted({
|
|
504
|
+
chainId: this._chainId,
|
|
505
|
+
metaTx: {
|
|
506
|
+
config: {
|
|
507
|
+
relayerUrl: metaTxRelayerUrl,
|
|
508
|
+
apiId: metaTxApiId,
|
|
509
|
+
apiKey: metaTxApiKey
|
|
510
|
+
},
|
|
511
|
+
originalHash: originalMetaTxHash
|
|
512
|
+
}
|
|
513
|
+
});
|
|
514
|
+
}
|
|
515
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { BaseCoreSDK } from "./../mixins/base-core-sdk";
|
|
2
|
+
import * as metadata from ".";
|
|
3
|
+
import * as subgraph from "../subgraph";
|
|
4
|
+
import { AnyMetadata } from "..";
|
|
5
|
+
|
|
6
|
+
export class MetadataMixin extends BaseCoreSDK {
|
|
7
|
+
/* -------------------------------------------------------------------------- */
|
|
8
|
+
/* Metadata related methods */
|
|
9
|
+
/* -------------------------------------------------------------------------- */
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Stores supported offer metadata via the MetadataStorage instance which was passed in
|
|
13
|
+
* at construction.
|
|
14
|
+
* @param metadata - Offer metadata of type `BASE` or `PRODUCT_V1`.
|
|
15
|
+
* @returns Metadata hash / identifier.
|
|
16
|
+
*/
|
|
17
|
+
public async storeMetadata(metadata: AnyMetadata): Promise<string> {
|
|
18
|
+
if (!this._metadataStorage) {
|
|
19
|
+
throw new Error("No metadata storage set");
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
return this._metadataStorage.storeMetadata(metadata);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Returns supported offer metadata from passed in `MetadataStorage` instance.
|
|
27
|
+
* @param metadataHashOrUri - Metadata hash or uri that can be handled by the
|
|
28
|
+
* storage instance.
|
|
29
|
+
* @returns Offer metadata.
|
|
30
|
+
*/
|
|
31
|
+
public async getMetadata(metadataHashOrUri: string): Promise<AnyMetadata> {
|
|
32
|
+
if (!this._metadataStorage) {
|
|
33
|
+
throw new Error("No metadata storage set");
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
return this._metadataStorage.getMetadata(metadataHashOrUri);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Returns `BASE` type offer metadata entities from subgraph.
|
|
41
|
+
* @param queryVars - Optional query variables to skip, order or filter.
|
|
42
|
+
* @returns BaseMetadataEntities from subgraph.
|
|
43
|
+
*/
|
|
44
|
+
public async getBaseMetadataEntities(
|
|
45
|
+
queryVars?: subgraph.GetBaseMetadataEntitiesQueryQueryVariables
|
|
46
|
+
): Promise<subgraph.BaseMetadataEntityFieldsFragment[]> {
|
|
47
|
+
return metadata.subgraph.getBaseMetadataEntities(
|
|
48
|
+
this._subgraphUrl,
|
|
49
|
+
queryVars
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Returns `PRODUCT_V1` type offer metadata entities from subgraph.
|
|
55
|
+
* @param queryVars - Optional query variables to skip, order or filter.
|
|
56
|
+
* @returns ProductV1MetadataEntities from subgraph.
|
|
57
|
+
*/
|
|
58
|
+
public async getProductV1MetadataEntities(
|
|
59
|
+
queryVars?: subgraph.GetProductV1MetadataEntitiesQueryQueryVariables
|
|
60
|
+
): Promise<subgraph.ProductV1MetadataEntityFieldsFragment[]> {
|
|
61
|
+
return metadata.subgraph.getProductV1MetadataEntities(
|
|
62
|
+
this._subgraphUrl,
|
|
63
|
+
queryVars
|
|
64
|
+
);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
public async getProductV1Products(
|
|
68
|
+
queryVars?: subgraph.GetProductV1ProductsQueryQueryVariables
|
|
69
|
+
): Promise<subgraph.BaseProductV1ProductFieldsFragment[]> {
|
|
70
|
+
return metadata.subgraph.getProductV1Products(this._subgraphUrl, queryVars);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
public async getProductWithVariants(productUuid: string): Promise<{
|
|
74
|
+
product: subgraph.BaseProductV1ProductFieldsFragment;
|
|
75
|
+
variants: Array<{
|
|
76
|
+
offer: subgraph.OfferFieldsFragment;
|
|
77
|
+
variations: Array<subgraph.ProductV1Variation>;
|
|
78
|
+
}>;
|
|
79
|
+
} | null> {
|
|
80
|
+
return metadata.subgraph.getProductWithVariants(
|
|
81
|
+
this._subgraphUrl,
|
|
82
|
+
productUuid
|
|
83
|
+
);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Web3LibAdapter,
|
|
3
|
+
MetadataStorage,
|
|
4
|
+
MetaTxConfig,
|
|
5
|
+
LensContracts
|
|
6
|
+
} from "@bosonprotocol/common";
|
|
7
|
+
import { TokenInfoManager } from "../utils/tokenInfoManager";
|
|
8
|
+
|
|
9
|
+
export class BaseCoreSDK {
|
|
10
|
+
protected _web3Lib: Web3LibAdapter;
|
|
11
|
+
protected _metadataStorage?: MetadataStorage;
|
|
12
|
+
protected _theGraphStorage?: MetadataStorage;
|
|
13
|
+
|
|
14
|
+
protected _subgraphUrl: string;
|
|
15
|
+
protected _protocolDiamond: string;
|
|
16
|
+
protected _chainId: number;
|
|
17
|
+
protected _tokenInfoManager: TokenInfoManager;
|
|
18
|
+
|
|
19
|
+
protected _metaTxConfig?: Partial<MetaTxConfig>;
|
|
20
|
+
protected _lensContracts?: LensContracts;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Creates an instance of `BaseCoreSDK`
|
|
24
|
+
* @param args - Constructor args
|
|
25
|
+
*/
|
|
26
|
+
constructor(opts: {
|
|
27
|
+
web3Lib: Web3LibAdapter;
|
|
28
|
+
subgraphUrl: string;
|
|
29
|
+
protocolDiamond: string;
|
|
30
|
+
metadataStorage?: MetadataStorage;
|
|
31
|
+
theGraphStorage?: MetadataStorage;
|
|
32
|
+
chainId: number;
|
|
33
|
+
metaTx?: Partial<MetaTxConfig>;
|
|
34
|
+
lensContracts?: LensContracts;
|
|
35
|
+
}) {
|
|
36
|
+
this._web3Lib = opts.web3Lib;
|
|
37
|
+
this._subgraphUrl = opts.subgraphUrl;
|
|
38
|
+
this._protocolDiamond = opts.protocolDiamond;
|
|
39
|
+
this._metadataStorage = opts.metadataStorage;
|
|
40
|
+
this._theGraphStorage = opts.theGraphStorage;
|
|
41
|
+
this._chainId = opts.chainId;
|
|
42
|
+
this._metaTxConfig = opts.metaTx;
|
|
43
|
+
this._lensContracts = opts.lensContracts;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
protected assertAndGetMetaTxConfig(
|
|
47
|
+
overrides: Partial<{
|
|
48
|
+
contractAddress: string;
|
|
49
|
+
metaTxConfig: Partial<Omit<MetaTxConfig, "apiIds"> & { apiId: string }>;
|
|
50
|
+
metaTransactionMethod: string;
|
|
51
|
+
}> = {}
|
|
52
|
+
) {
|
|
53
|
+
const contractAddress = overrides.contractAddress || this._protocolDiamond;
|
|
54
|
+
const metaTransactionMethod =
|
|
55
|
+
overrides.metaTransactionMethod || "executeMetaTransaction";
|
|
56
|
+
const metaTxRelayerUrl =
|
|
57
|
+
overrides.metaTxConfig?.relayerUrl || this._metaTxConfig?.relayerUrl;
|
|
58
|
+
const metaTxApiKey =
|
|
59
|
+
overrides.metaTxConfig?.apiKey || this._metaTxConfig?.apiKey;
|
|
60
|
+
// metaTxApiId is depending on the contract/method(=executeMetaTransaction) to be called with Biconomy
|
|
61
|
+
const apiIds = this._metaTxConfig?.apiIds[contractAddress.toLowerCase()];
|
|
62
|
+
const metaTxApiId =
|
|
63
|
+
overrides.metaTxConfig?.apiId ||
|
|
64
|
+
(apiIds && apiIds[metaTransactionMethod]);
|
|
65
|
+
|
|
66
|
+
if (!(metaTxRelayerUrl && metaTxApiKey && metaTxApiId)) {
|
|
67
|
+
throw new Error(
|
|
68
|
+
"CoreSDK not configured to relay meta transactions. Either pass in 'relayerUrl', 'apiKey' and 'apiId' during initialization OR as overrides arguments."
|
|
69
|
+
);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
return {
|
|
73
|
+
metaTxRelayerUrl,
|
|
74
|
+
metaTxApiId,
|
|
75
|
+
metaTxApiKey,
|
|
76
|
+
contractAddress
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
// Doc: https://www.typescriptlang.org/docs/handbook/mixins.html#alternative-pattern
|
|
82
|
+
export function applyMixins(
|
|
83
|
+
derivedCtor: typeof BaseCoreSDK,
|
|
84
|
+
constructors: typeof BaseCoreSDK[]
|
|
85
|
+
) {
|
|
86
|
+
constructors.forEach((baseCtor) => {
|
|
87
|
+
Object.getOwnPropertyNames(baseCtor.prototype).forEach((name) => {
|
|
88
|
+
Object.defineProperty(
|
|
89
|
+
derivedCtor.prototype,
|
|
90
|
+
name,
|
|
91
|
+
Object.getOwnPropertyDescriptor(baseCtor.prototype, name) ||
|
|
92
|
+
Object.create(null)
|
|
93
|
+
);
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
}
|