@bosonprotocol/core-sdk 1.23.0-alpha.2 → 1.23.0-alpha.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (203) hide show
  1. package/dist/cjs/accounts/mixin.d.ts +194 -0
  2. package/dist/cjs/accounts/mixin.d.ts.map +1 -0
  3. package/dist/cjs/accounts/mixin.js +426 -0
  4. package/dist/cjs/accounts/mixin.js.map +1 -0
  5. package/dist/cjs/core-sdk.d.ts +16 -818
  6. package/dist/cjs/core-sdk.d.ts.map +1 -1
  7. package/dist/cjs/core-sdk.js +26 -1579
  8. package/dist/cjs/core-sdk.js.map +1 -1
  9. package/dist/cjs/disputes/mixin.d.ts +113 -0
  10. package/dist/cjs/disputes/mixin.d.ts.map +1 -0
  11. package/dist/cjs/disputes/mixin.js +203 -0
  12. package/dist/cjs/disputes/mixin.js.map +1 -0
  13. package/dist/cjs/erc1155/handler.d.ts +9 -0
  14. package/dist/cjs/erc1155/handler.d.ts.map +1 -0
  15. package/dist/cjs/erc1155/handler.js +28 -0
  16. package/dist/cjs/erc1155/handler.js.map +1 -0
  17. package/dist/cjs/erc1155/index.d.ts +3 -0
  18. package/dist/cjs/erc1155/index.d.ts.map +1 -0
  19. package/dist/cjs/erc1155/index.js +29 -0
  20. package/dist/cjs/erc1155/index.js.map +1 -0
  21. package/dist/cjs/erc1155/interface.d.ts +3 -0
  22. package/dist/cjs/erc1155/interface.d.ts.map +1 -0
  23. package/dist/cjs/erc1155/interface.js +7 -0
  24. package/dist/cjs/erc1155/interface.js.map +1 -0
  25. package/dist/cjs/erc20/handler.d.ts +5 -0
  26. package/dist/cjs/erc20/handler.d.ts.map +1 -1
  27. package/dist/cjs/erc20/handler.js +12 -1
  28. package/dist/cjs/erc20/handler.js.map +1 -1
  29. package/dist/cjs/erc721/handler.d.ts +5 -0
  30. package/dist/cjs/erc721/handler.d.ts.map +1 -1
  31. package/dist/cjs/erc721/handler.js +12 -1
  32. package/dist/cjs/erc721/handler.js.map +1 -1
  33. package/dist/cjs/event-logs/mixin.d.ts +11 -0
  34. package/dist/cjs/event-logs/mixin.d.ts.map +1 -0
  35. package/dist/cjs/event-logs/mixin.js +28 -0
  36. package/dist/cjs/event-logs/mixin.js.map +1 -0
  37. package/dist/cjs/exchanges/mixin.d.ts +77 -0
  38. package/dist/cjs/exchanges/mixin.d.ts.map +1 -0
  39. package/dist/cjs/exchanges/mixin.js +172 -0
  40. package/dist/cjs/exchanges/mixin.js.map +1 -0
  41. package/dist/cjs/funds/mixin.d.ts +42 -0
  42. package/dist/cjs/funds/mixin.d.ts.map +1 -0
  43. package/dist/cjs/funds/mixin.js +95 -0
  44. package/dist/cjs/funds/mixin.js.map +1 -0
  45. package/dist/cjs/groups/mixin.d.ts +14 -0
  46. package/dist/cjs/groups/mixin.d.ts.map +1 -0
  47. package/dist/cjs/groups/mixin.js +33 -0
  48. package/dist/cjs/groups/mixin.js.map +1 -0
  49. package/dist/cjs/meta-tx/mixin.d.ts +176 -0
  50. package/dist/cjs/meta-tx/mixin.d.ts.map +1 -0
  51. package/dist/cjs/meta-tx/mixin.js +296 -0
  52. package/dist/cjs/meta-tx/mixin.js.map +1 -0
  53. package/dist/cjs/metadata/mixin.d.ts +42 -0
  54. package/dist/cjs/metadata/mixin.d.ts.map +1 -0
  55. package/dist/cjs/metadata/mixin.js +89 -0
  56. package/dist/cjs/metadata/mixin.js.map +1 -0
  57. package/dist/cjs/metadata/subgraph.d.ts +3 -1
  58. package/dist/cjs/metadata/subgraph.d.ts.map +1 -1
  59. package/dist/cjs/metadata/subgraph.js +17 -1
  60. package/dist/cjs/metadata/subgraph.js.map +1 -1
  61. package/dist/cjs/mixins/base-core-sdk.d.ts +41 -0
  62. package/dist/cjs/mixins/base-core-sdk.d.ts.map +1 -0
  63. package/dist/cjs/mixins/base-core-sdk.js +51 -0
  64. package/dist/cjs/mixins/base-core-sdk.js.map +1 -0
  65. package/dist/cjs/native-meta-tx/mixin.d.ts +35 -0
  66. package/dist/cjs/native-meta-tx/mixin.d.ts.map +1 -0
  67. package/dist/cjs/native-meta-tx/mixin.js +68 -0
  68. package/dist/cjs/native-meta-tx/mixin.js.map +1 -0
  69. package/dist/cjs/offers/mixin.d.ts +133 -0
  70. package/dist/cjs/offers/mixin.d.ts.map +1 -0
  71. package/dist/cjs/offers/mixin.js +338 -0
  72. package/dist/cjs/offers/mixin.js.map +1 -0
  73. package/dist/cjs/orchestration/mixin.d.ts +28 -0
  74. package/dist/cjs/orchestration/mixin.d.ts.map +1 -0
  75. package/dist/cjs/orchestration/mixin.js +59 -0
  76. package/dist/cjs/orchestration/mixin.js.map +1 -0
  77. package/dist/cjs/subgraph.d.ts +3707 -1509
  78. package/dist/cjs/subgraph.d.ts.map +1 -1
  79. package/dist/cjs/subgraph.js +113 -4
  80. package/dist/cjs/subgraph.js.map +1 -1
  81. package/dist/cjs/utils/graphql.d.ts +14 -0
  82. package/dist/cjs/utils/graphql.d.ts.map +1 -1
  83. package/dist/cjs/utils/signature.d.ts.map +1 -1
  84. package/dist/cjs/utils/signature.js +5 -1
  85. package/dist/cjs/utils/signature.js.map +1 -1
  86. package/dist/cjs/utils/tokenInfoManager.d.ts +6 -2
  87. package/dist/cjs/utils/tokenInfoManager.d.ts.map +1 -1
  88. package/dist/cjs/utils/tokenInfoManager.js +39 -6
  89. package/dist/cjs/utils/tokenInfoManager.js.map +1 -1
  90. package/dist/esm/accounts/mixin.d.ts +194 -0
  91. package/dist/esm/accounts/mixin.d.ts.map +1 -0
  92. package/dist/esm/accounts/mixin.js +342 -0
  93. package/dist/esm/accounts/mixin.js.map +1 -0
  94. package/dist/esm/core-sdk.d.ts +16 -818
  95. package/dist/esm/core-sdk.d.ts.map +1 -1
  96. package/dist/esm/core-sdk.js +27 -1483
  97. package/dist/esm/core-sdk.js.map +1 -1
  98. package/dist/esm/disputes/mixin.d.ts +113 -0
  99. package/dist/esm/disputes/mixin.d.ts.map +1 -0
  100. package/dist/esm/disputes/mixin.js +173 -0
  101. package/dist/esm/disputes/mixin.js.map +1 -0
  102. package/dist/esm/erc1155/handler.d.ts +9 -0
  103. package/dist/esm/erc1155/handler.d.ts.map +1 -0
  104. package/dist/esm/erc1155/handler.js +13 -0
  105. package/dist/esm/erc1155/handler.js.map +1 -0
  106. package/dist/esm/erc1155/index.d.ts +3 -0
  107. package/dist/esm/erc1155/index.d.ts.map +1 -0
  108. package/dist/esm/erc1155/index.js +3 -0
  109. package/dist/esm/erc1155/index.js.map +1 -0
  110. package/dist/esm/erc1155/interface.d.ts +3 -0
  111. package/dist/esm/erc1155/interface.d.ts.map +1 -0
  112. package/dist/esm/erc1155/interface.js +4 -0
  113. package/dist/esm/erc1155/interface.js.map +1 -0
  114. package/dist/esm/erc20/handler.d.ts +5 -0
  115. package/dist/esm/erc20/handler.d.ts.map +1 -1
  116. package/dist/esm/erc20/handler.js +8 -0
  117. package/dist/esm/erc20/handler.js.map +1 -1
  118. package/dist/esm/erc721/handler.d.ts +5 -0
  119. package/dist/esm/erc721/handler.d.ts.map +1 -1
  120. package/dist/esm/erc721/handler.js +8 -0
  121. package/dist/esm/erc721/handler.js.map +1 -1
  122. package/dist/esm/event-logs/mixin.d.ts +11 -0
  123. package/dist/esm/event-logs/mixin.d.ts.map +1 -0
  124. package/dist/esm/event-logs/mixin.js +13 -0
  125. package/dist/esm/event-logs/mixin.js.map +1 -0
  126. package/dist/esm/exchanges/mixin.d.ts +77 -0
  127. package/dist/esm/exchanges/mixin.d.ts.map +1 -0
  128. package/dist/esm/exchanges/mixin.js +141 -0
  129. package/dist/esm/exchanges/mixin.js.map +1 -0
  130. package/dist/esm/funds/mixin.d.ts +42 -0
  131. package/dist/esm/funds/mixin.d.ts.map +1 -0
  132. package/dist/esm/funds/mixin.js +72 -0
  133. package/dist/esm/funds/mixin.js.map +1 -0
  134. package/dist/esm/groups/mixin.d.ts +14 -0
  135. package/dist/esm/groups/mixin.d.ts.map +1 -0
  136. package/dist/esm/groups/mixin.js +18 -0
  137. package/dist/esm/groups/mixin.js.map +1 -0
  138. package/dist/esm/meta-tx/mixin.d.ts +176 -0
  139. package/dist/esm/meta-tx/mixin.d.ts.map +1 -0
  140. package/dist/esm/meta-tx/mixin.js +351 -0
  141. package/dist/esm/meta-tx/mixin.js.map +1 -0
  142. package/dist/esm/metadata/mixin.d.ts +42 -0
  143. package/dist/esm/metadata/mixin.d.ts.map +1 -0
  144. package/dist/esm/metadata/mixin.js +60 -0
  145. package/dist/esm/metadata/mixin.js.map +1 -0
  146. package/dist/esm/metadata/subgraph.d.ts +3 -1
  147. package/dist/esm/metadata/subgraph.d.ts.map +1 -1
  148. package/dist/esm/metadata/subgraph.js +14 -0
  149. package/dist/esm/metadata/subgraph.js.map +1 -1
  150. package/dist/esm/mixins/base-core-sdk.d.ts +41 -0
  151. package/dist/esm/mixins/base-core-sdk.d.ts.map +1 -0
  152. package/dist/esm/mixins/base-core-sdk.js +54 -0
  153. package/dist/esm/mixins/base-core-sdk.js.map +1 -0
  154. package/dist/esm/native-meta-tx/mixin.d.ts +35 -0
  155. package/dist/esm/native-meta-tx/mixin.d.ts.map +1 -0
  156. package/dist/esm/native-meta-tx/mixin.js +51 -0
  157. package/dist/esm/native-meta-tx/mixin.js.map +1 -0
  158. package/dist/esm/offers/mixin.d.ts +133 -0
  159. package/dist/esm/offers/mixin.d.ts.map +1 -0
  160. package/dist/esm/offers/mixin.js +276 -0
  161. package/dist/esm/offers/mixin.js.map +1 -0
  162. package/dist/esm/orchestration/mixin.d.ts +28 -0
  163. package/dist/esm/orchestration/mixin.d.ts.map +1 -0
  164. package/dist/esm/orchestration/mixin.js +42 -0
  165. package/dist/esm/orchestration/mixin.js.map +1 -0
  166. package/dist/esm/subgraph.d.ts +3707 -1509
  167. package/dist/esm/subgraph.d.ts.map +1 -1
  168. package/dist/esm/subgraph.js +110 -1
  169. package/dist/esm/subgraph.js.map +1 -1
  170. package/dist/esm/utils/graphql.d.ts +14 -0
  171. package/dist/esm/utils/graphql.d.ts.map +1 -1
  172. package/dist/esm/utils/signature.d.ts.map +1 -1
  173. package/dist/esm/utils/signature.js +5 -1
  174. package/dist/esm/utils/signature.js.map +1 -1
  175. package/dist/esm/utils/tokenInfoManager.d.ts +6 -2
  176. package/dist/esm/utils/tokenInfoManager.d.ts.map +1 -1
  177. package/dist/esm/utils/tokenInfoManager.js +39 -6
  178. package/dist/esm/utils/tokenInfoManager.js.map +1 -1
  179. package/package.json +3 -3
  180. package/src/accounts/mixin.ts +484 -0
  181. package/src/core-sdk.ts +42 -2102
  182. package/src/disputes/mixin.ts +240 -0
  183. package/src/erc1155/handler.ts +21 -0
  184. package/src/erc1155/index.ts +2 -0
  185. package/src/erc1155/interface.ts +4 -0
  186. package/src/erc20/handler.ts +14 -0
  187. package/src/erc721/handler.ts +14 -0
  188. package/src/event-logs/mixin.ts +16 -0
  189. package/src/exchanges/mixin.ts +184 -0
  190. package/src/funds/mixin.ts +99 -0
  191. package/src/groups/mixin.ts +24 -0
  192. package/src/meta-tx/mixin.ts +515 -0
  193. package/src/metadata/mixin.ts +97 -0
  194. package/src/metadata/product-v1.graphql +77 -1
  195. package/src/metadata/subgraph.ts +31 -1
  196. package/src/mixins/base-core-sdk.ts +96 -0
  197. package/src/native-meta-tx/mixin.ts +77 -0
  198. package/src/offers/mixin.ts +376 -0
  199. package/src/offers/queries.graphql +1 -1
  200. package/src/orchestration/mixin.ts +57 -0
  201. package/src/subgraph.ts +3620 -1296
  202. package/src/utils/signature.ts +6 -1
  203. package/src/utils/tokenInfoManager.ts +44 -6
@@ -0,0 +1,35 @@
1
+ import { MetaTxConfig, TransactionResponse } from "@bosonprotocol/common";
2
+ import { BigNumberish } from "@ethersproject/bignumber";
3
+ import { BytesLike } from "@ethersproject/bytes";
4
+ import { BaseCoreSDK } from "./../mixins/base-core-sdk";
5
+ export declare class NativeMetaTxMixin extends BaseCoreSDK {
6
+ /**
7
+ * Encodes and signs a native "token.approve()" meta transaction that can be relayed.
8
+ * @param exchangeToken - The address of the token contract.
9
+ * @param value - The value to be approved.
10
+ * @param overrides - Optionally specify a spender address (default is the protocol contract address).
11
+ * @returns Signature.
12
+ */
13
+ signNativeMetaTxApproveExchangeToken(exchangeToken: string, value: BigNumberish, overrides?: Partial<{
14
+ spender: string;
15
+ }>): Promise<import("../meta-tx/handler").SignedMetaTx>;
16
+ /**
17
+ * Relay a native meta transaction,
18
+ * @param metaTxParams - Required params for meta transaction.
19
+ * @param overrides - Optional overrides.
20
+ * @returns Transaction response.
21
+ */
22
+ relayNativeMetaTransaction(contractAddress: string, metaTxParams: {
23
+ functionSignature: BytesLike;
24
+ sigR: BytesLike;
25
+ sigS: BytesLike;
26
+ sigV: BigNumberish;
27
+ }, overrides?: Partial<{
28
+ userAddress: string;
29
+ metaTxConfig: Partial<Omit<MetaTxConfig, "apiIds"> & {
30
+ apiId: string;
31
+ }>;
32
+ metaTransactionMethod: string;
33
+ }>): Promise<TransactionResponse>;
34
+ }
35
+ //# sourceMappingURL=mixin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mixin.d.ts","sourceRoot":"","sources":["../../../src/native-meta-tx/mixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,qBAAa,iBAAkB,SAAQ,WAAW;IAChD;;;;;;OAMG;IACU,oCAAoC,CAC/C,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,YAAY,EACnB,SAAS,GAAE,OAAO,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAM;IAaT;;;;;OAKG;IACU,0BAA0B,CACrC,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE;QACZ,iBAAiB,EAAE,SAAS,CAAC;QAC7B,IAAI,EAAE,SAAS,CAAC;QAChB,IAAI,EAAE,SAAS,CAAC;QAChB,IAAI,EAAE,YAAY,CAAC;KACpB,EACD,SAAS,GAAE,OAAO,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,GAAG;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACxE,qBAAqB,EAAE,MAAM,CAAC;KAC/B,CAAM,GACN,OAAO,CAAC,mBAAmB,CAAC;CAyBhC"}
@@ -0,0 +1,51 @@
1
+ import { handler } from ".";
2
+ import { BaseCoreSDK } from "./../mixins/base-core-sdk";
3
+ export class NativeMetaTxMixin extends BaseCoreSDK {
4
+ /**
5
+ * Encodes and signs a native "token.approve()" meta transaction that can be relayed.
6
+ * @param exchangeToken - The address of the token contract.
7
+ * @param value - The value to be approved.
8
+ * @param overrides - Optionally specify a spender address (default is the protocol contract address).
9
+ * @returns Signature.
10
+ */
11
+ async signNativeMetaTxApproveExchangeToken(exchangeToken, value, overrides = {}) {
12
+ const user = await this._web3Lib.getSignerAddress();
13
+ return handler.signNativeMetaTxApproveExchangeToken({
14
+ web3Lib: this._web3Lib,
15
+ chainId: this._chainId,
16
+ user,
17
+ exchangeToken,
18
+ spender: overrides.spender || this._protocolDiamond,
19
+ value
20
+ });
21
+ }
22
+ /**
23
+ * Relay a native meta transaction,
24
+ * @param metaTxParams - Required params for meta transaction.
25
+ * @param overrides - Optional overrides.
26
+ * @returns Transaction response.
27
+ */
28
+ async relayNativeMetaTransaction(contractAddress, metaTxParams, overrides = {}) {
29
+ const { metaTxApiId, metaTxApiKey, metaTxRelayerUrl } = this.assertAndGetMetaTxConfig({ ...overrides, contractAddress });
30
+ return handler.relayNativeMetaTransaction({
31
+ web3LibAdapter: this._web3Lib,
32
+ contractAddress,
33
+ chainId: this._chainId,
34
+ metaTx: {
35
+ config: {
36
+ relayerUrl: metaTxRelayerUrl,
37
+ apiId: metaTxApiId,
38
+ apiKey: metaTxApiKey
39
+ },
40
+ params: {
41
+ userAddress: overrides.userAddress || (await this._web3Lib.getSignerAddress()),
42
+ functionSignature: metaTxParams.functionSignature,
43
+ sigR: metaTxParams.sigR,
44
+ sigS: metaTxParams.sigS,
45
+ sigV: metaTxParams.sigV
46
+ }
47
+ }
48
+ });
49
+ }
50
+ }
51
+ //# sourceMappingURL=mixin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mixin.js","sourceRoot":"","sources":["../../../src/native-meta-tx/mixin.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,MAAM,OAAO,iBAAkB,SAAQ,WAAW;IAChD;;;;;;OAMG;IACI,KAAK,CAAC,oCAAoC,CAC/C,aAAqB,EACrB,KAAmB,EACnB,YAEK,EAAE;QAEP,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QACpD,OAAO,OAAO,CAAC,oCAAoC,CAAC;YAClD,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,IAAI;YACJ,aAAa;YACb,OAAO,EAAE,SAAS,CAAC,OAAO,IAAI,IAAI,CAAC,gBAAgB;YACnD,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,0BAA0B,CACrC,eAAuB,EACvB,YAKC,EACD,YAIK,EAAE;QAEP,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,GACnD,IAAI,CAAC,wBAAwB,CAAC,EAAE,GAAG,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;QAEnE,OAAO,OAAO,CAAC,0BAA0B,CAAC;YACxC,cAAc,EAAE,IAAI,CAAC,QAAQ;YAC7B,eAAe;YACf,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,MAAM,EAAE;gBACN,MAAM,EAAE;oBACN,UAAU,EAAE,gBAAgB;oBAC5B,KAAK,EAAE,WAAW;oBAClB,MAAM,EAAE,YAAY;iBACrB;gBACD,MAAM,EAAE;oBACN,WAAW,EACT,SAAS,CAAC,WAAW,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;oBACnE,iBAAiB,EAAE,YAAY,CAAC,iBAAiB;oBACjD,IAAI,EAAE,YAAY,CAAC,IAAI;oBACvB,IAAI,EAAE,YAAY,CAAC,IAAI;oBACvB,IAAI,EAAE,YAAY,CAAC,IAAI;iBACxB;aACF;SACF,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,133 @@
1
+ import { BaseCoreSDK } from "./../mixins/base-core-sdk";
2
+ import * as subgraph from "../subgraph";
3
+ import * as offers from ".";
4
+ import { TransactionResponse, Log } from "@bosonprotocol/common";
5
+ import { BigNumberish } from "@ethersproject/bignumber";
6
+ import { ITokenInfo } from "../utils/tokenInfoManager";
7
+ export declare class OfferMixin extends BaseCoreSDK {
8
+ /**
9
+ * Creates offer by calling the `OfferHandlerFacet` contract.
10
+ * This transaction only succeeds if there is an existing seller account for connected signer.
11
+ * @param offerToCreate - Offer arguments.
12
+ * @param overrides - Optional overrides.
13
+ * @returns Transaction response.
14
+ */
15
+ createOffer(offerToCreate: offers.CreateOfferArgs, overrides?: Partial<{
16
+ contractAddress: string;
17
+ }>): Promise<TransactionResponse>;
18
+ /**
19
+ * Creates a batch of offers by calling the `OfferHandlerFacet` contract.
20
+ * This transaction only succeeds if there is an existing seller account for connected signer.
21
+ * @param offersToCreate - Offer arguments.
22
+ * @param overrides - Optional overrides.
23
+ * @returns Transaction response.
24
+ */
25
+ createOfferBatch(offersToCreate: offers.CreateOfferArgs[], overrides?: Partial<{
26
+ contractAddress: string;
27
+ }>): Promise<TransactionResponse>;
28
+ /**
29
+ * Utility method to retrieve the created `offerId` from logs after calling `createOffer`
30
+ * or `createOfferAndSeller`.
31
+ * @param logs - Logs to search in.
32
+ * @returns Created offer id.
33
+ */
34
+ getCreatedOfferIdFromLogs(logs: Log[]): string | null;
35
+ /**
36
+ * Utility method to retrieve the created `offerIds` from logs after calling `createOfferBatch`
37
+ * @param logs - Logs to search in.
38
+ * @returns Array of created offerIds.
39
+ */
40
+ getCreatedOfferIdsFromLogs(logs: Log[]): string[];
41
+ /**
42
+ * Utility method to retrieve the created `groupIds` from logs after calling `createGroup`
43
+ * @param logs - Logs to search in.
44
+ * @returns Array of group Ids.
45
+ */
46
+ getCreatedGroupIdsFromLogs(logs: Log[]): string[];
47
+ /**
48
+ * Utility method to retrieve the created `sellerId` from logs after calling `createSeller`
49
+ * or `createOfferAndSeller`.
50
+ * @param logs - Logs to search in.
51
+ * @returns Created offer id.
52
+ */
53
+ getCreatedSellerIdFromLogs(logs: Log[]): string | null;
54
+ /**
55
+ * Voids an existing offer by calling the `OfferHandlerFacet` contract.
56
+ * This transaction only succeeds if the connected signer is the `operator`.
57
+ * @param offerId - ID of offer to void.
58
+ * @param overrides - Optional overrides.
59
+ * @returns Transaction response.
60
+ */
61
+ voidOffer(offerId: BigNumberish, overrides?: Partial<{
62
+ contractAddress: string;
63
+ }>): Promise<TransactionResponse>;
64
+ /**
65
+ * Voids a batch of existing offers by calling the `OfferHandlerFacet` contract.
66
+ * This transaction only succeeds if the connected signer is the `operator` of all
67
+ * provided offers.
68
+ * @param offerIds - IDs of offers to void.
69
+ * @param overrides - Optional overrides.
70
+ * @returns Transaction response.
71
+ */
72
+ voidOfferBatch(offerIds: BigNumberish[], overrides?: Partial<{
73
+ contractAddress: string;
74
+ }>): Promise<TransactionResponse>;
75
+ /**
76
+ * Returns offer from subgraph.
77
+ * @param offerId - ID of offer.
78
+ * @param queryVars - Optional query variables to skip, order or filter.
79
+ * @returns Offer entity from subgraph.
80
+ */
81
+ getOfferById(offerId: BigNumberish, queryVars?: offers.subgraph.SingleOfferQueryVariables): Promise<subgraph.OfferFieldsFragment>;
82
+ /**
83
+ * Returns offers from subgraph.
84
+ * @param queryVars - Optional query variables to skip, order or filter.
85
+ * @returns Offer entities from subgraph.
86
+ */
87
+ getOffers(queryVars?: subgraph.GetOffersQueryQueryVariables): Promise<subgraph.OfferFieldsFragment[]>;
88
+ /**
89
+ * Renders contractual agreement for given offer.
90
+ * @param offerId - Id of offer to render agreement for.
91
+ * @returns Contractual agreement as string.
92
+ */
93
+ renderContractualAgreementForOffer(offerId: BigNumberish): Promise<string>;
94
+ /**
95
+ * Renders contractual agreement for given offer.
96
+ * @param template - Mustache syntax based template.
97
+ * @param offerData - Offer data.
98
+ * @returns Contractual agreement as string.
99
+ */
100
+ renderContractualAgreement(template: string, offerData: offers.CreateOfferArgs, offerMetadata: offers.AdditionalOfferMetadata): Promise<string>;
101
+ /**
102
+ * Returns the current allowance of the given token by calling the contract.
103
+ * @param exchangeToken - Address of exchange token.
104
+ * @param overrides - Optional overrides.
105
+ * @returns Allowance for given signer.
106
+ */
107
+ getExchangeTokenAllowance(exchangeToken: string, overrides?: Partial<{
108
+ spender: string;
109
+ owner: string;
110
+ }>): Promise<string>;
111
+ /**
112
+ * Returns `name`, `decimals` and `symbol` of the given token by calling the contract.
113
+ * @param exchangeToken - Address exchange token.
114
+ * @returns Decimals, name and symbol.
115
+ */
116
+ getExchangeTokenInfo(exchangeToken: string): Promise<ITokenInfo>;
117
+ /**
118
+ * Approves the given amount for the main protocol contract.
119
+ * @param exchangeToken - Address of token to approve.
120
+ * @param value - Amount of allowance.
121
+ * @param overrides - Optional overrides.
122
+ * @returns Transaction response.
123
+ */
124
+ approveExchangeToken(exchangeToken: string, value: BigNumberish, overrides?: Partial<{
125
+ spender: string;
126
+ }>): Promise<TransactionResponse>;
127
+ getProtocolAllowance(exchangeToken: string, overrides?: Partial<{
128
+ spender: string;
129
+ owner: string;
130
+ }>): Promise<string>;
131
+ checkTokenGatedCondition(offerCondition: subgraph.OfferFieldsFragment["condition"], buyerAddress: string): Promise<boolean>;
132
+ }
133
+ //# sourceMappingURL=mixin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mixin.d.ts","sourceRoot":"","sources":["../../../src/offers/mixin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,276 @@
1
+ import { BaseCoreSDK } from "./../mixins/base-core-sdk";
2
+ import * as erc20 from "../erc20";
3
+ import * as erc721 from "../erc721";
4
+ import * as erc1155 from "../erc1155";
5
+ import * as offers from ".";
6
+ import * as accounts from "../accounts";
7
+ import * as orchestration from "../orchestration";
8
+ import * as groups from "../groups";
9
+ import { TokenType, EvaluationMethod } from "@bosonprotocol/common";
10
+ import { BigNumber } from "@ethersproject/bignumber";
11
+ import { getValueFromLogs, getValuesFromLogs } from "../utils/logs";
12
+ import { TokenInfoManager } from "../utils/tokenInfoManager";
13
+ export class OfferMixin extends BaseCoreSDK {
14
+ /* -------------------------------------------------------------------------- */
15
+ /* Offer related methods */
16
+ /* -------------------------------------------------------------------------- */
17
+ /**
18
+ * Creates offer by calling the `OfferHandlerFacet` contract.
19
+ * This transaction only succeeds if there is an existing seller account for connected signer.
20
+ * @param offerToCreate - Offer arguments.
21
+ * @param overrides - Optional overrides.
22
+ * @returns Transaction response.
23
+ */
24
+ async createOffer(offerToCreate, overrides = {}) {
25
+ return offers.handler.createOffer({
26
+ offerToCreate,
27
+ web3Lib: this._web3Lib,
28
+ theGraphStorage: this._theGraphStorage,
29
+ metadataStorage: this._metadataStorage,
30
+ contractAddress: overrides.contractAddress || this._protocolDiamond
31
+ });
32
+ }
33
+ /**
34
+ * Creates a batch of offers by calling the `OfferHandlerFacet` contract.
35
+ * This transaction only succeeds if there is an existing seller account for connected signer.
36
+ * @param offersToCreate - Offer arguments.
37
+ * @param overrides - Optional overrides.
38
+ * @returns Transaction response.
39
+ */
40
+ async createOfferBatch(offersToCreate, overrides = {}) {
41
+ return offers.handler.createOfferBatch({
42
+ offersToCreate,
43
+ web3Lib: this._web3Lib,
44
+ theGraphStorage: this._theGraphStorage,
45
+ metadataStorage: this._metadataStorage,
46
+ contractAddress: overrides.contractAddress || this._protocolDiamond
47
+ });
48
+ }
49
+ /**
50
+ * Utility method to retrieve the created `offerId` from logs after calling `createOffer`
51
+ * or `createOfferAndSeller`.
52
+ * @param logs - Logs to search in.
53
+ * @returns Created offer id.
54
+ */
55
+ getCreatedOfferIdFromLogs(logs) {
56
+ const offerId = getValueFromLogs({
57
+ iface: offers.iface.bosonOfferHandlerIface,
58
+ logs,
59
+ eventArgsKey: "offerId",
60
+ eventName: "OfferCreated"
61
+ });
62
+ return (offerId ||
63
+ getValueFromLogs({
64
+ iface: orchestration.iface.bosonOrchestrationHandlerIface,
65
+ logs,
66
+ eventArgsKey: "offerId",
67
+ eventName: "OfferCreated"
68
+ }));
69
+ }
70
+ /**
71
+ * Utility method to retrieve the created `offerIds` from logs after calling `createOfferBatch`
72
+ * @param logs - Logs to search in.
73
+ * @returns Array of created offerIds.
74
+ */
75
+ getCreatedOfferIdsFromLogs(logs) {
76
+ return getValuesFromLogs({
77
+ iface: offers.iface.bosonOfferHandlerIface,
78
+ logs,
79
+ eventArgsKey: "offerId",
80
+ eventName: "OfferCreated"
81
+ });
82
+ }
83
+ /**
84
+ * Utility method to retrieve the created `groupIds` from logs after calling `createGroup`
85
+ * @param logs - Logs to search in.
86
+ * @returns Array of group Ids.
87
+ */
88
+ getCreatedGroupIdsFromLogs(logs) {
89
+ return getValuesFromLogs({
90
+ iface: groups.iface.bosonGroupHandlerIface,
91
+ logs,
92
+ eventArgsKey: "groupId",
93
+ eventName: "GroupCreated"
94
+ });
95
+ }
96
+ /**
97
+ * Utility method to retrieve the created `sellerId` from logs after calling `createSeller`
98
+ * or `createOfferAndSeller`.
99
+ * @param logs - Logs to search in.
100
+ * @returns Created offer id.
101
+ */
102
+ getCreatedSellerIdFromLogs(logs) {
103
+ const sellerId = getValueFromLogs({
104
+ iface: accounts.iface.bosonAccountHandlerIface,
105
+ logs,
106
+ eventArgsKey: "sellerId",
107
+ eventName: "SellerCreated"
108
+ });
109
+ return (sellerId ||
110
+ getValueFromLogs({
111
+ iface: orchestration.iface.bosonOrchestrationHandlerIface,
112
+ logs,
113
+ eventArgsKey: "sellerId",
114
+ eventName: "SellerCreated"
115
+ }));
116
+ }
117
+ /**
118
+ * Voids an existing offer by calling the `OfferHandlerFacet` contract.
119
+ * This transaction only succeeds if the connected signer is the `operator`.
120
+ * @param offerId - ID of offer to void.
121
+ * @param overrides - Optional overrides.
122
+ * @returns Transaction response.
123
+ */
124
+ async voidOffer(offerId, overrides = {}) {
125
+ return offers.handler.voidOffer({
126
+ offerId,
127
+ web3Lib: this._web3Lib,
128
+ subgraphUrl: this._subgraphUrl,
129
+ contractAddress: overrides.contractAddress || this._protocolDiamond
130
+ });
131
+ }
132
+ /**
133
+ * Voids a batch of existing offers by calling the `OfferHandlerFacet` contract.
134
+ * This transaction only succeeds if the connected signer is the `operator` of all
135
+ * provided offers.
136
+ * @param offerIds - IDs of offers to void.
137
+ * @param overrides - Optional overrides.
138
+ * @returns Transaction response.
139
+ */
140
+ async voidOfferBatch(offerIds, overrides = {}) {
141
+ return offers.handler.voidOfferBatch({
142
+ offerIds,
143
+ web3Lib: this._web3Lib,
144
+ subgraphUrl: this._subgraphUrl,
145
+ contractAddress: overrides.contractAddress || this._protocolDiamond
146
+ });
147
+ }
148
+ /**
149
+ * Returns offer from subgraph.
150
+ * @param offerId - ID of offer.
151
+ * @param queryVars - Optional query variables to skip, order or filter.
152
+ * @returns Offer entity from subgraph.
153
+ */
154
+ async getOfferById(offerId, queryVars) {
155
+ return offers.subgraph.getOfferById(this._subgraphUrl, offerId, queryVars);
156
+ }
157
+ /**
158
+ * Returns offers from subgraph.
159
+ * @param queryVars - Optional query variables to skip, order or filter.
160
+ * @returns Offer entities from subgraph.
161
+ */
162
+ async getOffers(queryVars) {
163
+ return offers.subgraph.getOffers(this._subgraphUrl, queryVars);
164
+ }
165
+ /**
166
+ * Renders contractual agreement for given offer.
167
+ * @param offerId - Id of offer to render agreement for.
168
+ * @returns Contractual agreement as string.
169
+ */
170
+ async renderContractualAgreementForOffer(offerId) {
171
+ const offerData = await offers.subgraph.getOfferById(this._subgraphUrl, offerId);
172
+ return offers.renderContractualAgreementForOffer(offerData);
173
+ }
174
+ /**
175
+ * Renders contractual agreement for given offer.
176
+ * @param template - Mustache syntax based template.
177
+ * @param offerData - Offer data.
178
+ * @returns Contractual agreement as string.
179
+ */
180
+ async renderContractualAgreement(template, offerData, offerMetadata) {
181
+ const tokenInfo = await this.getExchangeTokenInfo(offerData.exchangeToken);
182
+ return offers.renderContractualAgreement(template, offerData, offerMetadata, tokenInfo);
183
+ }
184
+ /* -------------------------------------------------------------------------- */
185
+ /* ERC20 / Exchange Token related methods */
186
+ /* -------------------------------------------------------------------------- */
187
+ /**
188
+ * Returns the current allowance of the given token by calling the contract.
189
+ * @param exchangeToken - Address of exchange token.
190
+ * @param overrides - Optional overrides.
191
+ * @returns Allowance for given signer.
192
+ */
193
+ async getExchangeTokenAllowance(exchangeToken, overrides = {}) {
194
+ return erc20.handler.getAllowance({
195
+ web3Lib: this._web3Lib,
196
+ contractAddress: exchangeToken,
197
+ spender: overrides.spender || this._protocolDiamond,
198
+ owner: overrides.owner || (await this._web3Lib.getSignerAddress())
199
+ });
200
+ }
201
+ /**
202
+ * Returns `name`, `decimals` and `symbol` of the given token by calling the contract.
203
+ * @param exchangeToken - Address exchange token.
204
+ * @returns Decimals, name and symbol.
205
+ */
206
+ async getExchangeTokenInfo(exchangeToken) {
207
+ if (this._tokenInfoManager === undefined) {
208
+ this._tokenInfoManager = new TokenInfoManager(this._chainId, this._web3Lib, this._subgraphUrl);
209
+ }
210
+ return this._tokenInfoManager.getExchangeTokenInfo(exchangeToken);
211
+ }
212
+ /**
213
+ * Approves the given amount for the main protocol contract.
214
+ * @param exchangeToken - Address of token to approve.
215
+ * @param value - Amount of allowance.
216
+ * @param overrides - Optional overrides.
217
+ * @returns Transaction response.
218
+ */
219
+ async approveExchangeToken(exchangeToken, value, overrides = {}) {
220
+ return erc20.handler.approve({
221
+ contractAddress: exchangeToken,
222
+ spender: overrides.spender || this._protocolDiamond,
223
+ value,
224
+ web3Lib: this._web3Lib
225
+ });
226
+ }
227
+ async getProtocolAllowance(exchangeToken, overrides = {}) {
228
+ return erc20.handler.getAllowance({
229
+ contractAddress: exchangeToken,
230
+ owner: overrides.owner || (await this._web3Lib.getSignerAddress()),
231
+ spender: overrides.spender || this._protocolDiamond,
232
+ web3Lib: this._web3Lib
233
+ });
234
+ }
235
+ async checkTokenGatedCondition(offerCondition, buyerAddress) {
236
+ const { tokenId, tokenType, threshold, method, tokenAddress } = offerCondition;
237
+ if (tokenType === TokenType.FungibleToken) {
238
+ const balance = await erc20.handler.balanceOf({
239
+ contractAddress: tokenAddress,
240
+ owner: buyerAddress,
241
+ web3Lib: this._web3Lib
242
+ });
243
+ return BigNumber.from(balance).gte(threshold);
244
+ }
245
+ if (tokenType === TokenType.NonFungibleToken) {
246
+ if (method === EvaluationMethod.Threshold) {
247
+ const balance = await erc721.handler.balanceOf({
248
+ contractAddress: tokenAddress,
249
+ owner: buyerAddress,
250
+ web3Lib: this._web3Lib
251
+ });
252
+ return BigNumber.from(balance).gte(threshold);
253
+ }
254
+ if (method === EvaluationMethod.SpecificToken) {
255
+ const owner = await erc721.handler.ownerOf({
256
+ contractAddress: tokenAddress,
257
+ tokenId,
258
+ web3Lib: this._web3Lib
259
+ });
260
+ return owner === buyerAddress;
261
+ }
262
+ throw new Error(`Unsupported method=${method} for this tokenType=${tokenType}`);
263
+ }
264
+ if (tokenType === TokenType.MultiToken) {
265
+ const balance = await erc1155.handler.balanceOf({
266
+ contractAddress: tokenAddress,
267
+ tokenId,
268
+ owner: buyerAddress,
269
+ web3Lib: this._web3Lib
270
+ });
271
+ return BigNumber.from(balance).gte(threshold);
272
+ }
273
+ throw new Error(`Unsupported tokenType=${tokenType}`);
274
+ }
275
+ }
276
+ //# sourceMappingURL=mixin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mixin.js","sourceRoot":"","sources":["../../../src/offers/mixin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { ConditionStruct, TransactionResponse } from "@bosonprotocol/common";
2
+ import { offers, accounts } from "..";
3
+ import { BaseCoreSDK } from "./../mixins/base-core-sdk";
4
+ export declare class OrchestrationMixin extends BaseCoreSDK {
5
+ /**
6
+ * Creates an offer with a specific conditions
7
+ * @param offerToCreate - Offer arguments.
8
+ * @param condition - contract condition applied to the offer
9
+ * @param overrides - Optional overrides.
10
+ * @returns Transaction response.
11
+ */
12
+ createOfferWithCondition(offerToCreate: offers.CreateOfferArgs, condition: ConditionStruct, overrides?: Partial<{
13
+ contractAddress: string;
14
+ }>): Promise<TransactionResponse>;
15
+ /**
16
+ * Creates a seller account and offer with a specific conditions
17
+ * This transaction only succeeds if there is no existing seller account for the connected signer.
18
+ * @param sellerToCreate - Addresses to set in the seller account.
19
+ * @param offerToCreate - Offer arguments.
20
+ * @param condition - contract condition applied to the offer
21
+ * @param overrides - Optional overrides.
22
+ * @returns Transaction response.
23
+ */
24
+ createSellerAndOfferWithCondition(sellerToCreate: accounts.CreateSellerArgs, offerToCreate: offers.CreateOfferArgs, condition: ConditionStruct, overrides?: Partial<{
25
+ contractAddress: string;
26
+ }>): Promise<TransactionResponse>;
27
+ }
28
+ //# sourceMappingURL=mixin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mixin.d.ts","sourceRoot":"","sources":["../../../src/orchestration/mixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE7E,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,qBAAa,kBAAmB,SAAQ,WAAW;IACjD;;;;;;OAMG;IACU,wBAAwB,CACnC,aAAa,EAAE,MAAM,CAAC,eAAe,EACrC,SAAS,EAAE,eAAe,EAC1B,SAAS,GAAE,OAAO,CAAC;QACjB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAM,GACN,OAAO,CAAC,mBAAmB,CAAC;IAU/B;;;;;;;;OAQG;IACU,iCAAiC,CAC5C,cAAc,EAAE,QAAQ,CAAC,gBAAgB,EACzC,aAAa,EAAE,MAAM,CAAC,eAAe,EACrC,SAAS,EAAE,eAAe,EAC1B,SAAS,GAAE,OAAO,CAAC;QACjB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAM,GACN,OAAO,CAAC,mBAAmB,CAAC;CAWhC"}
@@ -0,0 +1,42 @@
1
+ import { handler } from ".";
2
+ import { BaseCoreSDK } from "./../mixins/base-core-sdk";
3
+ export class OrchestrationMixin extends BaseCoreSDK {
4
+ /**
5
+ * Creates an offer with a specific conditions
6
+ * @param offerToCreate - Offer arguments.
7
+ * @param condition - contract condition applied to the offer
8
+ * @param overrides - Optional overrides.
9
+ * @returns Transaction response.
10
+ */
11
+ async createOfferWithCondition(offerToCreate, condition, overrides = {}) {
12
+ return handler.createOfferWithCondition({
13
+ offerToCreate,
14
+ contractAddress: overrides.contractAddress || this._protocolDiamond,
15
+ web3Lib: this._web3Lib,
16
+ metadataStorage: this._metadataStorage,
17
+ theGraphStorage: this._theGraphStorage,
18
+ condition
19
+ });
20
+ }
21
+ /**
22
+ * Creates a seller account and offer with a specific conditions
23
+ * This transaction only succeeds if there is no existing seller account for the connected signer.
24
+ * @param sellerToCreate - Addresses to set in the seller account.
25
+ * @param offerToCreate - Offer arguments.
26
+ * @param condition - contract condition applied to the offer
27
+ * @param overrides - Optional overrides.
28
+ * @returns Transaction response.
29
+ */
30
+ async createSellerAndOfferWithCondition(sellerToCreate, offerToCreate, condition, overrides = {}) {
31
+ return handler.createSellerAndOfferWithCondition({
32
+ sellerToCreate,
33
+ offerToCreate,
34
+ contractAddress: overrides.contractAddress || this._protocolDiamond,
35
+ web3Lib: this._web3Lib,
36
+ metadataStorage: this._metadataStorage,
37
+ theGraphStorage: this._theGraphStorage,
38
+ condition
39
+ });
40
+ }
41
+ }
42
+ //# sourceMappingURL=mixin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mixin.js","sourceRoot":"","sources":["../../../src/orchestration/mixin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;AAE5B,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,MAAM,OAAO,kBAAmB,SAAQ,WAAW;IACjD;;;;;;OAMG;IACI,KAAK,CAAC,wBAAwB,CACnC,aAAqC,EACrC,SAA0B,EAC1B,YAEK,EAAE;QAEP,OAAO,OAAO,CAAC,wBAAwB,CAAC;YACtC,aAAa;YACb,eAAe,EAAE,SAAS,CAAC,eAAe,IAAI,IAAI,CAAC,gBAAgB;YACnE,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,eAAe,EAAE,IAAI,CAAC,gBAAgB;YACtC,eAAe,EAAE,IAAI,CAAC,gBAAgB;YACtC,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IACD;;;;;;;;OAQG;IACI,KAAK,CAAC,iCAAiC,CAC5C,cAAyC,EACzC,aAAqC,EACrC,SAA0B,EAC1B,YAEK,EAAE;QAEP,OAAO,OAAO,CAAC,iCAAiC,CAAC;YAC/C,cAAc;YACd,aAAa;YACb,eAAe,EAAE,SAAS,CAAC,eAAe,IAAI,IAAI,CAAC,gBAAgB;YACnE,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,eAAe,EAAE,IAAI,CAAC,gBAAgB;YACtC,eAAe,EAAE,IAAI,CAAC,gBAAgB;YACtC,SAAS;SACV,CAAC,CAAC;IACL,CAAC;CACF"}