@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
@@ -20,19 +20,67 @@ import { storeMetadataOnTheGraph } from "./storage";
20
20
  import { CreateOfferArgs } from "./types";
21
21
  import { OfferFieldsFragment } from "../subgraph";
22
22
  import { storeMetadataItems } from "../metadata/storeMetadataItems";
23
+ import { getDisputeResolverById } from "../accounts/subgraph";
23
24
 
25
+ // Overload: returnTxInfo is true → returns TransactionRequest
24
26
  export async function createOffer(args: {
25
27
  offerToCreate: CreateOfferArgs;
26
28
  contractAddress: string;
27
29
  web3Lib: Web3LibAdapter;
30
+ subgraphUrl: string;
28
31
  metadataStorage?: MetadataStorage;
29
32
  theGraphStorage?: MetadataStorage;
30
33
  txRequest?: TransactionRequest;
31
- }): Promise<TransactionResponse> {
34
+ returnTxInfo: true;
35
+ }): Promise<TransactionRequest>;
36
+
37
+ // Overload: returnTxInfo is false or undefined → returns TransactionResponse
38
+ export async function createOffer(args: {
39
+ offerToCreate: CreateOfferArgs;
40
+ contractAddress: string;
41
+ web3Lib: Web3LibAdapter;
42
+ subgraphUrl: string;
43
+ metadataStorage?: MetadataStorage;
44
+ theGraphStorage?: MetadataStorage;
45
+ txRequest?: TransactionRequest;
46
+ returnTxInfo?: false | undefined;
47
+ }): Promise<TransactionResponse>;
48
+
49
+ // Implementation
50
+ export async function createOffer(args: {
51
+ offerToCreate: CreateOfferArgs;
52
+ contractAddress: string;
53
+ web3Lib: Web3LibAdapter;
54
+ subgraphUrl: string;
55
+ metadataStorage?: MetadataStorage;
56
+ theGraphStorage?: MetadataStorage;
57
+ txRequest?: TransactionRequest;
58
+ returnTxInfo?: boolean;
59
+ }): Promise<TransactionRequest | TransactionResponse> {
32
60
  utils.validation.createOfferArgsSchema.validateSync(args.offerToCreate, {
33
61
  abortEarly: false
34
62
  });
35
63
 
64
+ const { disputeResolverId, exchangeToken } = args.offerToCreate;
65
+ const disputeResolver = await getDisputeResolverById(
66
+ args.subgraphUrl,
67
+ disputeResolverId
68
+ );
69
+ if (!disputeResolver) {
70
+ throw new Error(
71
+ `Dispute resolver with id "${disputeResolverId}" does not exist`
72
+ );
73
+ }
74
+ if (
75
+ !disputeResolver.fees.some(
76
+ (fee) => fee.token.address.toLowerCase() === exchangeToken.toLowerCase()
77
+ )
78
+ ) {
79
+ throw new Error(
80
+ `Dispute resolver with id "${disputeResolverId}" does not support exchange token "${exchangeToken}"`
81
+ );
82
+ }
83
+
36
84
  await storeMetadataOnTheGraph({
37
85
  metadataUriOrHash: args.offerToCreate.metadataUri,
38
86
  metadataStorage: args.metadataStorage,
@@ -44,20 +92,49 @@ export async function createOffer(args: {
44
92
  createOffersArgs: [args.offerToCreate]
45
93
  });
46
94
 
47
- return args.web3Lib.sendTransaction({
95
+ const transactionRequest = {
48
96
  ...args.txRequest,
49
97
  to: args.contractAddress,
50
98
  data: encodeCreateOffer(args.offerToCreate)
51
- });
99
+ } satisfies TransactionRequest;
100
+
101
+ if (args.returnTxInfo) {
102
+ return transactionRequest;
103
+ } else {
104
+ const txResponse = await args.web3Lib.sendTransaction(transactionRequest);
105
+ return txResponse;
106
+ }
52
107
  }
53
108
 
109
+ // Overload: returnTxInfo is true → returns TransactionRequest
110
+ export async function createOfferBatch(args: {
111
+ offersToCreate: CreateOfferArgs[];
112
+ contractAddress: string;
113
+ web3Lib: Web3LibAdapter;
114
+ metadataStorage?: MetadataStorage;
115
+ theGraphStorage?: MetadataStorage;
116
+ returnTxInfo: true;
117
+ }): Promise<TransactionRequest>;
118
+
119
+ // Overload: returnTxInfo is false or undefined → returns TransactionResponse
120
+ export async function createOfferBatch(args: {
121
+ offersToCreate: CreateOfferArgs[];
122
+ contractAddress: string;
123
+ web3Lib: Web3LibAdapter;
124
+ metadataStorage?: MetadataStorage;
125
+ theGraphStorage?: MetadataStorage;
126
+ returnTxInfo?: false | undefined;
127
+ }): Promise<TransactionResponse>;
128
+
129
+ // Implementation
54
130
  export async function createOfferBatch(args: {
55
131
  offersToCreate: CreateOfferArgs[];
56
132
  contractAddress: string;
57
133
  web3Lib: Web3LibAdapter;
58
134
  metadataStorage?: MetadataStorage;
59
135
  theGraphStorage?: MetadataStorage;
60
- }): Promise<TransactionResponse> {
136
+ returnTxInfo?: boolean;
137
+ }): Promise<TransactionRequest | TransactionResponse> {
61
138
  for (const offerToCreate of args.offersToCreate) {
62
139
  utils.validation.createOfferArgsSchema.validateSync(offerToCreate, {
63
140
  abortEarly: false
@@ -79,12 +156,19 @@ export async function createOfferBatch(args: {
79
156
  createOffersArgs: args.offersToCreate
80
157
  });
81
158
 
82
- return args.web3Lib.sendTransaction({
159
+ const transactionRequest = {
83
160
  to: args.contractAddress,
84
161
  data: encodeCreateOfferBatch(args.offersToCreate)
85
- });
162
+ } satisfies TransactionRequest;
163
+
164
+ if (args.returnTxInfo) {
165
+ return transactionRequest;
166
+ } else {
167
+ return args.web3Lib.sendTransaction(transactionRequest);
168
+ }
86
169
  }
87
170
 
171
+ // Overload: returnTxInfo is true → returns TransactionRequest
88
172
  export async function reserveRange(args: {
89
173
  contractAddress: string;
90
174
  subgraphUrl: string;
@@ -92,7 +176,30 @@ export async function reserveRange(args: {
92
176
  length: BigNumberish;
93
177
  to: string;
94
178
  web3Lib: Web3LibAdapter;
95
- }): Promise<TransactionResponse> {
179
+ returnTxInfo: true;
180
+ }): Promise<TransactionRequest>;
181
+
182
+ // Overload: returnTxInfo is false or undefined → returns TransactionResponse
183
+ export async function reserveRange(args: {
184
+ contractAddress: string;
185
+ subgraphUrl: string;
186
+ offerId: BigNumberish;
187
+ length: BigNumberish;
188
+ to: string;
189
+ web3Lib: Web3LibAdapter;
190
+ returnTxInfo?: false | undefined;
191
+ }): Promise<TransactionResponse>;
192
+
193
+ // Implementation
194
+ export async function reserveRange(args: {
195
+ contractAddress: string;
196
+ subgraphUrl: string;
197
+ offerId: BigNumberish;
198
+ length: BigNumberish;
199
+ to: string;
200
+ web3Lib: Web3LibAdapter;
201
+ returnTxInfo?: boolean;
202
+ }): Promise<TransactionRequest | TransactionResponse> {
96
203
  const offerFromSubgraph = await getOfferById(args.subgraphUrl, args.offerId);
97
204
  const signerAddress = await args.web3Lib.getSignerAddress();
98
205
 
@@ -103,35 +210,87 @@ export async function reserveRange(args: {
103
210
  offerFromSubgraph
104
211
  );
105
212
 
106
- return args.web3Lib.sendTransaction({
213
+ const transactionRequest = {
107
214
  to: args.contractAddress,
108
215
  data: encodeReserveRange(args.offerId, args.length, args.to)
109
- });
216
+ } satisfies TransactionRequest;
217
+
218
+ if (args.returnTxInfo) {
219
+ return transactionRequest;
220
+ } else {
221
+ return args.web3Lib.sendTransaction(transactionRequest);
222
+ }
110
223
  }
111
224
 
225
+ // Overload: returnTxInfo is true → returns TransactionRequest
226
+ export async function voidOffer(args: {
227
+ contractAddress: string;
228
+ subgraphUrl: string;
229
+ offerId: BigNumberish;
230
+ web3Lib: Web3LibAdapter;
231
+ returnTxInfo: true;
232
+ }): Promise<TransactionRequest>;
233
+
234
+ // Overload: returnTxInfo is false or undefined → returns TransactionResponse
235
+ export async function voidOffer(args: {
236
+ contractAddress: string;
237
+ subgraphUrl: string;
238
+ offerId: BigNumberish;
239
+ web3Lib: Web3LibAdapter;
240
+ returnTxInfo?: false | undefined;
241
+ }): Promise<TransactionResponse>;
242
+
243
+ // Implementation
112
244
  export async function voidOffer(args: {
113
245
  contractAddress: string;
114
246
  subgraphUrl: string;
115
247
  offerId: BigNumberish;
116
248
  web3Lib: Web3LibAdapter;
117
- }): Promise<TransactionResponse> {
249
+ returnTxInfo?: boolean;
250
+ }): Promise<TransactionRequest | TransactionResponse> {
118
251
  const offerFromSubgraph = await getOfferById(args.subgraphUrl, args.offerId);
119
252
  const signerAddress = await args.web3Lib.getSignerAddress();
120
253
 
121
254
  checkIfOfferVoidable(args.offerId, signerAddress, offerFromSubgraph);
122
255
 
123
- return args.web3Lib.sendTransaction({
256
+ const transactionRequest = {
124
257
  to: args.contractAddress,
125
258
  data: bosonOfferHandlerIface.encodeFunctionData("voidOffer", [args.offerId])
126
- });
259
+ } satisfies TransactionRequest;
260
+
261
+ if (args.returnTxInfo) {
262
+ return transactionRequest;
263
+ } else {
264
+ return args.web3Lib.sendTransaction(transactionRequest);
265
+ }
127
266
  }
128
267
 
268
+ // Overload: returnTxInfo is true → returns TransactionRequest
129
269
  export async function voidOfferBatch(args: {
130
270
  contractAddress: string;
131
271
  subgraphUrl: string;
132
272
  offerIds: BigNumberish[];
133
273
  web3Lib: Web3LibAdapter;
134
- }): Promise<TransactionResponse> {
274
+ returnTxInfo: true;
275
+ }): Promise<TransactionRequest>;
276
+
277
+ // Overload: returnTxInfo is false or undefined → returns TransactionResponse
278
+ export async function voidOfferBatch(args: {
279
+ contractAddress: string;
280
+ subgraphUrl: string;
281
+ offerIds: BigNumberish[];
282
+ web3Lib: Web3LibAdapter;
283
+ returnTxInfo?: false | undefined;
284
+ }): Promise<TransactionResponse>;
285
+
286
+ // Implementation
287
+ export async function voidOfferBatch(args: {
288
+ contractAddress: string;
289
+ subgraphUrl: string;
290
+ offerIds: BigNumberish[];
291
+ web3Lib: Web3LibAdapter;
292
+ returnTxInfo?: boolean;
293
+ }): Promise<TransactionRequest | TransactionResponse> {
135
294
  const offersFromSubgraph = await getOffers(args.subgraphUrl, {
136
295
  offersFilter: {
137
296
  id_in: args.offerIds.map(String)
@@ -155,68 +314,182 @@ export async function voidOfferBatch(args: {
155
314
  throw new Error(`Some offers can not be voided. ${invalidOfferIdErrors}`);
156
315
  }
157
316
 
158
- return args.web3Lib.sendTransaction({
317
+ const transactionRequest = {
159
318
  to: args.contractAddress,
160
319
  data: bosonOfferHandlerIface.encodeFunctionData("voidOfferBatch", [
161
320
  args.offerIds
162
321
  ])
163
- });
322
+ } satisfies TransactionRequest;
323
+
324
+ if (args.returnTxInfo) {
325
+ return transactionRequest;
326
+ } else {
327
+ return args.web3Lib.sendTransaction(transactionRequest);
328
+ }
164
329
  }
165
330
 
331
+ // Overload: returnTxInfo is true → returns TransactionRequest
166
332
  export async function extendOffer(args: {
167
333
  contractAddress: string;
168
334
  subgraphUrl: string;
169
335
  offerId: BigNumberish;
170
336
  validUntil: BigNumberish;
171
337
  web3Lib: Web3LibAdapter;
172
- }): Promise<TransactionResponse> {
173
- return args.web3Lib.sendTransaction({
338
+ returnTxInfo: true;
339
+ }): Promise<TransactionRequest>;
340
+
341
+ // Overload: returnTxInfo is false or undefined → returns TransactionResponse
342
+ export async function extendOffer(args: {
343
+ contractAddress: string;
344
+ subgraphUrl: string;
345
+ offerId: BigNumberish;
346
+ validUntil: BigNumberish;
347
+ web3Lib: Web3LibAdapter;
348
+ returnTxInfo?: false | undefined;
349
+ }): Promise<TransactionResponse>;
350
+
351
+ // Implementation
352
+ export async function extendOffer(args: {
353
+ contractAddress: string;
354
+ subgraphUrl: string;
355
+ offerId: BigNumberish;
356
+ validUntil: BigNumberish;
357
+ web3Lib: Web3LibAdapter;
358
+ returnTxInfo?: boolean;
359
+ }): Promise<TransactionRequest | TransactionResponse> {
360
+ const transactionRequest = {
174
361
  to: args.contractAddress,
175
362
  data: bosonOfferHandlerIface.encodeFunctionData("extendOffer", [
176
363
  args.offerId,
177
364
  args.validUntil
178
365
  ])
179
- });
366
+ } satisfies TransactionRequest;
367
+
368
+ if (args.returnTxInfo) {
369
+ return transactionRequest;
370
+ } else {
371
+ return args.web3Lib.sendTransaction(transactionRequest);
372
+ }
180
373
  }
181
374
 
375
+ // Overload: returnTxInfo is true → returns TransactionRequest
376
+ export async function extendOfferBatch(args: {
377
+ contractAddress: string;
378
+ subgraphUrl: string;
379
+ offerIds: BigNumberish[];
380
+ validUntil: BigNumberish;
381
+ web3Lib: Web3LibAdapter;
382
+ returnTxInfo: true;
383
+ }): Promise<TransactionRequest>;
384
+
385
+ // Overload: returnTxInfo is false or undefined → returns TransactionResponse
182
386
  export async function extendOfferBatch(args: {
183
387
  contractAddress: string;
184
388
  subgraphUrl: string;
185
389
  offerIds: BigNumberish[];
186
390
  validUntil: BigNumberish;
187
391
  web3Lib: Web3LibAdapter;
188
- }): Promise<TransactionResponse> {
189
- return args.web3Lib.sendTransaction({
392
+ returnTxInfo?: false | undefined;
393
+ }): Promise<TransactionResponse>;
394
+
395
+ // Implementation
396
+ export async function extendOfferBatch(args: {
397
+ contractAddress: string;
398
+ subgraphUrl: string;
399
+ offerIds: BigNumberish[];
400
+ validUntil: BigNumberish;
401
+ web3Lib: Web3LibAdapter;
402
+ returnTxInfo?: boolean;
403
+ }): Promise<TransactionRequest | TransactionResponse> {
404
+ const transactionRequest = {
190
405
  to: args.contractAddress,
191
406
  data: bosonOfferHandlerIface.encodeFunctionData("extendOfferBatch", [
192
407
  args.offerIds,
193
408
  args.validUntil
194
409
  ])
195
- });
410
+ } satisfies TransactionRequest;
411
+
412
+ if (args.returnTxInfo) {
413
+ return transactionRequest;
414
+ } else {
415
+ return args.web3Lib.sendTransaction(transactionRequest);
416
+ }
196
417
  }
197
418
 
419
+ // Overload: returnTxInfo is true → returns TransactionRequest
420
+ export async function updateOfferRoyaltyRecipients(args: {
421
+ contractAddress: string;
422
+ web3Lib: Web3LibAdapter;
423
+ offerId: BigNumberish;
424
+ royaltyInfo: RoyaltyInfo;
425
+ returnTxInfo: true;
426
+ }): Promise<TransactionRequest>;
427
+
428
+ // Overload: returnTxInfo is false or undefined → returns TransactionResponse
429
+ export async function updateOfferRoyaltyRecipients(args: {
430
+ contractAddress: string;
431
+ web3Lib: Web3LibAdapter;
432
+ offerId: BigNumberish;
433
+ royaltyInfo: RoyaltyInfo;
434
+ returnTxInfo?: false | undefined;
435
+ }): Promise<TransactionResponse>;
436
+
437
+ // Implementation
198
438
  export async function updateOfferRoyaltyRecipients(args: {
199
439
  contractAddress: string;
200
440
  web3Lib: Web3LibAdapter;
201
441
  offerId: BigNumberish;
202
442
  royaltyInfo: RoyaltyInfo;
203
- }) {
204
- return args.web3Lib.sendTransaction({
443
+ returnTxInfo?: boolean;
444
+ }): Promise<TransactionRequest | TransactionResponse> {
445
+ const transactionRequest = {
205
446
  to: args.contractAddress,
206
447
  data: encodeUpdateOfferRoyaltyRecipients(args)
207
- });
448
+ } satisfies TransactionRequest;
449
+
450
+ if (args.returnTxInfo) {
451
+ return transactionRequest;
452
+ } else {
453
+ return args.web3Lib.sendTransaction(transactionRequest);
454
+ }
208
455
  }
209
456
 
457
+ // Overload: returnTxInfo is true → returns TransactionRequest
458
+ export async function updateOfferRoyaltyRecipientsBatch(args: {
459
+ contractAddress: string;
460
+ web3Lib: Web3LibAdapter;
461
+ offerIds: BigNumberish[];
462
+ royaltyInfo: RoyaltyInfo;
463
+ returnTxInfo: true;
464
+ }): Promise<TransactionRequest>;
465
+
466
+ // Overload: returnTxInfo is false or undefined → returns TransactionResponse
467
+ export async function updateOfferRoyaltyRecipientsBatch(args: {
468
+ contractAddress: string;
469
+ web3Lib: Web3LibAdapter;
470
+ offerIds: BigNumberish[];
471
+ royaltyInfo: RoyaltyInfo;
472
+ returnTxInfo?: false | undefined;
473
+ }): Promise<TransactionResponse>;
474
+
475
+ // Implementation
210
476
  export async function updateOfferRoyaltyRecipientsBatch(args: {
211
477
  contractAddress: string;
212
478
  web3Lib: Web3LibAdapter;
213
479
  offerIds: BigNumberish[];
214
480
  royaltyInfo: RoyaltyInfo;
215
- }) {
216
- return args.web3Lib.sendTransaction({
481
+ returnTxInfo?: boolean;
482
+ }): Promise<TransactionRequest | TransactionResponse> {
483
+ const transactionRequest = {
217
484
  to: args.contractAddress,
218
485
  data: encodeUpdateOfferRoyaltyRecipientsBatch(args)
219
- });
486
+ } satisfies TransactionRequest;
487
+
488
+ if (args.returnTxInfo) {
489
+ return transactionRequest;
490
+ } else {
491
+ return args.web3Lib.sendTransaction(transactionRequest);
492
+ }
220
493
  }
221
494
 
222
495
  function checkIfOfferVoidable(