Skip to content

Commit

Permalink
Fix: updated parsing for brokerConfig and brokerSalesInfo (#10926)
Browse files Browse the repository at this point in the history
* updated parsing for brokerConfig and brokerSalesInfo

* renamed file

* updated parsing for brokerConfig and brokerSalesInfo

* better type conversion for BN

* BN type change

* lint
  • Loading branch information
piggydoughnut committed Sep 18, 2024
1 parent cf06259 commit f98eb76
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 62 deletions.
22 changes: 9 additions & 13 deletions packages/react-hooks/src/useBrokerConfig.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,20 +8,16 @@ import { useEffect, useState } from 'react';

import { createNamedHook, useApi, useCall } from '@polkadot/react-hooks';

import { stringToBN } from './utils/dataProcessing.js';

function parseConfig (config: PalletBrokerConfigRecord): SimplifiedPalletBrokerConfigRecord {
const c = config.toJSON();

return {
advanceNotice: c.advanceNotice as number,
contributionTimeout: c.contributionTimeout as number,
idealBulkProportion: stringToBN(c.idealBulkProportion?.toString()),
interludeLength: c.interludeLength as number,
leadinLength: c.leadinLength as number,
limitCoresOffered: c.limitCoresOffered as number,
regionLength: c.regionLength as number,
renewalBump: stringToBN(c.renewalBump?.toString())
advanceNotice: config.advanceNotice.toNumber(),
contributionTimeout: config.contributionTimeout.toNumber(),
idealBulkProportion: config.idealBulkProportion,
interludeLength: config.interludeLength.toNumber(),
leadinLength: config.leadinLength.toNumber(),
limitCoresOffered: config.limitCoresOffered.isSome ? config.limitCoresOffered.unwrap().toNumber() : 0,
regionLength: config.regionLength.toNumber(),
renewalBump: config.renewalBump
};
}

Expand All @@ -33,7 +29,7 @@ function useBrokerConfigImpl () {
const [state, setState] = useState<SimplifiedPalletBrokerConfigRecord>();

useEffect((): void => {
config &&
!!config && !!config.toJSON() &&
setState(
parseConfig(config)
);
Expand Down
44 changes: 44 additions & 0 deletions packages/react-hooks/src/useBrokerSalesInfo.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
// Copyright 2017-2024 @polkadot/react-hooks authors & contributors
// SPDX-License-Identifier: Apache-2.0

import type { PalletBrokerSaleInfoRecord } from '@polkadot/types/lookup';
import type { PalletBrokerSaleInfoRecord as SimplifiedPalletBrokerSaleInfoRecord } from './types.js';

import { useEffect, useState } from 'react';

import { createNamedHook, useApi, useCall } from '@polkadot/react-hooks';
import { BN } from '@polkadot/util';

function parsePalletBrokerSaleInfoRecord (record: PalletBrokerSaleInfoRecord): SimplifiedPalletBrokerSaleInfoRecord {
return {
coresOffered: record.coresOffered.toNumber(),
coresSold: record.coresSold.toNumber(),
endPrice: record.endPrice,
firstCore: record.firstCore.toNumber(),
idealCoresSold: record.idealCoresSold.toNumber(),
leadinLength: record.leadinLength.toNumber(),
regionBegin: record.regionBegin.toNumber(),
regionEnd: record.regionEnd.toNumber(),
saleStart: record.saleStart.toNumber(),
selloutPrice: record.selloutPrice.isSome ? record.selloutPrice.unwrap() : new BN(0)
};
}

function useBrokerSalesInfoImpl () {
const { api, isApiReady } = useApi();

const record = useCall<PalletBrokerSaleInfoRecord>(isApiReady && api.query.broker.saleInfo);

const [state, setState] = useState<SimplifiedPalletBrokerSaleInfoRecord | undefined>();

useEffect((): void => {
!!record && !!record.toJSON() &&
setState(
parsePalletBrokerSaleInfoRecord(record)
);
}, [record]);

return state;
}

export const useBrokerSalesInfo = createNamedHook('useBrokerSalesInfo', useBrokerSalesInfoImpl);
49 changes: 0 additions & 49 deletions packages/react-hooks/src/useBrokerSalesInfo.tsx

This file was deleted.

0 comments on commit f98eb76

Please sign in to comment.