@bosonprotocol/core-sdk 1.44.0-alpha.0 → 1.44.0-alpha.10

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 (327) hide show
  1. package/dist/cjs/accounts/handler.d.ts +115 -1
  2. package/dist/cjs/accounts/handler.d.ts.map +1 -1
  3. package/dist/cjs/accounts/handler.js +126 -28
  4. package/dist/cjs/accounts/handler.js.map +1 -1
  5. package/dist/cjs/accounts/mixin.d.ts +105 -8
  6. package/dist/cjs/accounts/mixin.d.ts.map +1 -1
  7. package/dist/cjs/accounts/mixin.js +162 -122
  8. package/dist/cjs/accounts/mixin.js.map +1 -1
  9. package/dist/cjs/core-sdk.d.ts +6 -6
  10. package/dist/cjs/core-sdk.d.ts.map +1 -1
  11. package/dist/cjs/core-sdk.js.map +1 -1
  12. package/dist/cjs/disputes/handler.d.ts +88 -7
  13. package/dist/cjs/disputes/handler.d.ts.map +1 -1
  14. package/dist/cjs/disputes/handler.js +98 -22
  15. package/dist/cjs/disputes/handler.js.map +1 -1
  16. package/dist/cjs/disputes/mixin.d.ts +37 -17
  17. package/dist/cjs/disputes/mixin.d.ts.map +1 -1
  18. package/dist/cjs/disputes/mixin.js +116 -96
  19. package/dist/cjs/disputes/mixin.js.map +1 -1
  20. package/dist/cjs/erc1155/mixin.d.ts +2 -1
  21. package/dist/cjs/erc1155/mixin.d.ts.map +1 -1
  22. package/dist/cjs/erc1155/mixin.js.map +1 -1
  23. package/dist/cjs/erc165/mixin.d.ts +2 -1
  24. package/dist/cjs/erc165/mixin.d.ts.map +1 -1
  25. package/dist/cjs/erc165/mixin.js.map +1 -1
  26. package/dist/cjs/erc20/handler.d.ts +11 -2
  27. package/dist/cjs/erc20/handler.d.ts.map +1 -1
  28. package/dist/cjs/erc20/handler.js +8 -1
  29. package/dist/cjs/erc20/handler.js.map +1 -1
  30. package/dist/cjs/erc20/mixin.d.ts +20 -3
  31. package/dist/cjs/erc20/mixin.d.ts.map +1 -1
  32. package/dist/cjs/erc20/mixin.js +15 -10
  33. package/dist/cjs/erc20/mixin.js.map +1 -1
  34. package/dist/cjs/erc721/handler.d.ts +11 -2
  35. package/dist/cjs/erc721/handler.d.ts.map +1 -1
  36. package/dist/cjs/erc721/handler.js +8 -2
  37. package/dist/cjs/erc721/handler.js.map +1 -1
  38. package/dist/cjs/erc721/mixin.d.ts +2 -1
  39. package/dist/cjs/erc721/mixin.d.ts.map +1 -1
  40. package/dist/cjs/erc721/mixin.js.map +1 -1
  41. package/dist/cjs/errors/mixin.d.ts +2 -1
  42. package/dist/cjs/errors/mixin.d.ts.map +1 -1
  43. package/dist/cjs/errors/mixin.js.map +1 -1
  44. package/dist/cjs/event-logs/mixin.d.ts +2 -1
  45. package/dist/cjs/event-logs/mixin.d.ts.map +1 -1
  46. package/dist/cjs/event-logs/mixin.js.map +1 -1
  47. package/dist/cjs/exchanges/handler.d.ts +44 -1
  48. package/dist/cjs/exchanges/handler.d.ts.map +1 -1
  49. package/dist/cjs/exchanges/handler.js +76 -17
  50. package/dist/cjs/exchanges/handler.js.map +1 -1
  51. package/dist/cjs/exchanges/mixin.d.ts +24 -8
  52. package/dist/cjs/exchanges/mixin.d.ts.map +1 -1
  53. package/dist/cjs/exchanges/mixin.js +72 -72
  54. package/dist/cjs/exchanges/mixin.js.map +1 -1
  55. package/dist/cjs/funds/handler.d.ts +27 -1
  56. package/dist/cjs/funds/handler.d.ts.map +1 -1
  57. package/dist/cjs/funds/handler.js +28 -7
  58. package/dist/cjs/funds/handler.js.map +1 -1
  59. package/dist/cjs/funds/mixin.d.ts +50 -17
  60. package/dist/cjs/funds/mixin.d.ts.map +1 -1
  61. package/dist/cjs/funds/mixin.js +48 -46
  62. package/dist/cjs/funds/mixin.js.map +1 -1
  63. package/dist/cjs/groups/handler.d.ts +8 -1
  64. package/dist/cjs/groups/handler.d.ts.map +1 -1
  65. package/dist/cjs/groups/handler.js +9 -2
  66. package/dist/cjs/groups/handler.js.map +1 -1
  67. package/dist/cjs/groups/mixin.d.ts +12 -4
  68. package/dist/cjs/groups/mixin.d.ts.map +1 -1
  69. package/dist/cjs/groups/mixin.js +10 -8
  70. package/dist/cjs/groups/mixin.js.map +1 -1
  71. package/dist/cjs/index.d.ts +1 -1
  72. package/dist/cjs/index.d.ts.map +1 -1
  73. package/dist/cjs/index.js +2 -1
  74. package/dist/cjs/index.js.map +1 -1
  75. package/dist/cjs/marketplaces/mixin.d.ts +2 -1
  76. package/dist/cjs/marketplaces/mixin.d.ts.map +1 -1
  77. package/dist/cjs/marketplaces/mixin.js.map +1 -1
  78. package/dist/cjs/meta-tx/handler.d.ts.map +1 -1
  79. package/dist/cjs/meta-tx/handler.js +12 -10
  80. package/dist/cjs/meta-tx/handler.js.map +1 -1
  81. package/dist/cjs/meta-tx/mixin.d.ts +5 -3
  82. package/dist/cjs/meta-tx/mixin.d.ts.map +1 -1
  83. package/dist/cjs/meta-tx/mixin.js +1 -1
  84. package/dist/cjs/meta-tx/mixin.js.map +1 -1
  85. package/dist/cjs/metadata/mixin.d.ts +2 -1
  86. package/dist/cjs/metadata/mixin.d.ts.map +1 -1
  87. package/dist/cjs/metadata/mixin.js.map +1 -1
  88. package/dist/cjs/mixins/base-core-sdk.d.ts +4 -4
  89. package/dist/cjs/mixins/base-core-sdk.d.ts.map +1 -1
  90. package/dist/cjs/mixins/base-core-sdk.js.map +1 -1
  91. package/dist/cjs/native-meta-tx/handler.d.ts.map +1 -1
  92. package/dist/cjs/native-meta-tx/handler.js +3 -2
  93. package/dist/cjs/native-meta-tx/handler.js.map +1 -1
  94. package/dist/cjs/native-meta-tx/mixin.d.ts +2 -2
  95. package/dist/cjs/native-meta-tx/mixin.d.ts.map +1 -1
  96. package/dist/cjs/native-meta-tx/mixin.js.map +1 -1
  97. package/dist/cjs/native-meta-tx/tokenSpecifics.d.ts.map +1 -1
  98. package/dist/cjs/offers/handler.d.ts +81 -0
  99. package/dist/cjs/offers/handler.d.ts.map +1 -1
  100. package/dist/cjs/offers/handler.js +90 -17
  101. package/dist/cjs/offers/handler.js.map +1 -1
  102. package/dist/cjs/offers/mixin.d.ts +53 -2
  103. package/dist/cjs/offers/mixin.d.ts.map +1 -1
  104. package/dist/cjs/offers/mixin.js +102 -97
  105. package/dist/cjs/offers/mixin.js.map +1 -1
  106. package/dist/cjs/orchestration/handler.d.ts +86 -1
  107. package/dist/cjs/orchestration/handler.d.ts.map +1 -1
  108. package/dist/cjs/orchestration/handler.js +64 -16
  109. package/dist/cjs/orchestration/handler.js.map +1 -1
  110. package/dist/cjs/orchestration/mixin.d.ts +2 -2
  111. package/dist/cjs/orchestration/mixin.d.ts.map +1 -1
  112. package/dist/cjs/orchestration/mixin.js.map +1 -1
  113. package/dist/cjs/price-discovery/handler.d.ts +11 -1
  114. package/dist/cjs/price-discovery/handler.d.ts.map +1 -1
  115. package/dist/cjs/price-discovery/handler.js +9 -2
  116. package/dist/cjs/price-discovery/handler.js.map +1 -1
  117. package/dist/cjs/price-discovery/mixin.d.ts +16 -4
  118. package/dist/cjs/price-discovery/mixin.d.ts.map +1 -1
  119. package/dist/cjs/price-discovery/mixin.js +14 -12
  120. package/dist/cjs/price-discovery/mixin.js.map +1 -1
  121. package/dist/cjs/protocol-config/handler.d.ts +9 -0
  122. package/dist/cjs/protocol-config/handler.d.ts.map +1 -1
  123. package/dist/cjs/protocol-config/handler.js +10 -3
  124. package/dist/cjs/protocol-config/handler.js.map +1 -1
  125. package/dist/cjs/protocol-config/mixin.d.ts +2 -1
  126. package/dist/cjs/protocol-config/mixin.d.ts.map +1 -1
  127. package/dist/cjs/protocol-config/mixin.js.map +1 -1
  128. package/dist/cjs/subgraph/mixin.d.ts +2 -2
  129. package/dist/cjs/subgraph/mixin.d.ts.map +1 -1
  130. package/dist/cjs/subgraph/mixin.js.map +1 -1
  131. package/dist/cjs/utils/promises.d.ts.map +1 -1
  132. package/dist/cjs/utils/signature.d.ts +20 -7
  133. package/dist/cjs/utils/signature.d.ts.map +1 -1
  134. package/dist/cjs/utils/signature.js +6 -2
  135. package/dist/cjs/utils/signature.js.map +1 -1
  136. package/dist/cjs/voucher/handler.d.ts +56 -1
  137. package/dist/cjs/voucher/handler.d.ts.map +1 -1
  138. package/dist/cjs/voucher/handler.js +56 -14
  139. package/dist/cjs/voucher/handler.js.map +1 -1
  140. package/dist/cjs/voucher/mixin.d.ts +66 -22
  141. package/dist/cjs/voucher/mixin.d.ts.map +1 -1
  142. package/dist/cjs/voucher/mixin.js +75 -61
  143. package/dist/cjs/voucher/mixin.js.map +1 -1
  144. package/dist/esm/accounts/handler.d.ts +115 -1
  145. package/dist/esm/accounts/handler.d.ts.map +1 -1
  146. package/dist/esm/accounts/handler.js +126 -28
  147. package/dist/esm/accounts/handler.js.map +1 -1
  148. package/dist/esm/accounts/mixin.d.ts +105 -8
  149. package/dist/esm/accounts/mixin.d.ts.map +1 -1
  150. package/dist/esm/accounts/mixin.js +249 -116
  151. package/dist/esm/accounts/mixin.js.map +1 -1
  152. package/dist/esm/core-sdk.d.ts +6 -6
  153. package/dist/esm/core-sdk.d.ts.map +1 -1
  154. package/dist/esm/core-sdk.js.map +1 -1
  155. package/dist/esm/disputes/handler.d.ts +88 -7
  156. package/dist/esm/disputes/handler.d.ts.map +1 -1
  157. package/dist/esm/disputes/handler.js +104 -22
  158. package/dist/esm/disputes/handler.js.map +1 -1
  159. package/dist/esm/disputes/mixin.d.ts +37 -17
  160. package/dist/esm/disputes/mixin.d.ts.map +1 -1
  161. package/dist/esm/disputes/mixin.js +171 -100
  162. package/dist/esm/disputes/mixin.js.map +1 -1
  163. package/dist/esm/erc1155/mixin.d.ts +2 -1
  164. package/dist/esm/erc1155/mixin.d.ts.map +1 -1
  165. package/dist/esm/erc1155/mixin.js.map +1 -1
  166. package/dist/esm/erc165/mixin.d.ts +2 -1
  167. package/dist/esm/erc165/mixin.d.ts.map +1 -1
  168. package/dist/esm/erc165/mixin.js.map +1 -1
  169. package/dist/esm/erc20/handler.d.ts +11 -2
  170. package/dist/esm/erc20/handler.d.ts.map +1 -1
  171. package/dist/esm/erc20/handler.js +9 -2
  172. package/dist/esm/erc20/handler.js.map +1 -1
  173. package/dist/esm/erc20/mixin.d.ts +20 -3
  174. package/dist/esm/erc20/mixin.d.ts.map +1 -1
  175. package/dist/esm/erc20/mixin.js +24 -8
  176. package/dist/esm/erc20/mixin.js.map +1 -1
  177. package/dist/esm/erc721/handler.d.ts +11 -2
  178. package/dist/esm/erc721/handler.d.ts.map +1 -1
  179. package/dist/esm/erc721/handler.js +8 -2
  180. package/dist/esm/erc721/handler.js.map +1 -1
  181. package/dist/esm/erc721/mixin.d.ts +2 -1
  182. package/dist/esm/erc721/mixin.d.ts.map +1 -1
  183. package/dist/esm/erc721/mixin.js.map +1 -1
  184. package/dist/esm/errors/mixin.d.ts +2 -1
  185. package/dist/esm/errors/mixin.d.ts.map +1 -1
  186. package/dist/esm/errors/mixin.js.map +1 -1
  187. package/dist/esm/event-logs/mixin.d.ts +2 -1
  188. package/dist/esm/event-logs/mixin.d.ts.map +1 -1
  189. package/dist/esm/event-logs/mixin.js.map +1 -1
  190. package/dist/esm/exchanges/handler.d.ts +44 -1
  191. package/dist/esm/exchanges/handler.d.ts.map +1 -1
  192. package/dist/esm/exchanges/handler.js +80 -16
  193. package/dist/esm/exchanges/handler.js.map +1 -1
  194. package/dist/esm/exchanges/mixin.d.ts +24 -8
  195. package/dist/esm/exchanges/mixin.d.ts.map +1 -1
  196. package/dist/esm/exchanges/mixin.js +120 -72
  197. package/dist/esm/exchanges/mixin.js.map +1 -1
  198. package/dist/esm/funds/handler.d.ts +27 -1
  199. package/dist/esm/funds/handler.d.ts.map +1 -1
  200. package/dist/esm/funds/handler.js +28 -7
  201. package/dist/esm/funds/handler.js.map +1 -1
  202. package/dist/esm/funds/mixin.d.ts +50 -17
  203. package/dist/esm/funds/mixin.d.ts.map +1 -1
  204. package/dist/esm/funds/mixin.js +62 -42
  205. package/dist/esm/funds/mixin.js.map +1 -1
  206. package/dist/esm/groups/handler.d.ts +8 -1
  207. package/dist/esm/groups/handler.d.ts.map +1 -1
  208. package/dist/esm/groups/handler.js +9 -2
  209. package/dist/esm/groups/handler.js.map +1 -1
  210. package/dist/esm/groups/mixin.d.ts +12 -4
  211. package/dist/esm/groups/mixin.d.ts.map +1 -1
  212. package/dist/esm/groups/mixin.js +16 -8
  213. package/dist/esm/groups/mixin.js.map +1 -1
  214. package/dist/esm/index.d.ts +1 -1
  215. package/dist/esm/index.d.ts.map +1 -1
  216. package/dist/esm/index.js +1 -1
  217. package/dist/esm/index.js.map +1 -1
  218. package/dist/esm/marketplaces/mixin.d.ts +2 -1
  219. package/dist/esm/marketplaces/mixin.d.ts.map +1 -1
  220. package/dist/esm/marketplaces/mixin.js.map +1 -1
  221. package/dist/esm/meta-tx/handler.d.ts.map +1 -1
  222. package/dist/esm/meta-tx/handler.js +20 -10
  223. package/dist/esm/meta-tx/handler.js.map +1 -1
  224. package/dist/esm/meta-tx/mixin.d.ts +5 -3
  225. package/dist/esm/meta-tx/mixin.d.ts.map +1 -1
  226. package/dist/esm/meta-tx/mixin.js +1 -1
  227. package/dist/esm/meta-tx/mixin.js.map +1 -1
  228. package/dist/esm/metadata/mixin.d.ts +2 -1
  229. package/dist/esm/metadata/mixin.d.ts.map +1 -1
  230. package/dist/esm/metadata/mixin.js.map +1 -1
  231. package/dist/esm/mixins/base-core-sdk.d.ts +4 -4
  232. package/dist/esm/mixins/base-core-sdk.d.ts.map +1 -1
  233. package/dist/esm/mixins/base-core-sdk.js.map +1 -1
  234. package/dist/esm/native-meta-tx/handler.d.ts.map +1 -1
  235. package/dist/esm/native-meta-tx/handler.js +4 -2
  236. package/dist/esm/native-meta-tx/handler.js.map +1 -1
  237. package/dist/esm/native-meta-tx/mixin.d.ts +2 -2
  238. package/dist/esm/native-meta-tx/mixin.d.ts.map +1 -1
  239. package/dist/esm/native-meta-tx/mixin.js.map +1 -1
  240. package/dist/esm/native-meta-tx/tokenSpecifics.d.ts.map +1 -1
  241. package/dist/esm/offers/handler.d.ts +81 -0
  242. package/dist/esm/offers/handler.d.ts.map +1 -1
  243. package/dist/esm/offers/handler.js +91 -18
  244. package/dist/esm/offers/handler.js.map +1 -1
  245. package/dist/esm/offers/mixin.d.ts +53 -2
  246. package/dist/esm/offers/mixin.d.ts.map +1 -1
  247. package/dist/esm/offers/mixin.js +162 -97
  248. package/dist/esm/offers/mixin.js.map +1 -1
  249. package/dist/esm/orchestration/handler.d.ts +86 -1
  250. package/dist/esm/orchestration/handler.d.ts.map +1 -1
  251. package/dist/esm/orchestration/handler.js +64 -16
  252. package/dist/esm/orchestration/handler.js.map +1 -1
  253. package/dist/esm/orchestration/mixin.d.ts +2 -2
  254. package/dist/esm/orchestration/mixin.d.ts.map +1 -1
  255. package/dist/esm/orchestration/mixin.js.map +1 -1
  256. package/dist/esm/price-discovery/handler.d.ts +11 -1
  257. package/dist/esm/price-discovery/handler.d.ts.map +1 -1
  258. package/dist/esm/price-discovery/handler.js +9 -2
  259. package/dist/esm/price-discovery/handler.js.map +1 -1
  260. package/dist/esm/price-discovery/mixin.d.ts +16 -4
  261. package/dist/esm/price-discovery/mixin.d.ts.map +1 -1
  262. package/dist/esm/price-discovery/mixin.js +19 -11
  263. package/dist/esm/price-discovery/mixin.js.map +1 -1
  264. package/dist/esm/protocol-config/handler.d.ts +9 -0
  265. package/dist/esm/protocol-config/handler.d.ts.map +1 -1
  266. package/dist/esm/protocol-config/handler.js +10 -3
  267. package/dist/esm/protocol-config/handler.js.map +1 -1
  268. package/dist/esm/protocol-config/mixin.d.ts +2 -1
  269. package/dist/esm/protocol-config/mixin.d.ts.map +1 -1
  270. package/dist/esm/protocol-config/mixin.js.map +1 -1
  271. package/dist/esm/subgraph/mixin.d.ts +2 -2
  272. package/dist/esm/subgraph/mixin.d.ts.map +1 -1
  273. package/dist/esm/subgraph/mixin.js.map +1 -1
  274. package/dist/esm/utils/promises.d.ts.map +1 -1
  275. package/dist/esm/utils/signature.d.ts +20 -7
  276. package/dist/esm/utils/signature.d.ts.map +1 -1
  277. package/dist/esm/utils/signature.js +6 -2
  278. package/dist/esm/utils/signature.js.map +1 -1
  279. package/dist/esm/voucher/handler.d.ts +56 -1
  280. package/dist/esm/voucher/handler.d.ts.map +1 -1
  281. package/dist/esm/voucher/handler.js +56 -14
  282. package/dist/esm/voucher/handler.js.map +1 -1
  283. package/dist/esm/voucher/mixin.d.ts +66 -22
  284. package/dist/esm/voucher/mixin.d.ts.map +1 -1
  285. package/dist/esm/voucher/mixin.js +93 -55
  286. package/dist/esm/voucher/mixin.js.map +1 -1
  287. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  288. package/package.json +3 -3
  289. package/src/accounts/handler.ts +369 -42
  290. package/src/accounts/mixin.ts +644 -57
  291. package/src/core-sdk.ts +26 -26
  292. package/src/disputes/handler.ts +294 -35
  293. package/src/disputes/mixin.ts +301 -46
  294. package/src/erc1155/mixin.ts +2 -1
  295. package/src/erc165/mixin.ts +2 -1
  296. package/src/erc20/handler.ts +36 -4
  297. package/src/erc20/mixin.ts +77 -10
  298. package/src/erc721/handler.ts +34 -4
  299. package/src/erc721/mixin.ts +2 -1
  300. package/src/errors/mixin.ts +2 -2
  301. package/src/event-logs/mixin.ts +2 -1
  302. package/src/exchanges/handler.ts +235 -25
  303. package/src/exchanges/mixin.ts +223 -32
  304. package/src/funds/handler.ts +99 -13
  305. package/src/funds/mixin.ts +177 -39
  306. package/src/groups/handler.ts +28 -3
  307. package/src/groups/mixin.ts +50 -7
  308. package/src/index.ts +1 -0
  309. package/src/marketplaces/mixin.ts +2 -1
  310. package/src/meta-tx/handler.ts +20 -10
  311. package/src/meta-tx/mixin.ts +8 -4
  312. package/src/metadata/mixin.ts +2 -1
  313. package/src/mixins/base-core-sdk.ts +5 -5
  314. package/src/native-meta-tx/handler.ts +4 -2
  315. package/src/native-meta-tx/mixin.ts +8 -2
  316. package/src/offers/handler.ts +300 -27
  317. package/src/offers/mixin.ts +399 -35
  318. package/src/orchestration/handler.ts +259 -24
  319. package/src/orchestration/mixin.ts +8 -2
  320. package/src/price-discovery/handler.ts +35 -4
  321. package/src/price-discovery/mixin.ts +60 -9
  322. package/src/protocol-config/handler.ts +26 -4
  323. package/src/protocol-config/mixin.ts +4 -1
  324. package/src/subgraph/mixin.ts +6 -2
  325. package/src/utils/signature.ts +46 -5
  326. package/src/voucher/handler.ts +192 -22
  327. package/src/voucher/mixin.ts +244 -66
@@ -1,6 +1,10 @@
1
1
  import { BaseCoreSDK } from "./../mixins/base-core-sdk";
2
2
  import * as subgraph from "../subgraph";
3
- import { TransactionResponse } from "@bosonprotocol/common";
3
+ import {
4
+ TransactionResponse,
5
+ TransactionRequest,
6
+ Web3LibAdapter
7
+ } from "@bosonprotocol/common";
4
8
  import { BigNumberish } from "@ethersproject/bignumber";
5
9
  import { BytesLike } from "@ethersproject/bytes";
6
10
  import {
@@ -21,8 +25,9 @@ import {
21
25
  getDisputeById,
22
26
  getDisputes
23
27
  } from "./subgraph";
28
+ import { getSignatureParameters, StructuredData } from "../utils/signature";
24
29
 
25
- export class DisputesMixin extends BaseCoreSDK {
30
+ export class DisputesMixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
26
31
  /* -------------------------------------------------------------------------- */
27
32
  /* Dispute related methods */
28
33
  /* -------------------------------------------------------------------------- */
@@ -57,13 +62,34 @@ export class DisputesMixin extends BaseCoreSDK {
57
62
  * @returns Transaction response.
58
63
  */
59
64
  public async raiseDispute(
60
- exchangeId: BigNumberish
61
- ): Promise<TransactionResponse> {
62
- return raiseDispute({
65
+ exchangeId: BigNumberish,
66
+ returnTxInfo: true
67
+ ): Promise<TransactionRequest>;
68
+ public async raiseDispute(
69
+ exchangeId: BigNumberish,
70
+ returnTxInfo?: false | undefined
71
+ ): Promise<TransactionResponse>;
72
+ public async raiseDispute(
73
+ exchangeId: BigNumberish,
74
+ returnTxInfo?: boolean
75
+ ): Promise<TransactionResponse | TransactionRequest> {
76
+ const raiseArgs = {
63
77
  exchangeId,
64
78
  contractAddress: this._protocolDiamond,
65
79
  web3Lib: this._web3Lib
66
- });
80
+ } as const satisfies Parameters<typeof raiseDispute>[0];
81
+
82
+ if (returnTxInfo === true) {
83
+ return raiseDispute({
84
+ ...raiseArgs,
85
+ returnTxInfo: true
86
+ });
87
+ } else {
88
+ return raiseDispute({
89
+ ...raiseArgs,
90
+ returnTxInfo: false
91
+ });
92
+ }
67
93
  }
68
94
 
69
95
  /**
@@ -72,13 +98,34 @@ export class DisputesMixin extends BaseCoreSDK {
72
98
  * @returns Transaction response.
73
99
  */
74
100
  public async retractDispute(
75
- exchangeId: BigNumberish
76
- ): Promise<TransactionResponse> {
77
- return retractDispute({
101
+ exchangeId: BigNumberish,
102
+ returnTxInfo: true
103
+ ): Promise<TransactionRequest>;
104
+ public async retractDispute(
105
+ exchangeId: BigNumberish,
106
+ returnTxInfo?: false | undefined
107
+ ): Promise<TransactionResponse>;
108
+ public async retractDispute(
109
+ exchangeId: BigNumberish,
110
+ returnTxInfo?: boolean
111
+ ): Promise<TransactionResponse | TransactionRequest> {
112
+ const retractArgs = {
78
113
  exchangeId,
79
114
  contractAddress: this._protocolDiamond,
80
115
  web3Lib: this._web3Lib
81
- });
116
+ } as const satisfies Parameters<typeof retractDispute>[0];
117
+
118
+ if (returnTxInfo === true) {
119
+ return retractDispute({
120
+ ...retractArgs,
121
+ returnTxInfo: true
122
+ });
123
+ } else {
124
+ return retractDispute({
125
+ ...retractArgs,
126
+ returnTxInfo: false
127
+ });
128
+ }
82
129
  }
83
130
 
84
131
  /**
@@ -89,14 +136,37 @@ export class DisputesMixin extends BaseCoreSDK {
89
136
  */
90
137
  public async extendDisputeTimeout(
91
138
  exchangeId: BigNumberish,
92
- newDisputeTimeout: BigNumberish
93
- ): Promise<TransactionResponse> {
94
- return extendDisputeTimeout({
139
+ newDisputeTimeout: BigNumberish,
140
+ returnTxInfo: true
141
+ ): Promise<TransactionRequest>;
142
+ public async extendDisputeTimeout(
143
+ exchangeId: BigNumberish,
144
+ newDisputeTimeout: BigNumberish,
145
+ returnTxInfo?: false | undefined
146
+ ): Promise<TransactionResponse>;
147
+ public async extendDisputeTimeout(
148
+ exchangeId: BigNumberish,
149
+ newDisputeTimeout: BigNumberish,
150
+ returnTxInfo?: boolean
151
+ ): Promise<TransactionResponse | TransactionRequest> {
152
+ const extendArgs = {
95
153
  exchangeId,
96
154
  newDisputeTimeout,
97
155
  contractAddress: this._protocolDiamond,
98
156
  web3Lib: this._web3Lib
99
- });
157
+ } as const satisfies Parameters<typeof extendDisputeTimeout>[0];
158
+
159
+ if (returnTxInfo === true) {
160
+ return extendDisputeTimeout({
161
+ ...extendArgs,
162
+ returnTxInfo: true
163
+ });
164
+ } else {
165
+ return extendDisputeTimeout({
166
+ ...extendArgs,
167
+ returnTxInfo: false
168
+ });
169
+ }
100
170
  }
101
171
 
102
172
  /**
@@ -105,13 +175,34 @@ export class DisputesMixin extends BaseCoreSDK {
105
175
  * @returns Transaction response.
106
176
  */
107
177
  public async expireDispute(
108
- exchangeId: BigNumberish
109
- ): Promise<TransactionResponse> {
110
- return expireDispute({
178
+ exchangeId: BigNumberish,
179
+ returnTxInfo: true
180
+ ): Promise<TransactionRequest>;
181
+ public async expireDispute(
182
+ exchangeId: BigNumberish,
183
+ returnTxInfo?: false | undefined
184
+ ): Promise<TransactionResponse>;
185
+ public async expireDispute(
186
+ exchangeId: BigNumberish,
187
+ returnTxInfo?: boolean
188
+ ): Promise<TransactionResponse | TransactionRequest> {
189
+ const expireArgs = {
111
190
  exchangeId,
112
191
  contractAddress: this._protocolDiamond,
113
192
  web3Lib: this._web3Lib
114
- });
193
+ } as const satisfies Parameters<typeof expireDispute>[0];
194
+
195
+ if (returnTxInfo === true) {
196
+ return expireDispute({
197
+ ...expireArgs,
198
+ returnTxInfo: true
199
+ });
200
+ } else {
201
+ return expireDispute({
202
+ ...expireArgs,
203
+ returnTxInfo: false
204
+ });
205
+ }
115
206
  }
116
207
 
117
208
  /**
@@ -120,13 +211,34 @@ export class DisputesMixin extends BaseCoreSDK {
120
211
  * @returns Transaction response.
121
212
  */
122
213
  public async expireDisputeBatch(
123
- exchangeIds: BigNumberish[]
124
- ): Promise<TransactionResponse> {
125
- return expireDisputeBatch({
214
+ exchangeIds: BigNumberish[],
215
+ returnTxInfo: true
216
+ ): Promise<TransactionRequest>;
217
+ public async expireDisputeBatch(
218
+ exchangeIds: BigNumberish[],
219
+ returnTxInfo?: false | undefined
220
+ ): Promise<TransactionResponse>;
221
+ public async expireDisputeBatch(
222
+ exchangeIds: BigNumberish[],
223
+ returnTxInfo?: boolean
224
+ ): Promise<TransactionResponse | TransactionRequest> {
225
+ const batchArgs = {
126
226
  exchangeIds,
127
227
  contractAddress: this._protocolDiamond,
128
228
  web3Lib: this._web3Lib
129
- });
229
+ } as const satisfies Parameters<typeof expireDisputeBatch>[0];
230
+
231
+ if (returnTxInfo === true) {
232
+ return expireDisputeBatch({
233
+ ...batchArgs,
234
+ returnTxInfo: true
235
+ });
236
+ } else {
237
+ return expireDisputeBatch({
238
+ ...batchArgs,
239
+ returnTxInfo: false
240
+ });
241
+ }
130
242
  }
131
243
 
132
244
  /**
@@ -148,12 +260,46 @@ export class DisputesMixin extends BaseCoreSDK {
148
260
  sigR: BytesLike;
149
261
  sigS: BytesLike;
150
262
  sigV: BigNumberish;
151
- }): Promise<TransactionResponse> {
152
- return resolveDispute({
153
- ...args,
263
+ returnTxInfo: true;
264
+ }): Promise<TransactionRequest>;
265
+ public async resolveDispute(args: {
266
+ exchangeId: BigNumberish;
267
+ buyerPercentBasisPoints: BigNumberish;
268
+ sigR: BytesLike;
269
+ sigS: BytesLike;
270
+ sigV: BigNumberish;
271
+ returnTxInfo?: false | undefined;
272
+ }): Promise<TransactionResponse>;
273
+ public async resolveDispute(args: {
274
+ exchangeId: BigNumberish;
275
+ buyerPercentBasisPoints: BigNumberish;
276
+ sigR: BytesLike;
277
+ sigS: BytesLike;
278
+ sigV: BigNumberish;
279
+ returnTxInfo?: boolean;
280
+ }): Promise<TransactionResponse | TransactionRequest> {
281
+ const { returnTxInfo } = args;
282
+ const resolveArgs = {
283
+ exchangeId: args.exchangeId,
284
+ buyerPercentBasisPoints: args.buyerPercentBasisPoints,
285
+ sigR: args.sigR,
286
+ sigS: args.sigS,
287
+ sigV: args.sigV,
154
288
  contractAddress: this._protocolDiamond,
155
289
  web3Lib: this._web3Lib
156
- });
290
+ } as const satisfies Parameters<typeof resolveDispute>[0];
291
+
292
+ if (returnTxInfo === true) {
293
+ return resolveDispute({
294
+ ...resolveArgs,
295
+ returnTxInfo: true
296
+ });
297
+ } else {
298
+ return resolveDispute({
299
+ ...resolveArgs,
300
+ returnTxInfo: false
301
+ });
302
+ }
157
303
  }
158
304
 
159
305
  /**
@@ -162,13 +308,34 @@ export class DisputesMixin extends BaseCoreSDK {
162
308
  * @returns Transaction response.
163
309
  */
164
310
  public async escalateDispute(
165
- exchangeId: BigNumberish
166
- ): Promise<TransactionResponse> {
167
- return escalateDispute({
311
+ exchangeId: BigNumberish,
312
+ returnTxInfo: true
313
+ ): Promise<TransactionRequest>;
314
+ public async escalateDispute(
315
+ exchangeId: BigNumberish,
316
+ returnTxInfo?: false | undefined
317
+ ): Promise<TransactionResponse>;
318
+ public async escalateDispute(
319
+ exchangeId: BigNumberish,
320
+ returnTxInfo?: boolean
321
+ ): Promise<TransactionResponse | TransactionRequest> {
322
+ const escalateArgs = {
168
323
  exchangeId,
169
324
  contractAddress: this._protocolDiamond,
170
325
  web3Lib: this._web3Lib
171
- });
326
+ } as const satisfies Parameters<typeof escalateDispute>[0];
327
+
328
+ if (returnTxInfo === true) {
329
+ return escalateDispute({
330
+ ...escalateArgs,
331
+ returnTxInfo: true
332
+ });
333
+ } else {
334
+ return escalateDispute({
335
+ ...escalateArgs,
336
+ returnTxInfo: false
337
+ });
338
+ }
172
339
  }
173
340
 
174
341
  /**
@@ -179,14 +346,37 @@ export class DisputesMixin extends BaseCoreSDK {
179
346
  */
180
347
  public async decideDispute(
181
348
  exchangeId: BigNumberish,
182
- buyerPercent: BigNumberish
183
- ): Promise<TransactionResponse> {
184
- return decideDispute({
349
+ buyerPercent: BigNumberish,
350
+ returnTxInfo: true
351
+ ): Promise<TransactionRequest>;
352
+ public async decideDispute(
353
+ exchangeId: BigNumberish,
354
+ buyerPercent: BigNumberish,
355
+ returnTxInfo?: false | undefined
356
+ ): Promise<TransactionResponse>;
357
+ public async decideDispute(
358
+ exchangeId: BigNumberish,
359
+ buyerPercent: BigNumberish,
360
+ returnTxInfo?: boolean
361
+ ): Promise<TransactionResponse | TransactionRequest> {
362
+ const decideArgs = {
185
363
  exchangeId,
186
364
  buyerPercent,
187
365
  contractAddress: this._protocolDiamond,
188
366
  web3Lib: this._web3Lib
189
- });
367
+ } as const satisfies Parameters<typeof decideDispute>[0];
368
+
369
+ if (returnTxInfo === true) {
370
+ return decideDispute({
371
+ ...decideArgs,
372
+ returnTxInfo: true
373
+ });
374
+ } else {
375
+ return decideDispute({
376
+ ...decideArgs,
377
+ returnTxInfo: false
378
+ });
379
+ }
190
380
  }
191
381
 
192
382
  /**
@@ -195,13 +385,34 @@ export class DisputesMixin extends BaseCoreSDK {
195
385
  * @returns Transaction response.
196
386
  */
197
387
  public async refuseEscalatedDispute(
198
- exchangeId: BigNumberish
199
- ): Promise<TransactionResponse> {
200
- return refuseEscalatedDispute({
388
+ exchangeId: BigNumberish,
389
+ returnTxInfo: true
390
+ ): Promise<TransactionRequest>;
391
+ public async refuseEscalatedDispute(
392
+ exchangeId: BigNumberish,
393
+ returnTxInfo?: false | undefined
394
+ ): Promise<TransactionResponse>;
395
+ public async refuseEscalatedDispute(
396
+ exchangeId: BigNumberish,
397
+ returnTxInfo?: boolean
398
+ ): Promise<TransactionResponse | TransactionRequest> {
399
+ const refuseArgs = {
201
400
  exchangeId,
202
401
  contractAddress: this._protocolDiamond,
203
402
  web3Lib: this._web3Lib
204
- });
403
+ } as const satisfies Parameters<typeof refuseEscalatedDispute>[0];
404
+
405
+ if (returnTxInfo === true) {
406
+ return refuseEscalatedDispute({
407
+ ...refuseArgs,
408
+ returnTxInfo: true
409
+ });
410
+ } else {
411
+ return refuseEscalatedDispute({
412
+ ...refuseArgs,
413
+ returnTxInfo: false
414
+ });
415
+ }
205
416
  }
206
417
 
207
418
  /**
@@ -210,13 +421,34 @@ export class DisputesMixin extends BaseCoreSDK {
210
421
  * @returns Transaction response.
211
422
  */
212
423
  public async expireEscalatedDispute(
213
- exchangeId: BigNumberish
214
- ): Promise<TransactionResponse> {
215
- return expireEscalatedDispute({
424
+ exchangeId: BigNumberish,
425
+ returnTxInfo: true
426
+ ): Promise<TransactionRequest>;
427
+ public async expireEscalatedDispute(
428
+ exchangeId: BigNumberish,
429
+ returnTxInfo?: false | undefined
430
+ ): Promise<TransactionResponse>;
431
+ public async expireEscalatedDispute(
432
+ exchangeId: BigNumberish,
433
+ returnTxInfo?: boolean
434
+ ): Promise<TransactionResponse | TransactionRequest> {
435
+ const expireEscalatedArgs = {
216
436
  exchangeId,
217
437
  contractAddress: this._protocolDiamond,
218
438
  web3Lib: this._web3Lib
219
- });
439
+ } as const satisfies Parameters<typeof expireEscalatedDispute>[0];
440
+
441
+ if (returnTxInfo === true) {
442
+ return expireEscalatedDispute({
443
+ ...expireEscalatedArgs,
444
+ returnTxInfo: true
445
+ });
446
+ } else {
447
+ return expireEscalatedDispute({
448
+ ...expireEscalatedArgs,
449
+ returnTxInfo: false
450
+ });
451
+ }
220
452
  }
221
453
 
222
454
  /**
@@ -229,12 +461,35 @@ export class DisputesMixin extends BaseCoreSDK {
229
461
  public async signDisputeResolutionProposal(args: {
230
462
  exchangeId: BigNumberish;
231
463
  buyerPercentBasisPoints: BigNumberish;
232
- }) {
233
- return signResolutionProposal({
234
- ...args,
464
+ returnTypedDataToSign: true;
465
+ }): Promise<StructuredData>;
466
+ public async signDisputeResolutionProposal(args: {
467
+ exchangeId: BigNumberish;
468
+ buyerPercentBasisPoints: BigNumberish;
469
+ returnTypedDataToSign?: false;
470
+ }): Promise<ReturnType<typeof getSignatureParameters>>;
471
+ public async signDisputeResolutionProposal(args: {
472
+ exchangeId: BigNumberish;
473
+ buyerPercentBasisPoints: BigNumberish;
474
+ returnTypedDataToSign?: boolean;
475
+ }): Promise<StructuredData | ReturnType<typeof getSignatureParameters>> {
476
+ const { returnTypedDataToSign, ...argsWithoutReturnTypedDataToSign } = args;
477
+ const params = {
478
+ ...argsWithoutReturnTypedDataToSign,
235
479
  web3Lib: this._web3Lib,
236
480
  contractAddress: this._protocolDiamond,
237
481
  chainId: this._chainId
238
- });
482
+ };
483
+ if (returnTypedDataToSign === true) {
484
+ return signResolutionProposal({
485
+ ...params,
486
+ returnTypedDataToSign: true
487
+ });
488
+ } else {
489
+ return signResolutionProposal({
490
+ ...params,
491
+ returnTypedDataToSign: false
492
+ });
493
+ }
239
494
  }
240
495
  }
@@ -1,7 +1,8 @@
1
+ import { Web3LibAdapter } from "@bosonprotocol/common";
1
2
  import { BaseCoreSDK } from "./../mixins/base-core-sdk";
2
3
  import { balanceOf, name, symbol, uri } from "./handler";
3
4
 
4
- export class ERC1155Mixin extends BaseCoreSDK {
5
+ export class ERC1155Mixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
5
6
  /* -------------------------------------------------------------------------- */
6
7
  /* ERC1155 related methods */
7
8
  /* -------------------------------------------------------------------------- */
@@ -1,7 +1,8 @@
1
+ import { Web3LibAdapter } from "@bosonprotocol/common";
1
2
  import { BaseCoreSDK } from "./../mixins/base-core-sdk";
2
3
  import { supportsInterface } from "./handler";
3
4
 
4
- export class ERC165Mixin extends BaseCoreSDK {
5
+ export class ERC165Mixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
5
6
  /* -------------------------------------------------------------------------- */
6
7
  /* ERC20 related methods */
7
8
  /* -------------------------------------------------------------------------- */
@@ -1,19 +1,51 @@
1
- import { Web3LibAdapter, TransactionRequest } from "@bosonprotocol/common";
1
+ import {
2
+ Web3LibAdapter,
3
+ TransactionRequest,
4
+ TransactionResponse
5
+ } from "@bosonprotocol/common";
2
6
  import { BigNumber, BigNumberish } from "@ethersproject/bignumber";
3
7
  import { erc20Iface } from "./interface";
4
8
 
9
+ // Overload: returnTxInfo is true -> returns TransactionRequest
5
10
  export async function approve(args: {
6
11
  contractAddress: string;
7
12
  spender: string;
8
13
  value: BigNumberish;
9
14
  web3Lib: Web3LibAdapter;
10
15
  txRequest?: TransactionRequest;
11
- }) {
12
- return args.web3Lib.sendTransaction({
16
+ returnTxInfo: true;
17
+ }): Promise<TransactionRequest>;
18
+
19
+ // Overload: returnTxInfo is false or undefined -> returns TransactionResponse
20
+ export async function approve(args: {
21
+ contractAddress: string;
22
+ spender: string;
23
+ value: BigNumberish;
24
+ web3Lib: Web3LibAdapter;
25
+ txRequest?: TransactionRequest;
26
+ returnTxInfo?: false | undefined;
27
+ }): Promise<TransactionResponse>;
28
+
29
+ // Implementation
30
+ export async function approve(args: {
31
+ contractAddress: string;
32
+ spender: string;
33
+ value: BigNumberish;
34
+ web3Lib: Web3LibAdapter;
35
+ txRequest?: TransactionRequest;
36
+ returnTxInfo?: boolean;
37
+ }): Promise<TransactionRequest | TransactionResponse> {
38
+ const transactionRequest: TransactionRequest = {
13
39
  ...args.txRequest,
14
40
  to: args.contractAddress,
15
41
  data: erc20Iface.encodeFunctionData("approve", [args.spender, args.value])
16
- });
42
+ };
43
+
44
+ if (args.returnTxInfo) {
45
+ return transactionRequest;
46
+ } else {
47
+ return args.web3Lib.sendTransaction(transactionRequest);
48
+ }
17
49
  }
18
50
 
19
51
  export async function getAllowance(args: {
@@ -1,3 +1,8 @@
1
+ import {
2
+ Web3LibAdapter,
3
+ TransactionResponse,
4
+ TransactionRequest
5
+ } from "@bosonprotocol/common";
1
6
  import { BaseCoreSDK } from "./../mixins/base-core-sdk";
2
7
  import {
3
8
  approve,
@@ -9,14 +14,82 @@ import {
9
14
  balanceOf
10
15
  } from "./handler";
11
16
 
12
- export class ERC20Mixin extends BaseCoreSDK {
17
+ export class ERC20Mixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
13
18
  /* -------------------------------------------------------------------------- */
14
19
  /* ERC20 related methods */
15
20
  /* -------------------------------------------------------------------------- */
21
+
22
+ /**
23
+ * Approves ERC20 token spending allowance.
24
+ * This transaction only succeeds if the token contract exists and caller has sufficient balance.
25
+ * @param args - Approval arguments.
26
+ * @param overrides - Optional overrides.
27
+ * @returns Transaction response.
28
+ */
29
+ // Overload: returnTxInfo is true → returns TransactionRequest
30
+ public async erc20Approve(
31
+ args: Omit<
32
+ Parameters<typeof approve>[0],
33
+ "web3Lib" | "theGraphStorage" | "metadataStorage"
34
+ >,
35
+ overrides: Partial<{
36
+ contractAddress: string;
37
+ txRequest: TransactionRequest;
38
+ returnTxInfo: true;
39
+ }>
40
+ ): Promise<TransactionRequest>;
41
+
42
+ // Overload: returnTxInfo is false or undefined → returns TransactionResponse
43
+ public async erc20Approve(
44
+ args: Omit<
45
+ Parameters<typeof approve>[0],
46
+ "web3Lib" | "theGraphStorage" | "metadataStorage"
47
+ >,
48
+ overrides?: Partial<{
49
+ contractAddress: string;
50
+ txRequest: TransactionRequest;
51
+ returnTxInfo?: false | undefined;
52
+ }>
53
+ ): Promise<TransactionResponse>;
54
+
55
+ // Implementation
16
56
  public async erc20Approve(
17
- args: Omit<Parameters<typeof approve>[0], "web3Lib">
18
- ): Promise<ReturnType<typeof approve>> {
19
- return approve({ web3Lib: this._web3Lib, ...args });
57
+ args: Omit<
58
+ Parameters<typeof approve>[0],
59
+ "web3Lib" | "theGraphStorage" | "metadataStorage"
60
+ >,
61
+ overrides: Partial<{
62
+ contractAddress: string;
63
+ txRequest: TransactionRequest;
64
+ returnTxInfo?: boolean;
65
+ }> = {}
66
+ ): Promise<TransactionResponse | TransactionRequest> {
67
+ const { returnTxInfo } = overrides;
68
+
69
+ const approveArgs = {
70
+ ...args,
71
+ web3Lib: this._web3Lib,
72
+ contractAddress: overrides.contractAddress,
73
+ txRequest: overrides.txRequest
74
+ } as const satisfies Parameters<typeof approve>[0];
75
+
76
+ if (returnTxInfo === true) {
77
+ return approve({
78
+ ...approveArgs,
79
+ returnTxInfo: true
80
+ });
81
+ } else {
82
+ return approve({
83
+ ...approveArgs,
84
+ returnTxInfo: false
85
+ });
86
+ }
87
+ }
88
+
89
+ public async erc20EnsureAllowance(
90
+ args: Omit<Parameters<typeof ensureAllowance>[0], "web3Lib">
91
+ ): Promise<ReturnType<typeof ensureAllowance>> {
92
+ return ensureAllowance({ web3Lib: this._web3Lib, ...args });
20
93
  }
21
94
 
22
95
  public async erc20GetAllowance(
@@ -43,12 +116,6 @@ export class ERC20Mixin extends BaseCoreSDK {
43
116
  return getName({ web3Lib: this._web3Lib, ...args });
44
117
  }
45
118
 
46
- public async erc20EnsureAllowance(
47
- args: Omit<Parameters<typeof ensureAllowance>[0], "web3Lib">
48
- ): Promise<ReturnType<typeof ensureAllowance>> {
49
- return ensureAllowance({ web3Lib: this._web3Lib, ...args });
50
- }
51
-
52
119
  public async erc20BalanceOf(
53
120
  args: Omit<Parameters<typeof balanceOf>[0], "web3Lib">
54
121
  ): Promise<ReturnType<typeof balanceOf>> {