@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.
Files changed (203) hide show
  1. package/dist/cjs/accounts/mixin.d.ts +194 -0
  2. package/dist/cjs/accounts/mixin.d.ts.map +1 -0
  3. package/dist/cjs/accounts/mixin.js +426 -0
  4. package/dist/cjs/accounts/mixin.js.map +1 -0
  5. package/dist/cjs/core-sdk.d.ts +16 -818
  6. package/dist/cjs/core-sdk.d.ts.map +1 -1
  7. package/dist/cjs/core-sdk.js +26 -1579
  8. package/dist/cjs/core-sdk.js.map +1 -1
  9. package/dist/cjs/disputes/mixin.d.ts +113 -0
  10. package/dist/cjs/disputes/mixin.d.ts.map +1 -0
  11. package/dist/cjs/disputes/mixin.js +203 -0
  12. package/dist/cjs/disputes/mixin.js.map +1 -0
  13. package/dist/cjs/erc1155/handler.d.ts +9 -0
  14. package/dist/cjs/erc1155/handler.d.ts.map +1 -0
  15. package/dist/cjs/erc1155/handler.js +28 -0
  16. package/dist/cjs/erc1155/handler.js.map +1 -0
  17. package/dist/cjs/erc1155/index.d.ts +3 -0
  18. package/dist/cjs/erc1155/index.d.ts.map +1 -0
  19. package/dist/cjs/erc1155/index.js +29 -0
  20. package/dist/cjs/erc1155/index.js.map +1 -0
  21. package/dist/cjs/erc1155/interface.d.ts +3 -0
  22. package/dist/cjs/erc1155/interface.d.ts.map +1 -0
  23. package/dist/cjs/erc1155/interface.js +7 -0
  24. package/dist/cjs/erc1155/interface.js.map +1 -0
  25. package/dist/cjs/erc20/handler.d.ts +5 -0
  26. package/dist/cjs/erc20/handler.d.ts.map +1 -1
  27. package/dist/cjs/erc20/handler.js +12 -1
  28. package/dist/cjs/erc20/handler.js.map +1 -1
  29. package/dist/cjs/erc721/handler.d.ts +5 -0
  30. package/dist/cjs/erc721/handler.d.ts.map +1 -1
  31. package/dist/cjs/erc721/handler.js +12 -1
  32. package/dist/cjs/erc721/handler.js.map +1 -1
  33. package/dist/cjs/event-logs/mixin.d.ts +11 -0
  34. package/dist/cjs/event-logs/mixin.d.ts.map +1 -0
  35. package/dist/cjs/event-logs/mixin.js +28 -0
  36. package/dist/cjs/event-logs/mixin.js.map +1 -0
  37. package/dist/cjs/exchanges/mixin.d.ts +77 -0
  38. package/dist/cjs/exchanges/mixin.d.ts.map +1 -0
  39. package/dist/cjs/exchanges/mixin.js +172 -0
  40. package/dist/cjs/exchanges/mixin.js.map +1 -0
  41. package/dist/cjs/funds/mixin.d.ts +42 -0
  42. package/dist/cjs/funds/mixin.d.ts.map +1 -0
  43. package/dist/cjs/funds/mixin.js +95 -0
  44. package/dist/cjs/funds/mixin.js.map +1 -0
  45. package/dist/cjs/groups/mixin.d.ts +14 -0
  46. package/dist/cjs/groups/mixin.d.ts.map +1 -0
  47. package/dist/cjs/groups/mixin.js +33 -0
  48. package/dist/cjs/groups/mixin.js.map +1 -0
  49. package/dist/cjs/meta-tx/mixin.d.ts +176 -0
  50. package/dist/cjs/meta-tx/mixin.d.ts.map +1 -0
  51. package/dist/cjs/meta-tx/mixin.js +296 -0
  52. package/dist/cjs/meta-tx/mixin.js.map +1 -0
  53. package/dist/cjs/metadata/mixin.d.ts +42 -0
  54. package/dist/cjs/metadata/mixin.d.ts.map +1 -0
  55. package/dist/cjs/metadata/mixin.js +89 -0
  56. package/dist/cjs/metadata/mixin.js.map +1 -0
  57. package/dist/cjs/metadata/subgraph.d.ts +3 -1
  58. package/dist/cjs/metadata/subgraph.d.ts.map +1 -1
  59. package/dist/cjs/metadata/subgraph.js +17 -1
  60. package/dist/cjs/metadata/subgraph.js.map +1 -1
  61. package/dist/cjs/mixins/base-core-sdk.d.ts +41 -0
  62. package/dist/cjs/mixins/base-core-sdk.d.ts.map +1 -0
  63. package/dist/cjs/mixins/base-core-sdk.js +51 -0
  64. package/dist/cjs/mixins/base-core-sdk.js.map +1 -0
  65. package/dist/cjs/native-meta-tx/mixin.d.ts +35 -0
  66. package/dist/cjs/native-meta-tx/mixin.d.ts.map +1 -0
  67. package/dist/cjs/native-meta-tx/mixin.js +68 -0
  68. package/dist/cjs/native-meta-tx/mixin.js.map +1 -0
  69. package/dist/cjs/offers/mixin.d.ts +133 -0
  70. package/dist/cjs/offers/mixin.d.ts.map +1 -0
  71. package/dist/cjs/offers/mixin.js +338 -0
  72. package/dist/cjs/offers/mixin.js.map +1 -0
  73. package/dist/cjs/orchestration/mixin.d.ts +28 -0
  74. package/dist/cjs/orchestration/mixin.d.ts.map +1 -0
  75. package/dist/cjs/orchestration/mixin.js +59 -0
  76. package/dist/cjs/orchestration/mixin.js.map +1 -0
  77. package/dist/cjs/subgraph.d.ts +3707 -1509
  78. package/dist/cjs/subgraph.d.ts.map +1 -1
  79. package/dist/cjs/subgraph.js +113 -4
  80. package/dist/cjs/subgraph.js.map +1 -1
  81. package/dist/cjs/utils/graphql.d.ts +14 -0
  82. package/dist/cjs/utils/graphql.d.ts.map +1 -1
  83. package/dist/cjs/utils/signature.d.ts.map +1 -1
  84. package/dist/cjs/utils/signature.js +5 -1
  85. package/dist/cjs/utils/signature.js.map +1 -1
  86. package/dist/cjs/utils/tokenInfoManager.d.ts +6 -2
  87. package/dist/cjs/utils/tokenInfoManager.d.ts.map +1 -1
  88. package/dist/cjs/utils/tokenInfoManager.js +39 -6
  89. package/dist/cjs/utils/tokenInfoManager.js.map +1 -1
  90. package/dist/esm/accounts/mixin.d.ts +194 -0
  91. package/dist/esm/accounts/mixin.d.ts.map +1 -0
  92. package/dist/esm/accounts/mixin.js +342 -0
  93. package/dist/esm/accounts/mixin.js.map +1 -0
  94. package/dist/esm/core-sdk.d.ts +16 -818
  95. package/dist/esm/core-sdk.d.ts.map +1 -1
  96. package/dist/esm/core-sdk.js +27 -1483
  97. package/dist/esm/core-sdk.js.map +1 -1
  98. package/dist/esm/disputes/mixin.d.ts +113 -0
  99. package/dist/esm/disputes/mixin.d.ts.map +1 -0
  100. package/dist/esm/disputes/mixin.js +173 -0
  101. package/dist/esm/disputes/mixin.js.map +1 -0
  102. package/dist/esm/erc1155/handler.d.ts +9 -0
  103. package/dist/esm/erc1155/handler.d.ts.map +1 -0
  104. package/dist/esm/erc1155/handler.js +13 -0
  105. package/dist/esm/erc1155/handler.js.map +1 -0
  106. package/dist/esm/erc1155/index.d.ts +3 -0
  107. package/dist/esm/erc1155/index.d.ts.map +1 -0
  108. package/dist/esm/erc1155/index.js +3 -0
  109. package/dist/esm/erc1155/index.js.map +1 -0
  110. package/dist/esm/erc1155/interface.d.ts +3 -0
  111. package/dist/esm/erc1155/interface.d.ts.map +1 -0
  112. package/dist/esm/erc1155/interface.js +4 -0
  113. package/dist/esm/erc1155/interface.js.map +1 -0
  114. package/dist/esm/erc20/handler.d.ts +5 -0
  115. package/dist/esm/erc20/handler.d.ts.map +1 -1
  116. package/dist/esm/erc20/handler.js +8 -0
  117. package/dist/esm/erc20/handler.js.map +1 -1
  118. package/dist/esm/erc721/handler.d.ts +5 -0
  119. package/dist/esm/erc721/handler.d.ts.map +1 -1
  120. package/dist/esm/erc721/handler.js +8 -0
  121. package/dist/esm/erc721/handler.js.map +1 -1
  122. package/dist/esm/event-logs/mixin.d.ts +11 -0
  123. package/dist/esm/event-logs/mixin.d.ts.map +1 -0
  124. package/dist/esm/event-logs/mixin.js +13 -0
  125. package/dist/esm/event-logs/mixin.js.map +1 -0
  126. package/dist/esm/exchanges/mixin.d.ts +77 -0
  127. package/dist/esm/exchanges/mixin.d.ts.map +1 -0
  128. package/dist/esm/exchanges/mixin.js +141 -0
  129. package/dist/esm/exchanges/mixin.js.map +1 -0
  130. package/dist/esm/funds/mixin.d.ts +42 -0
  131. package/dist/esm/funds/mixin.d.ts.map +1 -0
  132. package/dist/esm/funds/mixin.js +72 -0
  133. package/dist/esm/funds/mixin.js.map +1 -0
  134. package/dist/esm/groups/mixin.d.ts +14 -0
  135. package/dist/esm/groups/mixin.d.ts.map +1 -0
  136. package/dist/esm/groups/mixin.js +18 -0
  137. package/dist/esm/groups/mixin.js.map +1 -0
  138. package/dist/esm/meta-tx/mixin.d.ts +176 -0
  139. package/dist/esm/meta-tx/mixin.d.ts.map +1 -0
  140. package/dist/esm/meta-tx/mixin.js +351 -0
  141. package/dist/esm/meta-tx/mixin.js.map +1 -0
  142. package/dist/esm/metadata/mixin.d.ts +42 -0
  143. package/dist/esm/metadata/mixin.d.ts.map +1 -0
  144. package/dist/esm/metadata/mixin.js +60 -0
  145. package/dist/esm/metadata/mixin.js.map +1 -0
  146. package/dist/esm/metadata/subgraph.d.ts +3 -1
  147. package/dist/esm/metadata/subgraph.d.ts.map +1 -1
  148. package/dist/esm/metadata/subgraph.js +14 -0
  149. package/dist/esm/metadata/subgraph.js.map +1 -1
  150. package/dist/esm/mixins/base-core-sdk.d.ts +41 -0
  151. package/dist/esm/mixins/base-core-sdk.d.ts.map +1 -0
  152. package/dist/esm/mixins/base-core-sdk.js +54 -0
  153. package/dist/esm/mixins/base-core-sdk.js.map +1 -0
  154. package/dist/esm/native-meta-tx/mixin.d.ts +35 -0
  155. package/dist/esm/native-meta-tx/mixin.d.ts.map +1 -0
  156. package/dist/esm/native-meta-tx/mixin.js +51 -0
  157. package/dist/esm/native-meta-tx/mixin.js.map +1 -0
  158. package/dist/esm/offers/mixin.d.ts +133 -0
  159. package/dist/esm/offers/mixin.d.ts.map +1 -0
  160. package/dist/esm/offers/mixin.js +276 -0
  161. package/dist/esm/offers/mixin.js.map +1 -0
  162. package/dist/esm/orchestration/mixin.d.ts +28 -0
  163. package/dist/esm/orchestration/mixin.d.ts.map +1 -0
  164. package/dist/esm/orchestration/mixin.js +42 -0
  165. package/dist/esm/orchestration/mixin.js.map +1 -0
  166. package/dist/esm/subgraph.d.ts +3707 -1509
  167. package/dist/esm/subgraph.d.ts.map +1 -1
  168. package/dist/esm/subgraph.js +110 -1
  169. package/dist/esm/subgraph.js.map +1 -1
  170. package/dist/esm/utils/graphql.d.ts +14 -0
  171. package/dist/esm/utils/graphql.d.ts.map +1 -1
  172. package/dist/esm/utils/signature.d.ts.map +1 -1
  173. package/dist/esm/utils/signature.js +5 -1
  174. package/dist/esm/utils/signature.js.map +1 -1
  175. package/dist/esm/utils/tokenInfoManager.d.ts +6 -2
  176. package/dist/esm/utils/tokenInfoManager.d.ts.map +1 -1
  177. package/dist/esm/utils/tokenInfoManager.js +39 -6
  178. package/dist/esm/utils/tokenInfoManager.js.map +1 -1
  179. package/package.json +3 -3
  180. package/src/accounts/mixin.ts +484 -0
  181. package/src/core-sdk.ts +42 -2102
  182. package/src/disputes/mixin.ts +240 -0
  183. package/src/erc1155/handler.ts +21 -0
  184. package/src/erc1155/index.ts +2 -0
  185. package/src/erc1155/interface.ts +4 -0
  186. package/src/erc20/handler.ts +14 -0
  187. package/src/erc721/handler.ts +14 -0
  188. package/src/event-logs/mixin.ts +16 -0
  189. package/src/exchanges/mixin.ts +184 -0
  190. package/src/funds/mixin.ts +99 -0
  191. package/src/groups/mixin.ts +24 -0
  192. package/src/meta-tx/mixin.ts +515 -0
  193. package/src/metadata/mixin.ts +97 -0
  194. package/src/metadata/product-v1.graphql +77 -1
  195. package/src/metadata/subgraph.ts +31 -1
  196. package/src/mixins/base-core-sdk.ts +96 -0
  197. package/src/native-meta-tx/mixin.ts +77 -0
  198. package/src/offers/mixin.ts +376 -0
  199. package/src/offers/queries.graphql +1 -1
  200. package/src/orchestration/mixin.ts +57 -0
  201. package/src/subgraph.ts +3620 -1296
  202. package/src/utils/signature.ts +6 -1
  203. package/src/utils/tokenInfoManager.ts +44 -6
@@ -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,97 @@
1
+ import { BaseCoreSDK } from "./../mixins/base-core-sdk";
2
+ import * as subgraph from "../subgraph";
3
+ import { AnyMetadata } from "..";
4
+ import {
5
+ getBaseMetadataEntities,
6
+ getProductV1MetadataEntities,
7
+ getProductV1Products,
8
+ getProductWithVariants,
9
+ getAllProductsWithVariants,
10
+ getAllProductsWithNotVoidedVariants
11
+ } from "./subgraph";
12
+
13
+ export class MetadataMixin extends BaseCoreSDK {
14
+ /* -------------------------------------------------------------------------- */
15
+ /* Metadata related methods */
16
+ /* -------------------------------------------------------------------------- */
17
+
18
+ /**
19
+ * Stores supported offer metadata via the MetadataStorage instance which was passed in
20
+ * at construction.
21
+ * @param metadata - Offer metadata of type `BASE` or `PRODUCT_V1`.
22
+ * @returns Metadata hash / identifier.
23
+ */
24
+ public async storeMetadata(metadata: AnyMetadata): Promise<string> {
25
+ if (!this._metadataStorage) {
26
+ throw new Error("No metadata storage set");
27
+ }
28
+
29
+ return this._metadataStorage.storeMetadata(metadata);
30
+ }
31
+
32
+ /**
33
+ * Returns supported offer metadata from passed in `MetadataStorage` instance.
34
+ * @param metadataHashOrUri - Metadata hash or uri that can be handled by the
35
+ * storage instance.
36
+ * @returns Offer metadata.
37
+ */
38
+ public async getMetadata(metadataHashOrUri: string): Promise<AnyMetadata> {
39
+ if (!this._metadataStorage) {
40
+ throw new Error("No metadata storage set");
41
+ }
42
+
43
+ return this._metadataStorage.getMetadata(metadataHashOrUri);
44
+ }
45
+
46
+ /**
47
+ * Returns `BASE` type offer metadata entities from subgraph.
48
+ * @param queryVars - Optional query variables to skip, order or filter.
49
+ * @returns BaseMetadataEntities from subgraph.
50
+ */
51
+ public async getBaseMetadataEntities(
52
+ queryVars?: subgraph.GetBaseMetadataEntitiesQueryQueryVariables
53
+ ): Promise<subgraph.BaseMetadataEntityFieldsFragment[]> {
54
+ return getBaseMetadataEntities(this._subgraphUrl, queryVars);
55
+ }
56
+
57
+ /**
58
+ * Returns `PRODUCT_V1` type offer metadata entities from subgraph.
59
+ * @param queryVars - Optional query variables to skip, order or filter.
60
+ * @returns ProductV1MetadataEntities from subgraph.
61
+ */
62
+ public async getProductV1MetadataEntities(
63
+ queryVars?: subgraph.GetProductV1MetadataEntitiesQueryQueryVariables
64
+ ): Promise<subgraph.ProductV1MetadataEntityFieldsFragment[]> {
65
+ return getProductV1MetadataEntities(this._subgraphUrl, queryVars);
66
+ }
67
+
68
+ public async getProductV1Products(
69
+ queryVars?: subgraph.GetProductV1ProductsQueryQueryVariables
70
+ ): Promise<subgraph.BaseProductV1ProductFieldsFragment[]> {
71
+ return getProductV1Products(this._subgraphUrl, queryVars);
72
+ }
73
+
74
+ public async getProductWithVariants(productUuid: string): Promise<{
75
+ product: subgraph.BaseProductV1ProductFieldsFragment;
76
+ variants: Array<{
77
+ offer: subgraph.OfferFieldsFragment;
78
+ variations: Array<subgraph.ProductV1Variation>;
79
+ }>;
80
+ } | null> {
81
+ return getProductWithVariants(this._subgraphUrl, productUuid);
82
+ }
83
+
84
+ public async getAllProductsWithVariants(
85
+ queryVars?: subgraph.GetProductV1ProductsWithVariantsQueryQueryVariables
86
+ ): Promise<subgraph.BaseProductV1ProductWithVariantsFieldsFragment[]> {
87
+ return getAllProductsWithVariants(this._subgraphUrl, queryVars);
88
+ }
89
+
90
+ public async getAllProductsWithNotVoidedVariants(
91
+ queryVars?: subgraph.GetAllProductsWithNotVoidedVariantsQueryQueryVariables
92
+ ): Promise<
93
+ subgraph.BaseProductV1ProductWithNotVoidedVariantsFieldsFragment[]
94
+ > {
95
+ return getAllProductsWithNotVoidedVariants(this._subgraphUrl, queryVars);
96
+ }
97
+ }
@@ -34,6 +34,42 @@ query getProductV1ProductsQuery(
34
34
  }
35
35
  }
36
36
 
37
+ query getProductV1ProductsWithVariantsQuery(
38
+ $productsSkip: Int
39
+ $productsFirst: Int
40
+ $productsOrderBy: ProductV1Product_orderBy
41
+ $productsOrderDirection: OrderDirection
42
+ $productsFilter: ProductV1Product_filter
43
+ ) {
44
+ productV1Products(
45
+ skip: $productsSkip
46
+ first: $productsFirst
47
+ orderBy: $productsOrderBy
48
+ orderDirection: $productsOrderDirection
49
+ where: $productsFilter
50
+ ) {
51
+ ...BaseProductV1ProductWithVariantsFields
52
+ }
53
+ }
54
+
55
+ query getAllProductsWithNotVoidedVariantsQuery(
56
+ $productsSkip: Int
57
+ $productsFirst: Int
58
+ $productsOrderBy: ProductV1Product_orderBy
59
+ $productsOrderDirection: OrderDirection
60
+ $productsFilter: ProductV1Product_filter
61
+ ) {
62
+ productV1Products(
63
+ skip: $productsSkip
64
+ first: $productsFirst
65
+ orderBy: $productsOrderBy
66
+ orderDirection: $productsOrderDirection
67
+ where: $productsFilter
68
+ ) {
69
+ ...BaseProductV1ProductWithNotVoidedVariantsFields
70
+ }
71
+ }
72
+
37
73
  query getProductV1CategoriesQuery(
38
74
  $categoriesSkip: Int
39
75
  $categoriesFirst: Int
@@ -107,7 +143,7 @@ fragment BaseProductV1MetadataEntityFields on ProductV1MetadataEntity {
107
143
  ...BaseOfferFields
108
144
  exchanges {
109
145
  ...BaseExchangeFields
110
- }
146
+ }
111
147
  }
112
148
  seller {
113
149
  ...BaseSellerFields
@@ -198,6 +234,46 @@ fragment BaseProductV1ProductFields on ProductV1Product {
198
234
  }
199
235
  }
200
236
 
237
+ fragment BaseProductV1ProductWithVariantsFields on ProductV1Product {
238
+ ...BaseProductV1ProductFields
239
+ variants {
240
+ offer {
241
+ ...BaseOfferFields
242
+ exchanges {
243
+ ...BaseExchangeFields
244
+ }
245
+ }
246
+ variations {
247
+ ...BaseProductV1VariationFields
248
+ }
249
+ }
250
+ allVariantsVoided
251
+ minValidFromDate
252
+ maxValidFromDate
253
+ minValidUntilDate
254
+ maxValidUntilDate
255
+ }
256
+
257
+ fragment BaseProductV1ProductWithNotVoidedVariantsFields on ProductV1Product {
258
+ ...BaseProductV1ProductFields
259
+ notVoidedVariants {
260
+ offer {
261
+ ...BaseOfferFields
262
+ exchanges {
263
+ ...BaseExchangeFields
264
+ }
265
+ }
266
+ variations {
267
+ ...BaseProductV1VariationFields
268
+ }
269
+ }
270
+ allVariantsVoided
271
+ minValidFromDate
272
+ maxValidFromDate
273
+ minValidUntilDate
274
+ maxValidUntilDate
275
+ }
276
+
201
277
  fragment BaseProductV1BrandFields on ProductV1Brand {
202
278
  id
203
279
  name