@bosonprotocol/react-kit 0.42.0-alpha.3 → 0.42.0-alpha.4
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.
- package/dist/cjs/components/boson/BosonProvider.js +1 -1
- package/dist/cjs/components/contractualAgreement/ContractualAgreement.d.ts.map +1 -1
- package/dist/cjs/components/contractualAgreement/ContractualAgreement.js +8 -3
- package/dist/cjs/components/contractualAgreement/ContractualAgreement.js.map +1 -1
- package/dist/cjs/components/modal/components/common/detail/useGetOfferDetailData.d.ts.map +1 -1
- package/dist/cjs/components/modal/components/common/detail/useGetOfferDetailData.js +9 -2
- package/dist/cjs/components/modal/components/common/detail/useGetOfferDetailData.js.map +1 -1
- package/dist/cjs/components/offerPolicy/OfferPolicyDetails.d.ts.map +1 -1
- package/dist/cjs/components/offerPolicy/OfferPolicyDetails.js +18 -8
- package/dist/cjs/components/offerPolicy/OfferPolicyDetails.js.map +1 -1
- package/dist/cjs/hooks/useCheckExchangePolicy.d.ts.map +1 -1
- package/dist/cjs/hooks/useCheckExchangePolicy.js +21 -16
- package/dist/cjs/hooks/useCheckExchangePolicy.js.map +1 -1
- package/dist/cjs/hooks/useRenderTemplate.d.ts.map +1 -1
- package/dist/cjs/hooks/useRenderTemplate.js +16 -5
- package/dist/cjs/hooks/useRenderTemplate.js.map +1 -1
- package/dist/esm/components/boson/BosonProvider.js +1 -1
- package/dist/esm/components/contractualAgreement/ContractualAgreement.d.ts.map +1 -1
- package/dist/esm/components/contractualAgreement/ContractualAgreement.js +8 -3
- package/dist/esm/components/contractualAgreement/ContractualAgreement.js.map +1 -1
- package/dist/esm/components/modal/components/common/detail/useGetOfferDetailData.d.ts.map +1 -1
- package/dist/esm/components/modal/components/common/detail/useGetOfferDetailData.js +9 -2
- package/dist/esm/components/modal/components/common/detail/useGetOfferDetailData.js.map +1 -1
- package/dist/esm/components/offerPolicy/OfferPolicyDetails.d.ts.map +1 -1
- package/dist/esm/components/offerPolicy/OfferPolicyDetails.js +17 -10
- package/dist/esm/components/offerPolicy/OfferPolicyDetails.js.map +1 -1
- package/dist/esm/hooks/useCheckExchangePolicy.d.ts.map +1 -1
- package/dist/esm/hooks/useCheckExchangePolicy.js +20 -15
- package/dist/esm/hooks/useCheckExchangePolicy.js.map +1 -1
- package/dist/esm/hooks/useRenderTemplate.d.ts.map +1 -1
- package/dist/esm/hooks/useRenderTemplate.js +14 -6
- package/dist/esm/hooks/useRenderTemplate.js.map +1 -1
- package/package.json +5 -5
- package/src/components/boson/BosonProvider.tsx +1 -1
- package/src/components/contractualAgreement/ContractualAgreement.tsx +14 -3
- package/src/components/modal/components/common/detail/useGetOfferDetailData.tsx +10 -1
- package/src/components/offerPolicy/OfferPolicyDetails.tsx +26 -16
- package/src/hooks/useCheckExchangePolicy.ts +30 -26
- package/src/hooks/useRenderTemplate.ts +25 -6
- package/src/stories/widgets/Commit.stories.tsx +15 -15
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OfferPolicyDetails.js","sourceRoot":"","sources":["../../../../src/components/offerPolicy/OfferPolicyDetails.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"OfferPolicyDetails.js","sourceRoot":"","sources":["../../../../src/components/offerPolicy/OfferPolicyDetails.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCheckExchangePolicy.d.ts","sourceRoot":"","sources":["../../../src/hooks/useCheckExchangePolicy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAKjD,OAAO,EAAE,KAAK,EAAE,MAAM,qEAAqE,CAAC;AAG5F,UAAU,KAAK;IACb,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,uBAAuB,EAAE,MAAM,CAAC;IAChC,wBAAwB,EAAE,MAAM,CAAC;IACjC,aAAa,EAAE,KAAK,EAAE,CAAC;CACxB;
|
|
1
|
+
{"version":3,"file":"useCheckExchangePolicy.d.ts","sourceRoot":"","sources":["../../../src/hooks/useCheckExchangePolicy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAKjD,OAAO,EAAE,KAAK,EAAE,MAAM,qEAAqE,CAAC;AAG5F,UAAU,KAAK;IACb,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,uBAAuB,EAAE,MAAM,CAAC;IAChC,wBAAwB,EAAE,MAAM,CAAC;IACjC,aAAa,EAAE,KAAK,EAAE,CAAC;CACxB;AAmDD,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,EAC7C,OAAO,EACP,uBAAuB,EACvB,wBAAwB,EACxB,aAAa,EACd,EAAE,KAAK,gDAqCP"}
|
|
@@ -11,19 +11,26 @@ const getRulesTemplate = async (fairExchangePolicyRules, ipfsGateway, defaultDis
|
|
|
11
11
|
const rulesTemplateUri = getIpfsGatewayUrl(fairExchangePolicyRules, { gateway: ipfsGateway });
|
|
12
12
|
const rulesTemplateText = await fetchTextFile(rulesTemplateUri);
|
|
13
13
|
const rulesTemplate = JSON.parse(rulesTemplateText);
|
|
14
|
-
// replace DEFAULT_DISPUTE_RESOLVER_ID (environment dependent)
|
|
15
|
-
const disputeResolverId_matches = rulesTemplate?.yupSchema?.properties?.disputeResolverId?.matches?.replace("<DEFAULT_DISPUTE_RESOLVER_ID>", defaultDisputeResolverId);
|
|
16
|
-
if (disputeResolverId_matches) {
|
|
17
|
-
rulesTemplate.yupSchema.properties.disputeResolverId.matches =
|
|
18
|
-
disputeResolverId_matches;
|
|
19
|
-
}
|
|
20
|
-
// replace TOKENS_LIST (environment dependent)
|
|
21
14
|
const tokensList = defaultTokens.map((token) => token.address);
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
15
|
+
for (const schema of [
|
|
16
|
+
rulesTemplate.yupSchema,
|
|
17
|
+
...(rulesTemplate.yupSchemas || [])
|
|
18
|
+
]) {
|
|
19
|
+
// replace DEFAULT_DISPUTE_RESOLVER_ID (environment dependent)
|
|
20
|
+
if (schema.properties?.disputeResolverId?.matches) {
|
|
21
|
+
const disputeResolverId_matches = schema.properties?.disputeResolverId?.matches?.replace("<DEFAULT_DISPUTE_RESOLVER_ID>", defaultDisputeResolverId);
|
|
22
|
+
if (disputeResolverId_matches) {
|
|
23
|
+
schema.properties.disputeResolverId.matches = disputeResolverId_matches;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
// replace TOKENS_LIST (environment dependent)
|
|
27
|
+
if (schema.properties?.exchangeToken?.properties?.address?.pattern) {
|
|
28
|
+
const tokensList_pattern = schema.properties?.exchangeToken?.properties?.address?.pattern?.replace("<TOKENS_LIST>", tokensList.join("|"));
|
|
29
|
+
if (schema.properties.exchangeToken.properties && tokensList_pattern) {
|
|
30
|
+
schema.properties.exchangeToken.properties.address.pattern =
|
|
31
|
+
tokensList_pattern;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
27
34
|
}
|
|
28
35
|
return rulesTemplate;
|
|
29
36
|
};
|
|
@@ -37,9 +44,7 @@ export default function useCheckExchangePolicy({ offerId, fairExchangePolicyRule
|
|
|
37
44
|
ipfsGateway,
|
|
38
45
|
defaultDisputeResolverId,
|
|
39
46
|
defaultTokens
|
|
40
|
-
], () =>
|
|
41
|
-
return getRulesTemplate(fairExchangePolicyRules, ipfsGateway, defaultDisputeResolverId, defaultTokens);
|
|
42
|
-
});
|
|
47
|
+
], () => getRulesTemplate(fairExchangePolicyRules, ipfsGateway, defaultDisputeResolverId, defaultTokens));
|
|
43
48
|
useEffect(() => {
|
|
44
49
|
if (!core || !offerId || !fairExchangePolicyRules || !rulesTemplate) {
|
|
45
50
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCheckExchangePolicy.js","sourceRoot":"","sources":["../../../src/hooks/useCheckExchangePolicy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAG5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AASvC,MAAM,gBAAgB,GAAG,KAAK,EAC5B,uBAA2C,EAC3C,WAAmB,EACnB,wBAAgC,EAChC,aAAsB,EACtB,EAAE;IACF,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,gBAAgB,GAAG,iBAAiB,CACxC,uBAAiC,EACjC,EAAE,OAAO,EAAE,WAAW,EAAE,CACzB,CAAC;IACF,MAAM,iBAAiB,GAAG,MAAM,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAChE,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAC9B,iBAAiB,CACiB,CAAC;IACrC,
|
|
1
|
+
{"version":3,"file":"useCheckExchangePolicy.js","sourceRoot":"","sources":["../../../src/hooks/useCheckExchangePolicy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRenderTemplate.d.ts","sourceRoot":"","sources":["../../../src/hooks/useRenderTemplate.ts"],"names":[],"mappings":"AAEA,OAAO,EAAU,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"useRenderTemplate.d.ts","sourceRoot":"","sources":["../../../src/hooks/useRenderTemplate.ts"],"names":[],"mappings":"AAEA,OAAO,EAAU,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAMhE,KAAK,mBAAmB,GAAG,QAAQ,CAAC,mBAAmB,CAAC;AAIxD,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,SAAS,EAAE,mBAAmB,GAAG,SAAS,EAC1C,WAAW,EAAE,MAAM;;;EA6DpB"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { ethers } from "ethers";
|
|
2
2
|
import { PriceType } from "@bosonprotocol/common";
|
|
3
|
+
import { subgraph } from "@bosonprotocol/core-sdk";
|
|
3
4
|
import { useEffect, useState } from "react";
|
|
4
5
|
import { ProgressStatus } from "../lib/progress/progressStatus";
|
|
5
6
|
import { useCoreSDKWithContext } from "./core-sdk/useCoreSdkWithContext";
|
|
6
7
|
import { useIpfsStorage } from "./useIpfsStorage";
|
|
8
|
+
import { isBundle } from "..";
|
|
7
9
|
export function useRenderTemplate(offerId, offerData, templateUrl) {
|
|
8
10
|
const [renderStatus, setRenderStatus] = useState(ProgressStatus.IDLE);
|
|
9
11
|
const [renderResult, setRenderResult] = useState("");
|
|
@@ -52,6 +54,9 @@ export function useRenderTemplate(offerId, offerData, templateUrl) {
|
|
|
52
54
|
return { renderStatus, renderResult };
|
|
53
55
|
}
|
|
54
56
|
function buildOfferData(offerFields) {
|
|
57
|
+
const productItemMetadata = isBundle(offerFields)
|
|
58
|
+
? offerFields.metadata.items?.find((item) => item.type === subgraph.ItemMetadataType.ITEM_PRODUCT_V1)
|
|
59
|
+
: undefined;
|
|
55
60
|
return {
|
|
56
61
|
offerArgs: {
|
|
57
62
|
price: offerFields.price,
|
|
@@ -71,6 +76,9 @@ function buildOfferData(offerFields) {
|
|
|
71
76
|
voucherRedeemableUntilDateInMS: ethers.BigNumber.from(offerFields.voucherRedeemableUntilDate)
|
|
72
77
|
.mul(1000)
|
|
73
78
|
.toString(),
|
|
79
|
+
voucherValidDurationInMS: ethers.BigNumber.from(offerFields.voucherValidDuration)
|
|
80
|
+
.mul(1000)
|
|
81
|
+
.toString(),
|
|
74
82
|
disputePeriodDurationInMS: ethers.BigNumber.from(offerFields.disputePeriodDuration)
|
|
75
83
|
.mul(1000)
|
|
76
84
|
.toString(),
|
|
@@ -90,16 +98,16 @@ function buildOfferData(offerFields) {
|
|
|
90
98
|
}
|
|
91
99
|
},
|
|
92
100
|
offerMetadata: {
|
|
93
|
-
sellerContactMethod:
|
|
94
|
-
?.sellerContactMethod || "undefined",
|
|
95
|
-
disputeResolverContactMethod:
|
|
96
|
-
?.disputeResolverContactMethod || "undefined",
|
|
101
|
+
sellerContactMethod: (productItemMetadata ||
|
|
102
|
+
offerFields.metadata)?.exchangePolicy?.sellerContactMethod || "undefined",
|
|
103
|
+
disputeResolverContactMethod: (productItemMetadata ||
|
|
104
|
+
offerFields.metadata)?.exchangePolicy?.disputeResolverContactMethod || "undefined",
|
|
97
105
|
escalationDeposit: offerFields.disputeResolutionTerms.buyerEscalationDeposit,
|
|
98
106
|
escalationResponsePeriodInSec: offerFields.disputeResolutionTerms.escalationResponsePeriod,
|
|
99
107
|
sellerTradingName: offerFields.metadata?.productV1Seller
|
|
100
108
|
?.name || "undefined",
|
|
101
|
-
returnPeriodInDays:
|
|
102
|
-
?.returnPeriodInDays || 0
|
|
109
|
+
returnPeriodInDays: (productItemMetadata ||
|
|
110
|
+
offerFields.metadata)?.shipping?.returnPeriodInDays || 0
|
|
103
111
|
}
|
|
104
112
|
};
|
|
105
113
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRenderTemplate.js","sourceRoot":"","sources":["../../../src/hooks/useRenderTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAmB,SAAS,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"useRenderTemplate.js","sourceRoot":"","sources":["../../../src/hooks/useRenderTemplate.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bosonprotocol/react-kit",
|
|
3
3
|
"description": "React toolkit with smart components and hooks for building on top of the Boson Protocol.",
|
|
4
|
-
"version": "0.42.0-alpha.
|
|
4
|
+
"version": "0.42.0-alpha.4",
|
|
5
5
|
"main": "./dist/cjs/index.js",
|
|
6
6
|
"module": "./dist/esm/index.js",
|
|
7
7
|
"types": "./dist/cjs/index.d.ts",
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"@bosonprotocol/chat-sdk": "^1.3.1-alpha.20",
|
|
22
|
-
"@bosonprotocol/core-sdk": "^1.46.0-alpha.
|
|
23
|
-
"@bosonprotocol/ethers-sdk": "^1.17.1-alpha.
|
|
22
|
+
"@bosonprotocol/core-sdk": "^1.46.0-alpha.4",
|
|
23
|
+
"@bosonprotocol/ethers-sdk": "^1.17.1-alpha.3",
|
|
24
24
|
"@bosonprotocol/ipfs-storage": "^1.13.0",
|
|
25
25
|
"@davatar/react": "1.11.1",
|
|
26
26
|
"@ethersproject/units": "5.6.0",
|
|
@@ -156,7 +156,7 @@
|
|
|
156
156
|
}
|
|
157
157
|
},
|
|
158
158
|
"devDependencies": {
|
|
159
|
-
"@bosonprotocol/common": "^1.32.1-alpha.
|
|
159
|
+
"@bosonprotocol/common": "^1.32.1-alpha.3",
|
|
160
160
|
"@chromatic-com/storybook": "^1.2.18",
|
|
161
161
|
"@storybook/addon-essentials": "^8.0.0",
|
|
162
162
|
"@storybook/addon-interactions": "^8.0.0",
|
|
@@ -210,5 +210,5 @@
|
|
|
210
210
|
"overrides": {
|
|
211
211
|
"typescript": "^5.1.6"
|
|
212
212
|
},
|
|
213
|
-
"gitHead": "
|
|
213
|
+
"gitHead": "0006d9ef1445a1e67ee6929b9a7462d8641dc9a4"
|
|
214
214
|
}
|
|
@@ -62,7 +62,7 @@ export function BosonProvider({
|
|
|
62
62
|
rest.minimumDisputeResolutionPeriodDays || 15,
|
|
63
63
|
fairExchangePolicyRules:
|
|
64
64
|
rest.fairExchangePolicyRules ||
|
|
65
|
-
"ipfs://
|
|
65
|
+
"ipfs://QmPBjCyxLdYFGQRJnD1xfdtBTEUsviwJV5Y4ZN3rCBo2QQ",
|
|
66
66
|
contactSellerForExchangeUrl:
|
|
67
67
|
rest.contactSellerForExchangeUrl || "https://bosonapp.io/#/chat/{id}",
|
|
68
68
|
buyerSellerAgreementTemplate:
|
|
@@ -10,6 +10,7 @@ import { subgraph } from "@bosonprotocol/core-sdk";
|
|
|
10
10
|
import { useBosonContext } from "../boson/BosonProvider";
|
|
11
11
|
import { SimpleError } from "../error/SimpleError";
|
|
12
12
|
import Loading from "../ui/loading/LoadingWrapper";
|
|
13
|
+
import { isBundle } from "../..";
|
|
13
14
|
|
|
14
15
|
interface ContractualAgreementProps {
|
|
15
16
|
offerId: string | undefined;
|
|
@@ -19,15 +20,25 @@ interface ContractualAgreementProps {
|
|
|
19
20
|
const getTemplate = (
|
|
20
21
|
offer: subgraph.OfferFieldsFragment | undefined
|
|
21
22
|
): string | undefined => {
|
|
22
|
-
|
|
23
|
-
|
|
23
|
+
const productItemMetadata =
|
|
24
|
+
offer && isBundle(offer)
|
|
25
|
+
? offer.metadata.items?.find(
|
|
26
|
+
(item): item is subgraph.ProductV1ItemMetadataEntity =>
|
|
27
|
+
item.type === subgraph.ItemMetadataType.ITEM_PRODUCT_V1
|
|
28
|
+
)
|
|
29
|
+
: undefined;
|
|
30
|
+
|
|
31
|
+
return (
|
|
32
|
+
productItemMetadata?.exchangePolicy?.template ||
|
|
33
|
+
(offer?.metadata as subgraph.ProductV1MetadataEntity)?.exchangePolicy
|
|
34
|
+
?.template
|
|
35
|
+
);
|
|
24
36
|
};
|
|
25
37
|
|
|
26
38
|
export default function ContractualAgreement({
|
|
27
39
|
offerId,
|
|
28
40
|
offerData
|
|
29
41
|
}: ContractualAgreementProps) {
|
|
30
|
-
// TODO: get the template from the offer metadata (BP390 - https://app.asana.com/0/1200803815983047/1203080300620356)
|
|
31
42
|
const { buyerSellerAgreementTemplate } = useBosonContext();
|
|
32
43
|
const template = getTemplate(offerData);
|
|
33
44
|
const templateUrl =
|
|
@@ -15,6 +15,7 @@ import { Typography } from "../../../../ui/Typography";
|
|
|
15
15
|
import { DetailDisputeResolver } from "./DetailDisputeResolver";
|
|
16
16
|
import { DetailViewProps } from "./types";
|
|
17
17
|
import { colors, getCssVar } from "../../../../../theme";
|
|
18
|
+
import { isBundle } from "../../../../..";
|
|
18
19
|
|
|
19
20
|
const fontSizeExchangePolicy = "0.625rem";
|
|
20
21
|
|
|
@@ -48,9 +49,17 @@ export const useGetOfferDetailData = ({
|
|
|
48
49
|
const { formatted: sellerFormatted } = calcPercentage(offer, "sellerDeposit");
|
|
49
50
|
const redeemableForXDays =
|
|
50
51
|
Number(`${offer.voucherValidDuration}000`) / 86400000;
|
|
52
|
+
const productItemMetadata = isBundle(offer)
|
|
53
|
+
? offer.metadata.items?.find(
|
|
54
|
+
(item): item is subgraph.ProductV1ItemMetadataEntity =>
|
|
55
|
+
item.type === subgraph.ItemMetadataType.ITEM_PRODUCT_V1
|
|
56
|
+
)
|
|
57
|
+
: undefined;
|
|
51
58
|
const exchangePolicyLabel = (
|
|
59
|
+
productItemMetadata?.exchangePolicy?.label ||
|
|
52
60
|
(offer.metadata as subgraph.ProductV1MetadataEntity)?.exchangePolicy
|
|
53
|
-
?.label ||
|
|
61
|
+
?.label ||
|
|
62
|
+
"Unspecified"
|
|
54
63
|
).replace("fairExchangePolicy", "Fair Exchange Policy");
|
|
55
64
|
const redeemableFromValues =
|
|
56
65
|
offer.voucherRedeemableFromDate && redeemableFromDayJs.isAfter(Date.now())
|
|
@@ -14,6 +14,7 @@ import DetailTable from "../modal/components/common/detail/DetailTable";
|
|
|
14
14
|
import useCheckExchangePolicy from "../../hooks/useCheckExchangePolicy";
|
|
15
15
|
import { useConfigContext } from "../config/ConfigContext";
|
|
16
16
|
import { useBosonContext } from "../boson/BosonProvider";
|
|
17
|
+
import { isBundle } from "../..";
|
|
17
18
|
|
|
18
19
|
const NoPaddingButton = styled(ThemedButton)`
|
|
19
20
|
padding: 0 !important;
|
|
@@ -44,21 +45,30 @@ export default function OfferPolicyDetails({
|
|
|
44
45
|
const isExchangePolicyValid =
|
|
45
46
|
exchangePolicyCheckResult &&
|
|
46
47
|
(exchangePolicyCheckResult.isValid ||
|
|
47
|
-
!exchangePolicyCheckResult.errors.find(
|
|
48
|
-
|
|
48
|
+
!exchangePolicyCheckResult.errors.find((error) =>
|
|
49
|
+
error.path?.endsWith("exchangePolicy.template")
|
|
49
50
|
));
|
|
50
51
|
|
|
52
|
+
const productItemMetadata = isBundle(offerData)
|
|
53
|
+
? offerData.metadata.items?.find(
|
|
54
|
+
(item): item is subgraph.ProductV1ItemMetadataEntity =>
|
|
55
|
+
item.type === subgraph.ItemMetadataType.ITEM_PRODUCT_V1
|
|
56
|
+
)
|
|
57
|
+
: undefined;
|
|
58
|
+
const exchangePolicyData =
|
|
59
|
+
productItemMetadata?.exchangePolicy ||
|
|
60
|
+
(offerData?.metadata as subgraph.ProductV1MetadataEntity)?.exchangePolicy;
|
|
61
|
+
const shippingData =
|
|
62
|
+
productItemMetadata?.shipping ||
|
|
63
|
+
(offerData?.metadata as subgraph.ProductV1MetadataEntity)?.shipping;
|
|
51
64
|
const exchangePolicy = {
|
|
52
|
-
name:
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
? "v" +
|
|
59
|
-
(
|
|
60
|
-
offerData?.metadata as subgraph.ProductV1MetadataEntity
|
|
61
|
-
)?.exchangePolicy?.version?.toString()
|
|
65
|
+
name:
|
|
66
|
+
exchangePolicyData?.label?.replace(
|
|
67
|
+
"fairExchangePolicy",
|
|
68
|
+
"Fair Exchange Policy"
|
|
69
|
+
) || "unspecified",
|
|
70
|
+
version: exchangePolicyData?.version
|
|
71
|
+
? "v" + exchangePolicyData.version.toString()
|
|
62
72
|
: "",
|
|
63
73
|
disputePeriod: offerData?.disputePeriodDuration
|
|
64
74
|
? parseInt(offerData?.disputePeriodDuration) / (3600 * 24)
|
|
@@ -66,9 +76,7 @@ export default function OfferPolicyDetails({
|
|
|
66
76
|
escalationPeriod: offerData?.resolutionPeriodDuration
|
|
67
77
|
? parseInt(offerData?.resolutionPeriodDuration) / (3600 * 24)
|
|
68
78
|
: "unspecified",
|
|
69
|
-
returnPeriod:
|
|
70
|
-
(offerData?.metadata as subgraph.ProductV1MetadataEntity)?.shipping
|
|
71
|
-
?.returnPeriodInDays || "unspecified",
|
|
79
|
+
returnPeriod: shippingData?.returnPeriodInDays || "unspecified",
|
|
72
80
|
contractualAgreement: {
|
|
73
81
|
title: isExchangePolicyValid ? (
|
|
74
82
|
"Commerce Agreement"
|
|
@@ -167,7 +175,9 @@ export default function OfferPolicyDetails({
|
|
|
167
175
|
info: undefined,
|
|
168
176
|
value: period(
|
|
169
177
|
exchangePolicy.returnPeriod,
|
|
170
|
-
|
|
178
|
+
isBundle(offerData)
|
|
179
|
+
? "shipping.returnPeriodInDays"
|
|
180
|
+
: "metadata.shipping.returnPeriodInDays",
|
|
171
181
|
exchangePolicyCheckResult
|
|
172
182
|
)
|
|
173
183
|
},
|
|
@@ -32,29 +32,34 @@ const getRulesTemplate = async (
|
|
|
32
32
|
const rulesTemplate = JSON.parse(
|
|
33
33
|
rulesTemplateText
|
|
34
34
|
) as offers.CheckExchangePolicyRules;
|
|
35
|
-
// replace DEFAULT_DISPUTE_RESOLVER_ID (environment dependent)
|
|
36
|
-
const disputeResolverId_matches =
|
|
37
|
-
rulesTemplate?.yupSchema?.properties?.disputeResolverId?.matches?.replace(
|
|
38
|
-
"<DEFAULT_DISPUTE_RESOLVER_ID>",
|
|
39
|
-
defaultDisputeResolverId
|
|
40
|
-
);
|
|
41
|
-
if (disputeResolverId_matches) {
|
|
42
|
-
rulesTemplate.yupSchema.properties.disputeResolverId.matches =
|
|
43
|
-
disputeResolverId_matches;
|
|
44
|
-
}
|
|
45
|
-
// replace TOKENS_LIST (environment dependent)
|
|
46
35
|
const tokensList = defaultTokens.map((token) => token.address);
|
|
47
|
-
const
|
|
48
|
-
rulesTemplate
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
)
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
36
|
+
for (const schema of [
|
|
37
|
+
rulesTemplate.yupSchema,
|
|
38
|
+
...(rulesTemplate.yupSchemas || [])
|
|
39
|
+
]) {
|
|
40
|
+
// replace DEFAULT_DISPUTE_RESOLVER_ID (environment dependent)
|
|
41
|
+
if (schema.properties?.disputeResolverId?.matches) {
|
|
42
|
+
const disputeResolverId_matches =
|
|
43
|
+
schema.properties?.disputeResolverId?.matches?.replace(
|
|
44
|
+
"<DEFAULT_DISPUTE_RESOLVER_ID>",
|
|
45
|
+
defaultDisputeResolverId
|
|
46
|
+
);
|
|
47
|
+
if (disputeResolverId_matches) {
|
|
48
|
+
schema.properties.disputeResolverId.matches = disputeResolverId_matches;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
// replace TOKENS_LIST (environment dependent)
|
|
52
|
+
if (schema.properties?.exchangeToken?.properties?.address?.pattern) {
|
|
53
|
+
const tokensList_pattern =
|
|
54
|
+
schema.properties?.exchangeToken?.properties?.address?.pattern?.replace(
|
|
55
|
+
"<TOKENS_LIST>",
|
|
56
|
+
tokensList.join("|")
|
|
57
|
+
);
|
|
58
|
+
if (schema.properties.exchangeToken.properties && tokensList_pattern) {
|
|
59
|
+
schema.properties.exchangeToken.properties.address.pattern =
|
|
60
|
+
tokensList_pattern;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
58
63
|
}
|
|
59
64
|
return rulesTemplate;
|
|
60
65
|
};
|
|
@@ -78,14 +83,13 @@ export default function useCheckExchangePolicy({
|
|
|
78
83
|
defaultDisputeResolverId,
|
|
79
84
|
defaultTokens
|
|
80
85
|
],
|
|
81
|
-
() =>
|
|
82
|
-
|
|
86
|
+
() =>
|
|
87
|
+
getRulesTemplate(
|
|
83
88
|
fairExchangePolicyRules,
|
|
84
89
|
ipfsGateway,
|
|
85
90
|
defaultDisputeResolverId,
|
|
86
91
|
defaultTokens
|
|
87
|
-
)
|
|
88
|
-
}
|
|
92
|
+
)
|
|
89
93
|
);
|
|
90
94
|
useEffect(() => {
|
|
91
95
|
if (!core || !offerId || !fairExchangePolicyRules || !rulesTemplate) {
|
|
@@ -6,6 +6,7 @@ import { ProgressStatus } from "../lib/progress/progressStatus";
|
|
|
6
6
|
import { useCoreSDKWithContext } from "./core-sdk/useCoreSdkWithContext";
|
|
7
7
|
|
|
8
8
|
import { useIpfsStorage } from "./useIpfsStorage";
|
|
9
|
+
import { isBundle } from "..";
|
|
9
10
|
|
|
10
11
|
type OfferFieldsFragment = subgraph.OfferFieldsFragment;
|
|
11
12
|
type AdditionalOfferMetadata = offers.AdditionalOfferMetadata;
|
|
@@ -81,6 +82,13 @@ function buildOfferData(offerFields: OfferFieldsFragment): {
|
|
|
81
82
|
offerArgs: CreateOfferArgs;
|
|
82
83
|
offerMetadata: AdditionalOfferMetadata;
|
|
83
84
|
} {
|
|
85
|
+
const productItemMetadata = isBundle(offerFields)
|
|
86
|
+
? (offerFields.metadata as subgraph.BundleMetadataEntity).items?.find(
|
|
87
|
+
(item): item is subgraph.ProductV1ItemMetadataEntity =>
|
|
88
|
+
item.type === subgraph.ItemMetadataType.ITEM_PRODUCT_V1
|
|
89
|
+
)
|
|
90
|
+
: undefined;
|
|
91
|
+
|
|
84
92
|
return {
|
|
85
93
|
offerArgs: {
|
|
86
94
|
price: offerFields.price as string,
|
|
@@ -104,6 +112,11 @@ function buildOfferData(offerFields: OfferFieldsFragment): {
|
|
|
104
112
|
)
|
|
105
113
|
.mul(1000)
|
|
106
114
|
.toString(),
|
|
115
|
+
voucherValidDurationInMS: ethers.BigNumber.from(
|
|
116
|
+
offerFields.voucherValidDuration
|
|
117
|
+
)
|
|
118
|
+
.mul(1000)
|
|
119
|
+
.toString(),
|
|
107
120
|
disputePeriodDurationInMS: ethers.BigNumber.from(
|
|
108
121
|
offerFields.disputePeriodDuration
|
|
109
122
|
)
|
|
@@ -128,11 +141,15 @@ function buildOfferData(offerFields: OfferFieldsFragment): {
|
|
|
128
141
|
},
|
|
129
142
|
offerMetadata: {
|
|
130
143
|
sellerContactMethod:
|
|
131
|
-
(
|
|
132
|
-
|
|
144
|
+
(
|
|
145
|
+
productItemMetadata ||
|
|
146
|
+
(offerFields.metadata as ProductV1MetadataFields)
|
|
147
|
+
)?.exchangePolicy?.sellerContactMethod || "undefined",
|
|
133
148
|
disputeResolverContactMethod:
|
|
134
|
-
(
|
|
135
|
-
|
|
149
|
+
(
|
|
150
|
+
productItemMetadata ||
|
|
151
|
+
(offerFields.metadata as ProductV1MetadataFields)
|
|
152
|
+
)?.exchangePolicy?.disputeResolverContactMethod || "undefined",
|
|
136
153
|
escalationDeposit:
|
|
137
154
|
offerFields.disputeResolutionTerms.buyerEscalationDeposit,
|
|
138
155
|
escalationResponsePeriodInSec:
|
|
@@ -141,8 +158,10 @@ function buildOfferData(offerFields: OfferFieldsFragment): {
|
|
|
141
158
|
(offerFields.metadata as ProductV1MetadataFields)?.productV1Seller
|
|
142
159
|
?.name || "undefined",
|
|
143
160
|
returnPeriodInDays:
|
|
144
|
-
(
|
|
145
|
-
|
|
161
|
+
(
|
|
162
|
+
productItemMetadata ||
|
|
163
|
+
(offerFields.metadata as ProductV1MetadataFields)
|
|
164
|
+
)?.shipping?.returnPeriodInDays || 0
|
|
146
165
|
}
|
|
147
166
|
};
|
|
148
167
|
}
|
|
@@ -45,7 +45,7 @@ Commit.args = {
|
|
|
45
45
|
defaultCurrencyTicker: "USD",
|
|
46
46
|
contactSellerForExchangeUrl: "https://bosonapp.io/#/chat/{id}",
|
|
47
47
|
fairExchangePolicyRules:
|
|
48
|
-
"ipfs://
|
|
48
|
+
"ipfs://QmPBjCyxLdYFGQRJnD1xfdtBTEUsviwJV5Y4ZN3rCBo2QQ",
|
|
49
49
|
ipfsGateway: process.env.STORYBOOK_DATA_IPFS_GATEWAY,
|
|
50
50
|
ipfsProjectId: process.env.STORYBOOK_DATA_IPFS_PROJECT_ID,
|
|
51
51
|
ipfsProjectSecret: process.env.STORYBOOK_DATA_IPFS_PROJECT_SECRET,
|
|
@@ -80,7 +80,7 @@ CommitTokenGated_ERC20.args = {
|
|
|
80
80
|
defaultCurrencyTicker: "USD",
|
|
81
81
|
contactSellerForExchangeUrl: "https://bosonapp.io/#/chat/{id}",
|
|
82
82
|
fairExchangePolicyRules:
|
|
83
|
-
"ipfs://
|
|
83
|
+
"ipfs://QmPBjCyxLdYFGQRJnD1xfdtBTEUsviwJV5Y4ZN3rCBo2QQ",
|
|
84
84
|
ipfsGateway: process.env.STORYBOOK_DATA_IPFS_GATEWAY,
|
|
85
85
|
ipfsProjectId: process.env.STORYBOOK_DATA_IPFS_PROJECT_ID,
|
|
86
86
|
ipfsProjectSecret: process.env.STORYBOOK_DATA_IPFS_PROJECT_SECRET,
|
|
@@ -88,8 +88,8 @@ CommitTokenGated_ERC20.args = {
|
|
|
88
88
|
defaultSelectedOfferId: "",
|
|
89
89
|
disableVariationsSelects: false,
|
|
90
90
|
bundleUuid: "",
|
|
91
|
-
productUuid: "
|
|
92
|
-
sellerId: "
|
|
91
|
+
productUuid: "ee68e2-d038-f433-e421-d053af38c887", // token gated no variations
|
|
92
|
+
sellerId: "33",
|
|
93
93
|
metaTx: {
|
|
94
94
|
apiKey: process.env.STORYBOOK_DATA_META_TX_API_KEY as string,
|
|
95
95
|
apiIds: process.env.STORYBOOK_DATA_META_TX_API_IDS as string
|
|
@@ -114,7 +114,7 @@ CommitWithColorAndSizeVariations.args = {
|
|
|
114
114
|
...BASE_ARGS,
|
|
115
115
|
contactSellerForExchangeUrl: "https://bosonapp.io/#/chat/{id}",
|
|
116
116
|
fairExchangePolicyRules:
|
|
117
|
-
"ipfs://
|
|
117
|
+
"ipfs://QmPBjCyxLdYFGQRJnD1xfdtBTEUsviwJV5Y4ZN3rCBo2QQ",
|
|
118
118
|
ipfsGateway: process.env.STORYBOOK_DATA_IPFS_GATEWAY,
|
|
119
119
|
ipfsProjectId: process.env.STORYBOOK_DATA_IPFS_PROJECT_ID,
|
|
120
120
|
ipfsProjectSecret: process.env.STORYBOOK_DATA_IPFS_PROJECT_SECRET,
|
|
@@ -122,8 +122,8 @@ CommitWithColorAndSizeVariations.args = {
|
|
|
122
122
|
defaultSelectedOfferId: "",
|
|
123
123
|
disableVariationsSelects: false,
|
|
124
124
|
bundleUuid: "",
|
|
125
|
-
productUuid: "
|
|
126
|
-
sellerId: "
|
|
125
|
+
productUuid: "f4bb0f8-2f2c-d151-2801-0d3c6250461", // with color and size variations
|
|
126
|
+
sellerId: "20",
|
|
127
127
|
metaTx: {
|
|
128
128
|
apiKey: process.env.STORYBOOK_DATA_META_TX_API_KEY as string,
|
|
129
129
|
apiIds: process.env.STORYBOOK_DATA_META_TX_API_IDS as string
|
|
@@ -151,7 +151,7 @@ CommitTokenGated_ERC721.args = {
|
|
|
151
151
|
defaultCurrencyTicker: "USD",
|
|
152
152
|
contactSellerForExchangeUrl: "https://bosonapp.io/#/chat/{id}",
|
|
153
153
|
fairExchangePolicyRules:
|
|
154
|
-
"ipfs://
|
|
154
|
+
"ipfs://QmPBjCyxLdYFGQRJnD1xfdtBTEUsviwJV5Y4ZN3rCBo2QQ",
|
|
155
155
|
ipfsGateway: process.env.STORYBOOK_DATA_IPFS_GATEWAY,
|
|
156
156
|
ipfsProjectId: process.env.STORYBOOK_DATA_IPFS_PROJECT_ID,
|
|
157
157
|
ipfsProjectSecret: process.env.STORYBOOK_DATA_IPFS_PROJECT_SECRET,
|
|
@@ -159,8 +159,8 @@ CommitTokenGated_ERC721.args = {
|
|
|
159
159
|
defaultSelectedOfferId: "",
|
|
160
160
|
disableVariationsSelects: false,
|
|
161
161
|
bundleUuid: "",
|
|
162
|
-
productUuid: "
|
|
163
|
-
sellerId: "
|
|
162
|
+
productUuid: "5366841-ded3-b381-0d8-1536bc1d83a4",
|
|
163
|
+
sellerId: "2",
|
|
164
164
|
metaTx: {
|
|
165
165
|
apiKey: process.env.STORYBOOK_DATA_META_TX_API_KEY as string,
|
|
166
166
|
apiIds: process.env.STORYBOOK_DATA_META_TX_API_IDS as string
|
|
@@ -188,7 +188,7 @@ CommitTokenGated_ERC721_2.args = {
|
|
|
188
188
|
defaultCurrencyTicker: "USD",
|
|
189
189
|
contactSellerForExchangeUrl: "https://bosonapp.io/#/chat/{id}",
|
|
190
190
|
fairExchangePolicyRules:
|
|
191
|
-
"ipfs://
|
|
191
|
+
"ipfs://QmPBjCyxLdYFGQRJnD1xfdtBTEUsviwJV5Y4ZN3rCBo2QQ",
|
|
192
192
|
ipfsGateway: process.env.STORYBOOK_DATA_IPFS_GATEWAY,
|
|
193
193
|
ipfsProjectId: process.env.STORYBOOK_DATA_IPFS_PROJECT_ID,
|
|
194
194
|
ipfsProjectSecret: process.env.STORYBOOK_DATA_IPFS_PROJECT_SECRET,
|
|
@@ -225,7 +225,7 @@ CommitTokenGated_ERC1155.args = {
|
|
|
225
225
|
defaultCurrencyTicker: "USD",
|
|
226
226
|
contactSellerForExchangeUrl: "https://bosonapp.io/#/chat/{id}",
|
|
227
227
|
fairExchangePolicyRules:
|
|
228
|
-
"ipfs://
|
|
228
|
+
"ipfs://QmPBjCyxLdYFGQRJnD1xfdtBTEUsviwJV5Y4ZN3rCBo2QQ",
|
|
229
229
|
ipfsGateway: process.env.STORYBOOK_DATA_IPFS_GATEWAY,
|
|
230
230
|
ipfsProjectId: process.env.STORYBOOK_DATA_IPFS_PROJECT_ID,
|
|
231
231
|
ipfsProjectSecret: process.env.STORYBOOK_DATA_IPFS_PROJECT_SECRET,
|
|
@@ -233,8 +233,8 @@ CommitTokenGated_ERC1155.args = {
|
|
|
233
233
|
defaultSelectedOfferId: "",
|
|
234
234
|
disableVariationsSelects: false,
|
|
235
235
|
bundleUuid: "",
|
|
236
|
-
productUuid: "
|
|
237
|
-
sellerId: "
|
|
236
|
+
productUuid: "5b60fd-de6d-f33-db11-7c70e20bb70e", // token gated 1155
|
|
237
|
+
sellerId: "6",
|
|
238
238
|
metaTx: {
|
|
239
239
|
apiKey: process.env.STORYBOOK_DATA_META_TX_API_KEY as string,
|
|
240
240
|
apiIds: process.env.STORYBOOK_DATA_META_TX_API_IDS as string
|
|
@@ -262,7 +262,7 @@ CommitBundle.args = {
|
|
|
262
262
|
defaultCurrencyTicker: "USD",
|
|
263
263
|
contactSellerForExchangeUrl: "https://bosonapp.io/#/chat/{id}",
|
|
264
264
|
fairExchangePolicyRules:
|
|
265
|
-
"ipfs://
|
|
265
|
+
"ipfs://QmPBjCyxLdYFGQRJnD1xfdtBTEUsviwJV5Y4ZN3rCBo2QQ",
|
|
266
266
|
ipfsGateway: process.env.STORYBOOK_DATA_IPFS_GATEWAY,
|
|
267
267
|
ipfsProjectId: process.env.STORYBOOK_DATA_IPFS_PROJECT_ID,
|
|
268
268
|
ipfsProjectSecret: process.env.STORYBOOK_DATA_IPFS_PROJECT_SECRET,
|