diff --git a/package.json b/package.json
index 5d153fb47..d63f8afaa 100644
--- a/package.json
+++ b/package.json
@@ -21,7 +21,7 @@
"@sentry/react": "^7.57.0",
"@subql/apollo-links": "^1.3.0",
"@subql/components": "1.0.3-27",
- "@subql/contract-sdk": "0.114.0",
+ "@subql/contract-sdk": "0.115.0",
"@subql/network-clients": "^0.114.0",
"@subql/network-config": "^0.114.1-0",
"@subql/network-query": "0.112.1-2",
diff --git a/src/pages/consumer/MyOffers/MyOffers.tsx b/src/pages/consumer/MyOffers/MyOffers.tsx
index 9b3f7f053..a715f6a4a 100644
--- a/src/pages/consumer/MyOffers/MyOffers.tsx
+++ b/src/pages/consumer/MyOffers/MyOffers.tsx
@@ -26,6 +26,8 @@ import {
useGetOwnOpenOffersLazyQuery,
} from '@subql/react-hooks';
import { ROUTES, URLS } from '@utils';
+import { EVENT_TYPE, EventBus } from '@utils/eventBus';
+import { retry } from '@utils/retry';
import dayjs from 'dayjs';
import i18next from 'i18next';
@@ -152,10 +154,24 @@ export const MyOffers: React.FC = () => {
const requiresTokenApproval = offerAllowance.result.data?.isZero();
const offers = useGetOfferCountQuery({
variables: { consumer: account ?? '' },
+ fetchPolicy: 'network-only',
});
const title = match?.pathname ? t('myOffers.createOffer') : t('myOffers.title');
+ React.useEffect(() => {
+ const refresh = () => {
+ retry(() => {
+ offers.refetch();
+ });
+ };
+ EventBus.on(EVENT_TYPE.CREATED_CONSUMER_OFFER, refresh);
+
+ return () => {
+ EventBus.off(EVENT_TYPE.CREATED_CONSUMER_OFFER, refresh);
+ };
+ }, []);
+
return renderAsync(offers, {
loading: () => ,
error: (e) => {`Failed to load offers: ${e}`},
diff --git a/src/pages/consumer/OfferMarketplace/AcceptOffer.tsx b/src/pages/consumer/OfferMarketplace/AcceptOffer.tsx
index 4ac3570d3..c37d9ad01 100644
--- a/src/pages/consumer/OfferMarketplace/AcceptOffer.tsx
+++ b/src/pages/consumer/OfferMarketplace/AcceptOffer.tsx
@@ -196,7 +196,12 @@ export const AcceptOffer: React.FC = ({ deployment, offer, requiredBlockH
description: 'Please confirm your metadata can be reach',
});
}
- return contracts.purchaseOfferMarket.acceptPurchaseOffer(offer?.id ?? '', deploymentMeta.data?.poiHash || '');
+
+ const tempMmrRoot = '0xab3921276c8067fe0c82def3e5ecfd8447f1961bc85768c2a56e6bd26d3c0c55';
+ return contracts.purchaseOfferMarket.acceptPurchaseOffer(
+ offer?.id ?? '',
+ deploymentMeta.data?.poiHash || tempMmrRoot,
+ );
};
return (
@@ -229,9 +234,6 @@ export const AcceptOffer: React.FC = ({ deployment, offer, requiredBlockH
status={deployment.status}
deploymentId={deployment.deploymentId}
proxyEndpoint={indexerMetadata.url ?? ''}
- offerId={offer?.id}
- rewardPerIndexer={offer?.deposit.toString()}
- planDuration={offer?.planTemplate?.period.toString()}
requiredBlockHeight={requiredBlockHeight}
onSubmit={onSubmit}
isLoading={isLoading}
diff --git a/src/pages/consumer/OfferMarketplace/CheckList.tsx b/src/pages/consumer/OfferMarketplace/CheckList.tsx
index 08c71b00d..3d9f55963 100644
--- a/src/pages/consumer/OfferMarketplace/CheckList.tsx
+++ b/src/pages/consumer/OfferMarketplace/CheckList.tsx
@@ -8,11 +8,10 @@ import { ServiceStatus } from '@subql/network-query';
import { AsyncMemoReturn, renderAsync } from '@subql/react-hooks';
import { Button, Typography } from 'antd';
import clsx from 'clsx';
-import dayjs from 'dayjs';
import { Spinner, Status as AppStatus } from '../../../components';
import { deploymentStatus } from '../../../components/Status/Status';
-import { COLORS, convertStringToNumber, formatEther, isUndefined, Metadata, parseError } from '../../../utils';
+import { COLORS, isUndefined, Metadata, parseError } from '../../../utils';
import styles from './AcceptOffer.module.css';
const RequirementCheckListTitle = () => {
@@ -86,9 +85,6 @@ interface ICheckList {
status: string | undefined;
deploymentId: string;
proxyEndpoint: string | undefined;
- offerId: string;
- planDuration: string | undefined;
- rewardPerIndexer: string;
requiredBlockHeight: number; //TODO: or should use bigInt?
onSubmit: (params: unknown) => void;
error?: unknown;
@@ -105,9 +101,6 @@ interface ICheckList {
export const CheckList: React.FC = ({
status,
requiredBlockHeight,
- offerId,
- rewardPerIndexer,
- planDuration,
onSubmit,
error,
isLoading,
@@ -118,8 +111,6 @@ export const CheckList: React.FC = ({
const REQUIRED_STATUS = ServiceStatus.READY;
const REQUIRED_BLOCKHEIGHT = requiredBlockHeight;
- const daysOfPlan = dayjs.duration(+(planDuration || 0), 'seconds').asDays();
- const REQUIRED_DAILY_REWARD_CAP = convertStringToNumber(formatEther(rewardPerIndexer)) / Math.ceil(daysOfPlan);
return renderAsync(deploymentMeta, {
loading: () => ,
diff --git a/yarn.lock b/yarn.lock
index 3ebca503a..93d9d4ace 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -4556,10 +4556,10 @@
string-width "4.2.3"
use-screen "^1.1.3"
-"@subql/contract-sdk@0.114.0":
- version "0.114.0"
- resolved "https://registry.npmjs.org/@subql/contract-sdk/-/contract-sdk-0.114.0.tgz#b3c4f43f35ed680321f082371c7d4268187e9990"
- integrity sha512-jnlN4w7pNl7beCzG112Dk/7vxX9n1mdPvaGVNUUeQmpl4aEdSv9Z1B4YD6Wq0dezFejTsrGCkNo5IPZPBlLu0Q==
+"@subql/contract-sdk@0.115.0":
+ version "0.115.0"
+ resolved "https://registry.npmjs.org/@subql/contract-sdk/-/contract-sdk-0.115.0.tgz#16e787a6630e97e676521b2174d41e19115b5f75"
+ integrity sha512-F58qy0cBqAM3KNgcDfa1IWPIe/SUEGTmAU44SGR/8ru2YxT8Ws7oFMMNDhsXelNq27/P4MK99P5WxSCTyhctMw==
"@subql/network-clients@^0.114.0":
version "0.114.0"