+
)}
{defaultBlockTime !== undefined && (
-
- {defaultBlockTime === 0
- ? "No default value"
- : `Default value: ${defaultBlockTime} ms`}
+
+ {defaultBlockTime === 0 ? 'No default value' : `Default value: ${defaultBlockTime} ms`}
)}
-
+
-
}
disabled={!isBlockRangeValid || isLoading || isDefaultLoading}
loading={isLoading}
- htmlType='submit'>
+ htmlType="submit"
+ >
Calculate Average Block Time
Results:
-
+
)
}
diff --git a/src/components/BlockAuthor/BlockAuthor.less b/src/components/BlockAuthor/BlockAuthor.less
index 3819c7b..4b61d21 100644
--- a/src/components/BlockAuthor/BlockAuthor.less
+++ b/src/components/BlockAuthor/BlockAuthor.less
@@ -37,11 +37,11 @@
.fill-start-block-btn,
.reset-block-time-btn {
- background-color: #FFE3F1;
+ background-color: #ffe3f1;
border-color: #444444;
&:disabled {
border-color: inherit;
}
}
-}
\ No newline at end of file
+}
diff --git a/src/components/BlockAuthor/BlockAuthor.tsx b/src/components/BlockAuthor/BlockAuthor.tsx
index 1016fa4..d7800c8 100644
--- a/src/components/BlockAuthor/BlockAuthor.tsx
+++ b/src/components/BlockAuthor/BlockAuthor.tsx
@@ -1,24 +1,11 @@
-import { BarChartOutlined, CaretRightOutlined } from "@ant-design/icons"
-import {
- Button,
- Col,
- Collapse,
- Form,
- InputNumber,
- List,
- message,
- Row,
- Select,
- Space,
- Spin,
- Table,
-} from "antd"
-import React, { useContext, useEffect, useState } from "react"
-import { useAppSelector } from "../../store/hooks"
-import { PolkadotNetwork } from "../../types"
-import { estimateStartBlockNumber, findAuthorName, getExpectedBlockTime } from "../../utils/UtilsFunctions"
-import { ApiContext, ApiContextData, connectToApi } from "../utils/ApiProvider"
-import "./BlockAuthor.less"
+import { BarChartOutlined, CaretRightOutlined } from '@ant-design/icons'
+import { Button, Col, Collapse, Form, InputNumber, List, message, Row, Select, Space, Spin, Table } from 'antd'
+import React, { useContext, useEffect, useState } from 'react'
+import { useAppSelector } from '../../store/hooks'
+import { PolkadotNetwork } from '../../types'
+import { estimateStartBlockNumber, findAuthorName, getExpectedBlockTime } from '../../utils/UtilsFunctions'
+import { ApiContext, ApiContextData, connectToApi } from '../utils/ApiProvider'
+import './BlockAuthor.less'
interface BlockAuthorFormValues {
startBlock: number
@@ -40,8 +27,8 @@ interface BlockInfo {
function BlockAuthor(): React.ReactElement {
const { apiConnections, apiStatus } = useContext
(ApiContext)
const [formBlocks] = Form.useForm()
- const addresses = useAppSelector(state => state.address.list)
- const config = useAppSelector(state => state.config)
+ const addresses = useAppSelector((state) => state.address.list)
+ const config = useAppSelector((state) => state.config)
const [results, setResults] = useState>([])
const [isDefaultLoading, setIsDefaultLoading] = useState(false)
const [defaultBlockTime, setDefaultBlockTime] = useState()
@@ -55,18 +42,12 @@ function BlockAuthor(): React.ReactElement {
const loadDefaults = async (overwriteValues = false) => {
try {
setIsDefaultLoading(true)
- const selectedChain = formBlocks.getFieldValue("chain")
+ const selectedChain = formBlocks.getFieldValue('chain')
- const network = config.networks.find(
- auxNetwork => auxNetwork.networkName === selectedChain
- )
+ const network = config.networks.find((auxNetwork) => auxNetwork.networkName === selectedChain)
// Get default block time
- const auxApi = await connectToApi(
- apiConnections,
- apiStatus,
- network || ({} as PolkadotNetwork)
- )
+ const auxApi = await connectToApi(apiConnections, apiStatus, network || ({} as PolkadotNetwork))
const timeMs = getExpectedBlockTime(auxApi)
@@ -74,19 +55,13 @@ function BlockAuthor(): React.ReactElement {
const latestBlock = await auxApi.rpc.chain.getHeader()
const currentBlockNumber = latestBlock.number.toNumber()
- if (
- timeMs &&
- (overwriteValues || !formBlocks.getFieldValue("expectedBlockTime"))
- ) {
+ if (timeMs && (overwriteValues || !formBlocks.getFieldValue('expectedBlockTime'))) {
formBlocks.setFieldsValue({
expectedBlockTime: timeMs,
})
}
- if (
- currentBlockNumber &&
- (overwriteValues || !formBlocks.getFieldValue("endBlock"))
- ) {
+ if (currentBlockNumber && (overwriteValues || !formBlocks.getFieldValue('endBlock'))) {
formBlocks.setFieldsValue({
endBlock: currentBlockNumber,
})
@@ -95,7 +70,7 @@ function BlockAuthor(): React.ReactElement {
setIsDefaultLoading(false)
} catch (err) {
console.log(err)
- message.error("An error ocurred when trying to load end block.")
+ message.error('An error ocurred when trying to load end block.')
setIsDefaultLoading(false)
}
}
@@ -104,23 +79,20 @@ function BlockAuthor(): React.ReactElement {
loadDefaults(true)
}
- const checkBlockRange = (
- changedValues: Record,
- values: BlockAuthorFormValues
- ) => {
+ const checkBlockRange = (changedValues: Record, values: BlockAuthorFormValues) => {
// Validate that start block is less than or equal to end block
if (changedValues && Number(values.startBlock) > Number(values.endBlock)) {
setIsBlockRangeValid(false)
formBlocks.setFields([
{
- name: "startBlock",
+ name: 'startBlock',
value: values.startBlock,
- errors: ["Start Block must be less than or equal to End Block"],
+ errors: ['Start Block must be less than or equal to End Block'],
},
{
- name: "endBlock",
+ name: 'endBlock',
value: values.endBlock,
- errors: ["End Block must be greater than or equal to Start Block"],
+ errors: ['End Block must be greater than or equal to Start Block'],
},
])
} else {
@@ -135,23 +107,16 @@ function BlockAuthor(): React.ReactElement {
}
const fillStartBlock = (hours = 0, days = 0, weeks = 0, months = 0) => {
- const endBlock = formBlocks.getFieldValue("endBlock")
- const expectedBlockTime = formBlocks.getFieldValue("expectedBlockTime")
+ const endBlock = formBlocks.getFieldValue('endBlock')
+ const expectedBlockTime = formBlocks.getFieldValue('expectedBlockTime')
if (!endBlock || !expectedBlockTime) {
- message.error("Please set End block and Expected block time")
+ message.error('Please set End block and Expected block time')
return
}
formBlocks.setFieldsValue({
- startBlock: estimateStartBlockNumber(
- endBlock,
- expectedBlockTime,
- hours,
- days,
- weeks,
- months
- ),
+ startBlock: estimateStartBlockNumber(endBlock, expectedBlockTime, hours, days, weeks, months),
})
setIsBlockRangeValid(true)
@@ -171,9 +136,7 @@ function BlockAuthor(): React.ReactElement {
setIsLoading(true)
- const auxNetwork = config.networks.find(
- auxNetwork => auxNetwork.networkName === chain
- )
+ const auxNetwork = config.networks.find((auxNetwork) => auxNetwork.networkName === chain)
if (!auxNetwork) return
@@ -186,13 +149,8 @@ function BlockAuthor(): React.ReactElement {
let promiseCount = 0
const allowedParallel = 10
let promises = []
- while (
- promiseCount < allowedParallel &&
- loadedUntil + promiseCount <= endBlock
- ) {
- promises.push(
- auxApi.rpc.chain.getBlockHash(loadedUntil + promiseCount)
- )
+ while (promiseCount < allowedParallel && loadedUntil + promiseCount <= endBlock) {
+ promises.push(auxApi.rpc.chain.getBlockHash(loadedUntil + promiseCount))
promiseCount += 1
}
const newHashes = await Promise.all(promises)
@@ -231,7 +189,7 @@ function BlockAuthor(): React.ReactElement {
setIsLoading(false)
} catch (err) {
console.log(err)
- message.error("An error ocurred when loading block data.")
+ message.error('An error ocurred when loading block data.')
setIsLoading(false)
}
}
@@ -239,7 +197,7 @@ function BlockAuthor(): React.ReactElement {
const renderAuthor = (row: BlockAuthorResult) => {
return (
<>
- {row.authorName && {row.authorName}
}
+ {row.authorName && {row.authorName}
}
{row.authorAddress}
>
)
@@ -247,22 +205,14 @@ function BlockAuthor(): React.ReactElement {
const renderBlocks = (row: BlockAuthorResult) => {
return (
- (
-
- )}>
-
+ }>
+
(
+ renderItem={(item) => (
- {item.number} -{" "}
- {item.hash}
+ {item.number} - {item.hash}
)}
/>
@@ -273,135 +223,129 @@ function BlockAuthor(): React.ReactElement {
const columns = [
{
- title: "Author",
- key: "author",
+ title: 'Author',
+ key: 'author',
render: renderAuthor,
},
{
- title: "Number of Blocks",
- key: "numberOfBlocks",
+ title: 'Number of Blocks',
+ key: 'numberOfBlocks',
render: renderBlocks,
},
]
return (
-