@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,4 +1,8 @@
1
- import { TransactionRequest, Web3LibAdapter } from "@bosonprotocol/common";
1
+ import {
2
+ TransactionRequest,
3
+ TransactionResponse,
4
+ Web3LibAdapter
5
+ } from "@bosonprotocol/common";
2
6
  import { BigNumberish } from "@ethersproject/bignumber";
3
7
  import { erc721Iface } from "./interface";
4
8
 
@@ -96,19 +100,45 @@ export async function tokenOfOwnerByIndex(args: {
96
100
  return String(tokenId);
97
101
  }
98
102
 
103
+ // setApprovalForAll overloads
99
104
  export async function setApprovalForAll(args: {
100
105
  contractAddress: string;
101
106
  operator: string;
102
107
  approved: boolean;
103
108
  web3Lib: Web3LibAdapter;
109
+ returnTxInfo: true;
104
110
  txRequest?: TransactionRequest;
105
- }) {
106
- return args.web3Lib.sendTransaction({
111
+ }): Promise<TransactionRequest>;
112
+
113
+ export async function setApprovalForAll(args: {
114
+ contractAddress: string;
115
+ operator: string;
116
+ approved: boolean;
117
+ web3Lib: Web3LibAdapter;
118
+ returnTxInfo?: false | undefined;
119
+ txRequest?: TransactionRequest;
120
+ }): Promise<TransactionResponse>;
121
+
122
+ export async function setApprovalForAll(args: {
123
+ contractAddress: string;
124
+ operator: string;
125
+ approved: boolean;
126
+ web3Lib: Web3LibAdapter;
127
+ returnTxInfo?: boolean;
128
+ txRequest?: TransactionRequest;
129
+ }): Promise<TransactionRequest | TransactionResponse> {
130
+ const transactionRequest = {
107
131
  ...args.txRequest,
108
132
  to: args.contractAddress,
109
133
  data: erc721Iface.encodeFunctionData("setApprovalForAll", [
110
134
  args.operator,
111
135
  args.approved
112
136
  ])
113
- });
137
+ } satisfies TransactionRequest;
138
+
139
+ if (args.returnTxInfo) {
140
+ return transactionRequest;
141
+ } else {
142
+ return args.web3Lib.sendTransaction(transactionRequest);
143
+ }
114
144
  }
@@ -1,3 +1,4 @@
1
+ import { Web3LibAdapter } from "@bosonprotocol/common";
1
2
  import { BaseCoreSDK } from "./../mixins/base-core-sdk";
2
3
  import {
3
4
  balanceOf,
@@ -8,7 +9,7 @@ import {
8
9
  tokenUri
9
10
  } from "./handler";
10
11
 
11
- export class ERC721Mixin extends BaseCoreSDK {
12
+ export class ERC721Mixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
12
13
  /* -------------------------------------------------------------------------- */
13
14
  /* ERC721 related methods */
14
15
  /* -------------------------------------------------------------------------- */
@@ -1,8 +1,8 @@
1
1
  import { Interface } from "@ethersproject/abi";
2
- import { abis, ErrorFragment } from "@bosonprotocol/common";
2
+ import { abis, ErrorFragment, Web3LibAdapter } from "@bosonprotocol/common";
3
3
  import { BaseCoreSDK } from "./../mixins/base-core-sdk";
4
4
 
5
- export class ErrorMixin extends BaseCoreSDK {
5
+ export class ErrorMixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
6
6
  public parseError(error: object): object {
7
7
  return { ...error, decoded: this.recurseParseError(error) };
8
8
  }
@@ -4,8 +4,9 @@ import {
4
4
  getEventLogs,
5
5
  getConditionalCommitAuthorizedEventLogs
6
6
  } from "./subgraph";
7
+ import { Web3LibAdapter } from "@bosonprotocol/common";
7
8
 
8
- export class EventLogsMixin extends BaseCoreSDK {
9
+ export class EventLogsMixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
9
10
  /**
10
11
  * Returns event logs from subgraph.
11
12
  * @param queryVars - Optional query variables to skip, order or filter.
@@ -1,6 +1,10 @@
1
1
  import { BigNumberish, BigNumber } from "@ethersproject/bignumber";
2
2
  import { AddressZero } from "@ethersproject/constants";
3
- import { Web3LibAdapter, TransactionResponse } from "@bosonprotocol/common";
3
+ import {
4
+ Web3LibAdapter,
5
+ TransactionResponse,
6
+ TransactionRequest
7
+ } from "@bosonprotocol/common";
4
8
  import {
5
9
  encodeCancelVoucher,
6
10
  encodeCommitToOffer,
@@ -51,20 +55,48 @@ export function checkOfferIsCommittable(
51
55
  }
52
56
  }
53
57
 
58
+ // Overload: returnTxInfo is true → returns TransactionRequest
59
+ export async function commitToOffer(
60
+ args: BaseExchangeHandlerArgs & {
61
+ buyer: string;
62
+ offerId: BigNumberish;
63
+ returnTxInfo: true;
64
+ }
65
+ ): Promise<TransactionRequest>;
66
+
67
+ // Overload: returnTxInfo is false or undefined → returns TransactionResponse
54
68
  export async function commitToOffer(
55
69
  args: BaseExchangeHandlerArgs & {
56
70
  buyer: string;
57
71
  offerId: BigNumberish;
72
+ returnTxInfo?: false | undefined;
58
73
  }
59
- ): Promise<TransactionResponse> {
74
+ ): Promise<TransactionResponse>;
75
+
76
+ // Implementation
77
+ export async function commitToOffer(
78
+ args: BaseExchangeHandlerArgs & {
79
+ buyer: string;
80
+ offerId: BigNumberish;
81
+ returnTxInfo?: boolean;
82
+ }
83
+ ): Promise<TransactionRequest | TransactionResponse> {
60
84
  const offer = await getOfferById(args.subgraphUrl, args.offerId);
61
85
 
62
86
  await checkOfferIsCommittable(args.offerId, offer);
63
87
 
64
88
  if (offer.condition) {
65
89
  // keep compatibility with previous version
90
+ if (args.returnTxInfo) {
91
+ return commitToConditionalOffer({
92
+ ...args,
93
+ returnTxInfo: true,
94
+ tokenId: offer.condition.minTokenId
95
+ });
96
+ }
66
97
  return commitToConditionalOffer({
67
98
  ...args,
99
+ returnTxInfo: false,
68
100
  tokenId: offer.condition.minTokenId
69
101
  });
70
102
  }
@@ -81,21 +113,49 @@ export async function commitToOffer(
81
113
  });
82
114
  }
83
115
 
84
- return args.web3Lib.sendTransaction({
116
+ const transactionRequest = {
85
117
  from: args.buyer,
86
118
  to: args.contractAddress,
87
119
  data: encodeCommitToOffer(args.buyer, args.offerId),
88
120
  value: offer.exchangeToken.address === AddressZero ? offer.price : "0"
89
- });
121
+ } satisfies TransactionRequest;
122
+
123
+ if (args.returnTxInfo) {
124
+ return transactionRequest;
125
+ } else {
126
+ return args.web3Lib.sendTransaction(transactionRequest);
127
+ }
90
128
  }
91
129
 
130
+ // Overload: returnTxInfo is true → returns TransactionRequest
92
131
  export async function commitToConditionalOffer(
93
132
  args: BaseExchangeHandlerArgs & {
94
133
  buyer: string;
95
134
  offerId: BigNumberish;
96
135
  tokenId: BigNumberish;
136
+ returnTxInfo: true;
97
137
  }
98
- ): Promise<TransactionResponse> {
138
+ ): Promise<TransactionRequest>;
139
+
140
+ // Overload: returnTxInfo is false or undefined → returns TransactionResponse
141
+ export async function commitToConditionalOffer(
142
+ args: BaseExchangeHandlerArgs & {
143
+ buyer: string;
144
+ offerId: BigNumberish;
145
+ tokenId: BigNumberish;
146
+ returnTxInfo?: false | undefined;
147
+ }
148
+ ): Promise<TransactionResponse>;
149
+
150
+ // Implementation
151
+ export async function commitToConditionalOffer(
152
+ args: BaseExchangeHandlerArgs & {
153
+ buyer: string;
154
+ offerId: BigNumberish;
155
+ tokenId: BigNumberish;
156
+ returnTxInfo?: boolean;
157
+ }
158
+ ): Promise<TransactionRequest | TransactionResponse> {
99
159
  const offer = await getOfferById(args.subgraphUrl, args.offerId);
100
160
 
101
161
  await checkOfferIsCommittable(args.offerId, offer);
@@ -112,7 +172,7 @@ export async function commitToConditionalOffer(
112
172
  });
113
173
  }
114
174
 
115
- return args.web3Lib.sendTransaction({
175
+ const transactionRequest = {
116
176
  from: args.buyer,
117
177
  to: args.contractAddress,
118
178
  data: encodeCommitToConditionalOffer(
@@ -121,14 +181,38 @@ export async function commitToConditionalOffer(
121
181
  args.tokenId
122
182
  ),
123
183
  value: offer.exchangeToken.address === AddressZero ? offer.price : "0"
124
- });
184
+ } satisfies TransactionRequest;
185
+
186
+ if (args.returnTxInfo) {
187
+ return transactionRequest;
188
+ } else {
189
+ return args.web3Lib.sendTransaction(transactionRequest);
190
+ }
125
191
  }
126
192
 
193
+ // Overload: returnTxInfo is true → returns TransactionRequest
127
194
  export async function completeExchange(
128
195
  args: BaseExchangeHandlerArgs & {
129
196
  exchangeId: BigNumberish;
197
+ returnTxInfo: true;
130
198
  }
131
- ) {
199
+ ): Promise<TransactionRequest>;
200
+
201
+ // Overload: returnTxInfo is false or undefined → returns TransactionResponse
202
+ export async function completeExchange(
203
+ args: BaseExchangeHandlerArgs & {
204
+ exchangeId: BigNumberish;
205
+ returnTxInfo?: false | undefined;
206
+ }
207
+ ): Promise<TransactionResponse>;
208
+
209
+ // Implementation
210
+ export async function completeExchange(
211
+ args: BaseExchangeHandlerArgs & {
212
+ exchangeId: BigNumberish;
213
+ returnTxInfo?: boolean;
214
+ }
215
+ ): Promise<TransactionRequest | TransactionResponse> {
132
216
  const [exchange, signerAddress] = await Promise.all([
133
217
  getExchangeById(args.subgraphUrl, args.exchangeId),
134
218
  args.web3Lib.getSignerAddress()
@@ -136,17 +220,41 @@ export async function completeExchange(
136
220
 
137
221
  assertCompletableExchange(args.exchangeId, exchange, signerAddress);
138
222
 
139
- return args.web3Lib.sendTransaction({
223
+ const transactionRequest = {
140
224
  to: args.contractAddress,
141
225
  data: encodeCompleteExchange(args.exchangeId)
142
- });
226
+ } satisfies TransactionRequest;
227
+
228
+ if (args.returnTxInfo) {
229
+ return transactionRequest;
230
+ } else {
231
+ return args.web3Lib.sendTransaction(transactionRequest);
232
+ }
143
233
  }
144
234
 
235
+ // Overload: returnTxInfo is true → returns TransactionRequest
145
236
  export async function completeExchangeBatch(
146
237
  args: BaseExchangeHandlerArgs & {
147
238
  exchangeIds: BigNumberish[];
239
+ returnTxInfo: true;
148
240
  }
149
- ) {
241
+ ): Promise<TransactionRequest>;
242
+
243
+ // Overload: returnTxInfo is false or undefined → returns TransactionResponse
244
+ export async function completeExchangeBatch(
245
+ args: BaseExchangeHandlerArgs & {
246
+ exchangeIds: BigNumberish[];
247
+ returnTxInfo?: false | undefined;
248
+ }
249
+ ): Promise<TransactionResponse>;
250
+
251
+ // Implementation
252
+ export async function completeExchangeBatch(
253
+ args: BaseExchangeHandlerArgs & {
254
+ exchangeIds: BigNumberish[];
255
+ returnTxInfo?: boolean;
256
+ }
257
+ ): Promise<TransactionRequest | TransactionResponse> {
150
258
  const [exchanges, signerAddress] = await Promise.all([
151
259
  getExchanges(args.subgraphUrl, {
152
260
  exchangesFilter: {
@@ -160,17 +268,41 @@ export async function completeExchangeBatch(
160
268
  assertCompletableExchange(exchange.id, exchange, signerAddress);
161
269
  }
162
270
 
163
- return args.web3Lib.sendTransaction({
271
+ const transactionRequest = {
164
272
  to: args.contractAddress,
165
273
  data: encodeCompleteExchangeBatch(args.exchangeIds)
166
- });
274
+ } satisfies TransactionRequest;
275
+
276
+ if (args.returnTxInfo) {
277
+ return transactionRequest;
278
+ } else {
279
+ return args.web3Lib.sendTransaction(transactionRequest);
280
+ }
167
281
  }
168
282
 
283
+ // Overload: returnTxInfo is true → returns TransactionRequest
284
+ export async function revokeVoucher(
285
+ args: BaseExchangeHandlerArgs & {
286
+ exchangeId: BigNumberish;
287
+ returnTxInfo: true;
288
+ }
289
+ ): Promise<TransactionRequest>;
290
+
291
+ // Overload: returnTxInfo is false or undefined → returns TransactionResponse
169
292
  export async function revokeVoucher(
170
293
  args: BaseExchangeHandlerArgs & {
171
294
  exchangeId: BigNumberish;
295
+ returnTxInfo?: false | undefined;
172
296
  }
173
- ): Promise<TransactionResponse> {
297
+ ): Promise<TransactionResponse>;
298
+
299
+ // Implementation
300
+ export async function revokeVoucher(
301
+ args: BaseExchangeHandlerArgs & {
302
+ exchangeId: BigNumberish;
303
+ returnTxInfo?: boolean;
304
+ }
305
+ ): Promise<TransactionRequest | TransactionResponse> {
174
306
  const [exchange, signerAddress] = await Promise.all([
175
307
  getExchangeById(args.subgraphUrl, args.exchangeId),
176
308
  args.web3Lib.getSignerAddress()
@@ -180,17 +312,41 @@ export async function revokeVoucher(
180
312
  assertExchangeState(exchange, ExchangeState.COMMITTED);
181
313
  assertSignerIsAssistant(signerAddress, exchange);
182
314
 
183
- return args.web3Lib.sendTransaction({
315
+ const transactionRequest = {
184
316
  to: args.contractAddress,
185
317
  data: encodeRevokeVoucher(args.exchangeId)
186
- });
318
+ } satisfies TransactionRequest;
319
+
320
+ if (args.returnTxInfo) {
321
+ return transactionRequest;
322
+ } else {
323
+ return args.web3Lib.sendTransaction(transactionRequest);
324
+ }
187
325
  }
188
326
 
327
+ // Overload: returnTxInfo is true → returns TransactionRequest
328
+ export async function cancelVoucher(
329
+ args: BaseExchangeHandlerArgs & {
330
+ exchangeId: BigNumberish;
331
+ returnTxInfo: true;
332
+ }
333
+ ): Promise<TransactionRequest>;
334
+
335
+ // Overload: returnTxInfo is false or undefined → returns TransactionResponse
336
+ export async function cancelVoucher(
337
+ args: BaseExchangeHandlerArgs & {
338
+ exchangeId: BigNumberish;
339
+ returnTxInfo?: false | undefined;
340
+ }
341
+ ): Promise<TransactionResponse>;
342
+
343
+ // Implementation
189
344
  export async function cancelVoucher(
190
345
  args: BaseExchangeHandlerArgs & {
191
346
  exchangeId: BigNumberish;
347
+ returnTxInfo?: boolean;
192
348
  }
193
- ): Promise<TransactionResponse> {
349
+ ): Promise<TransactionRequest | TransactionResponse> {
194
350
  const [exchange, signerAddress] = await Promise.all([
195
351
  getExchangeById(args.subgraphUrl, args.exchangeId),
196
352
  args.web3Lib.getSignerAddress()
@@ -200,17 +356,41 @@ export async function cancelVoucher(
200
356
  assertExchangeState(exchange, ExchangeState.COMMITTED);
201
357
  assertSignerIsBuyer(signerAddress, exchange);
202
358
 
203
- return args.web3Lib.sendTransaction({
359
+ const transactionRequest = {
204
360
  to: args.contractAddress,
205
361
  data: encodeCancelVoucher(args.exchangeId)
206
- });
362
+ } satisfies TransactionRequest;
363
+
364
+ if (args.returnTxInfo) {
365
+ return transactionRequest;
366
+ } else {
367
+ return args.web3Lib.sendTransaction(transactionRequest);
368
+ }
207
369
  }
208
370
 
371
+ // Overload: returnTxInfo is true → returns TransactionRequest
372
+ export async function expireVoucher(
373
+ args: BaseExchangeHandlerArgs & {
374
+ exchangeId: BigNumberish;
375
+ returnTxInfo: true;
376
+ }
377
+ ): Promise<TransactionRequest>;
378
+
379
+ // Overload: returnTxInfo is false or undefined → returns TransactionResponse
209
380
  export async function expireVoucher(
210
381
  args: BaseExchangeHandlerArgs & {
211
382
  exchangeId: BigNumberish;
383
+ returnTxInfo?: false | undefined;
212
384
  }
213
- ): Promise<TransactionResponse> {
385
+ ): Promise<TransactionResponse>;
386
+
387
+ // Implementation
388
+ export async function expireVoucher(
389
+ args: BaseExchangeHandlerArgs & {
390
+ exchangeId: BigNumberish;
391
+ returnTxInfo?: boolean;
392
+ }
393
+ ): Promise<TransactionRequest | TransactionResponse> {
214
394
  const exchange = await getExchangeById(args.subgraphUrl, args.exchangeId);
215
395
 
216
396
  assertExchange(args.exchangeId, exchange);
@@ -219,17 +399,41 @@ export async function expireVoucher(
219
399
  throw new Error(`Voucher is still valid`);
220
400
  }
221
401
 
222
- return args.web3Lib.sendTransaction({
402
+ const transactionRequest = {
223
403
  to: args.contractAddress,
224
404
  data: encodeExpireVoucher(args.exchangeId)
225
- });
405
+ } satisfies TransactionRequest;
406
+
407
+ if (args.returnTxInfo) {
408
+ return transactionRequest;
409
+ } else {
410
+ return args.web3Lib.sendTransaction(transactionRequest);
411
+ }
226
412
  }
227
413
 
414
+ // Overload: returnTxInfo is true → returns TransactionRequest
228
415
  export async function redeemVoucher(
229
416
  args: BaseExchangeHandlerArgs & {
230
417
  exchangeId: BigNumberish;
418
+ returnTxInfo: true;
231
419
  }
232
- ): Promise<TransactionResponse> {
420
+ ): Promise<TransactionRequest>;
421
+
422
+ // Overload: returnTxInfo is false or undefined → returns TransactionResponse
423
+ export async function redeemVoucher(
424
+ args: BaseExchangeHandlerArgs & {
425
+ exchangeId: BigNumberish;
426
+ returnTxInfo?: false | undefined;
427
+ }
428
+ ): Promise<TransactionResponse>;
429
+
430
+ // Implementation
431
+ export async function redeemVoucher(
432
+ args: BaseExchangeHandlerArgs & {
433
+ exchangeId: BigNumberish;
434
+ returnTxInfo?: boolean;
435
+ }
436
+ ): Promise<TransactionRequest | TransactionResponse> {
233
437
  const [exchange, signerAddress] = await Promise.all([
234
438
  getExchangeById(args.subgraphUrl, args.exchangeId),
235
439
  args.web3Lib.getSignerAddress()
@@ -247,10 +451,16 @@ export async function redeemVoucher(
247
451
  throw new Error(`Voucher can not be redeemed anymore`);
248
452
  }
249
453
 
250
- return args.web3Lib.sendTransaction({
454
+ const transactionRequest = {
251
455
  to: args.contractAddress,
252
456
  data: encodeRedeemVoucher(args.exchangeId)
253
- });
457
+ } satisfies TransactionRequest;
458
+
459
+ if (args.returnTxInfo) {
460
+ return transactionRequest;
461
+ } else {
462
+ return args.web3Lib.sendTransaction(transactionRequest);
463
+ }
254
464
  }
255
465
 
256
466
  function assertExchange(