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

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