From ad75f08c43c2c16216f771b03165172f070d973c Mon Sep 17 00:00:00 2001 From: Justin Starry Date: Wed, 24 Jun 2020 16:07:47 +0800 Subject: [PATCH] chore: run latest prettier --- explorer/config-overrides.js | 6 +- explorer/src/App.tsx | 18 +- explorer/src/components/AccountDetails.tsx | 10 +- explorer/src/components/AccountsCard.tsx | 12 +- explorer/src/components/ClusterModal.tsx | 12 +- .../src/components/ClusterStatusButton.tsx | 2 +- explorer/src/components/Copyable.tsx | 2 +- explorer/src/components/InfoTooltip.tsx | 2 +- explorer/src/components/TabbedPage.tsx | 4 +- explorer/src/components/TopAccountsCard.tsx | 12 +- .../src/components/TransactionDetails.tsx | 10 +- explorer/src/components/TransactionsCard.tsx | 12 +- .../components/account/StakeAccountCards.tsx | 4 +- explorer/src/components/common/ErrorCard.tsx | 2 +- .../src/components/common/TableCardBody.tsx | 2 +- .../instruction/InstructionCard.tsx | 4 +- .../instruction/UnknownDetailsCard.tsx | 2 +- .../stake/AuthorizeDetailsCard.tsx | 2 +- .../stake/DeactivateDetailsCard.tsx | 2 +- .../instruction/stake/DelegateDetailsCard.tsx | 2 +- .../stake/InitializeDetailsCard.tsx | 2 +- .../instruction/stake/SplitDetailsCard.tsx | 2 +- .../instruction/stake/StakeDetailsCard.tsx | 2 +- .../instruction/stake/WithdrawDetailsCard.tsx | 2 +- .../system/AllocateDetailsCard.tsx | 2 +- .../system/AllocateWithSeedDetailsCard.tsx | 2 +- .../instruction/system/AssignDetailsCard.tsx | 2 +- .../system/AssignWithSeedDetailsCard.tsx | 2 +- .../instruction/system/CreateDetailsCard.tsx | 2 +- .../system/CreateWithSeedDetailsCard.tsx | 2 +- .../system/NonceAdvanceDetailsCard.tsx | 2 +- .../system/NonceAuthorizeDetailsCard.tsx | 2 +- .../system/NonceInitializeDetailsCard.tsx | 2 +- .../system/NonceWithdrawDetailsCard.tsx | 2 +- .../instruction/system/SystemDetailsCard.tsx | 2 +- .../system/TransferDetailsCard.tsx | 2 +- explorer/src/fonts/feather/feather.css | 1644 ++++++++--------- explorer/src/providers/accounts/history.tsx | 22 +- .../src/providers/accounts/historyManager.ts | 8 +- explorer/src/providers/accounts/index.tsx | 34 +- explorer/src/providers/cluster.tsx | 14 +- explorer/src/providers/richList.tsx | 8 +- explorer/src/providers/supply.tsx | 4 +- explorer/src/providers/transactions/cached.ts | 116 +- .../src/providers/transactions/details.tsx | 22 +- explorer/src/providers/transactions/index.tsx | 46 +- explorer/src/serviceWorker.ts | 14 +- explorer/src/utils/date.ts | 4 +- explorer/src/utils/tx.ts | 8 +- explorer/src/utils/url.ts | 4 +- 50 files changed, 1055 insertions(+), 1047 deletions(-) diff --git a/explorer/config-overrides.js b/explorer/config-overrides.js index 6d27645b41..3ec37c8916 100644 --- a/explorer/config-overrides.js +++ b/explorer/config-overrides.js @@ -5,8 +5,8 @@ module.exports = function override(config, env) { config.resolve.extensions.push(".wasm"); - config.module.rules.forEach(rule => { - (rule.oneOf || []).forEach(oneOf => { + config.module.rules.forEach((rule) => { + (rule.oneOf || []).forEach((oneOf) => { if (oneOf.loader && oneOf.loader.indexOf("file-loader") >= 0) { // Make file-loader ignore WASM files oneOf.exclude.push(wasmExtensionRegExp); @@ -18,7 +18,7 @@ module.exports = function override(config, env) { config.module.rules.push({ test: wasmExtensionRegExp, include: path.resolve(__dirname, "src"), - use: [{ loader: require.resolve("wasm-loader"), options: {} }] + use: [{ loader: require.resolve("wasm-loader"), options: {} }], }); return config; diff --git a/explorer/src/App.tsx b/explorer/src/App.tsx index e55f7299a1..aa55ec2707 100644 --- a/explorer/src/App.tsx +++ b/explorer/src/App.tsx @@ -24,7 +24,10 @@ function App() {
({ ...pickCluster(location), pathname: "/" })} + to={(location) => ({ + ...pickCluster(location), + pathname: "/", + })} > Solana Explorer @@ -49,14 +52,14 @@ function App() { > [tx, tx + "s"]).map( - tx => `/${tx}/:signature` + path={TX_ALIASES.flatMap((tx) => [tx, tx + "s"]).map( + (tx) => `/${tx}/:signature` )} render={({ match }) => ( )} /> - `/${tx}s`)}> + `/${tx}s`)}> @@ -64,13 +67,16 @@ function App() { `/${account}/:address` + (account) => `/${account}/:address` )} render={({ match }) => ( )} /> - "/" + alias)}> + "/" + alias)} + > diff --git a/explorer/src/components/AccountDetails.tsx b/explorer/src/components/AccountDetails.tsx index 81de987028..d6ec9bcc99 100644 --- a/explorer/src/components/AccountDetails.tsx +++ b/explorer/src/components/AccountDetails.tsx @@ -9,7 +9,7 @@ import { useFetchAccountInfo, useAccountInfo, useAccountHistory, - Account + Account, } from "providers/accounts"; import { lamportsToSolString } from "utils"; import Copyable from "./Copyable"; @@ -50,8 +50,8 @@ export default function AccountDetails({ address }: Props) { setSearch(e.target.value)} - onKeyUp={e => e.key === "Enter" && updateAddress()} + onChange={(e) => setSearch(e.target.value)} + onKeyUp={(e) => e.key === "Enter" && updateAddress()} className="form-control form-control-prepended search text-monospace" placeholder="Search for address" /> @@ -252,9 +252,9 @@ function HistoryCard({ pubkey }: { pubkey: PublicKey }) { ({ + to={(location) => ({ ...location, - pathname: "/tx/" + signature + pathname: "/tx/" + signature, })} className="btn btn-rounded-circle btn-white btn-sm" > diff --git a/explorer/src/components/AccountsCard.tsx b/explorer/src/components/AccountsCard.tsx index 981cb51df6..7439a026c3 100644 --- a/explorer/src/components/AccountsCard.tsx +++ b/explorer/src/components/AccountsCard.tsx @@ -4,7 +4,7 @@ import { useAccounts, Account, FetchStatus, - useFetchAccountInfo + useFetchAccountInfo, } from "../providers/accounts"; import { assertUnreachable } from "../utils"; import { displayAddress } from "../utils/tx"; @@ -68,10 +68,10 @@ function AccountsCard() { setError("")} - onKeyDown={e => + onKeyDown={(e) => e.keyCode === 13 && onNew(e.currentTarget.value) } - onSubmit={e => onNew(e.currentTarget.value)} + onSubmit={(e) => onNew(e.currentTarget.value)} ref={addressInput} className={`form-control text-address text-monospace ${ error ? "is-invalid" : "" @@ -85,7 +85,7 @@ function AccountsCard() { - - {accounts.map(account => renderAccountRow(account))} + {accounts.map((account) => renderAccountRow(account))}
@@ -172,9 +172,9 @@ const renderAccountRow = (account: Account) => { ({ + to={(location) => ({ ...location, - pathname: "/account/" + base58AccountPubkey + pathname: "/account/" + base58AccountPubkey, })} className="btn btn-rounded-circle btn-white btn-sm" > diff --git a/explorer/src/components/ClusterModal.tsx b/explorer/src/components/ClusterModal.tsx index af693d0579..58fb77f247 100644 --- a/explorer/src/components/ClusterModal.tsx +++ b/explorer/src/components/ClusterModal.tsx @@ -11,7 +11,7 @@ import { CLUSTERS, Cluster, useClusterModal, - useUpdateCustomUrl + useUpdateCustomUrl, } from "../providers/cluster"; import { assertUnreachable } from "../utils"; import Overlay from "./Overlay"; @@ -28,7 +28,7 @@ function ClusterModal() { >
-
e.stopPropagation()}> +
e.stopPropagation()}> × @@ -62,7 +62,7 @@ function CustomClusterInput({ activeSuffix, active }: InputProps) { if (customUrl.length > 0) query.set("cluster", "custom"); return { ...location, - search: query.toString() + search: query.toString(), }; }; @@ -77,7 +77,7 @@ function CustomClusterInput({ activeSuffix, active }: InputProps) { const inputTextClass = editing ? "" : "text-muted"; return ( clusterLocation(location)} + to={(location) => clusterLocation(location)} className="btn input-group input-group-merge p-0" > setEditing(true)} onBlur={() => setEditing(false)} - onInput={e => onUrlInput(e.currentTarget.value)} + onInput={(e) => onUrlInput(e.currentTarget.value)} />
@@ -144,7 +144,7 @@ function ClusterToggle() { } return { ...location, - search: params.toString() + search: params.toString(), }; }; diff --git a/explorer/src/components/ClusterStatusButton.tsx b/explorer/src/components/ClusterStatusButton.tsx index 89d026060c..637a61e48c 100644 --- a/explorer/src/components/ClusterStatusButton.tsx +++ b/explorer/src/components/ClusterStatusButton.tsx @@ -3,7 +3,7 @@ import { useCluster, ClusterStatus, Cluster } from "../providers/cluster"; function ClusterStatusButton({ onClick, - expand + expand, }: { onClick: () => void; expand?: boolean; diff --git a/explorer/src/components/Copyable.tsx b/explorer/src/components/Copyable.tsx index fe2f84c9ef..8d29e26d55 100644 --- a/explorer/src/components/Copyable.tsx +++ b/explorer/src/components/Copyable.tsx @@ -12,7 +12,7 @@ type State = "hide" | "copy" | "copied"; function Popover({ state, bottom, - right + right, }: { state: State; bottom?: boolean; diff --git a/explorer/src/components/InfoTooltip.tsx b/explorer/src/components/InfoTooltip.tsx index 1f0e648e27..cc0ea40c82 100644 --- a/explorer/src/components/InfoTooltip.tsx +++ b/explorer/src/components/InfoTooltip.tsx @@ -13,7 +13,7 @@ function Popover({ state, bottom, right, - text + text, }: { state: State; bottom?: boolean; diff --git a/explorer/src/components/TabbedPage.tsx b/explorer/src/components/TabbedPage.tsx index feb3978786..37a16a3d08 100644 --- a/explorer/src/components/TabbedPage.tsx +++ b/explorer/src/components/TabbedPage.tsx @@ -52,7 +52,7 @@ export default function TabbedPage({ children, tab }: Props) { function NavLink({ href, tab, - current + current, }: { href: string; tab: Tab; @@ -65,7 +65,7 @@ function NavLink({ return ( ({ ...pickCluster(location), pathname: href })} + to={(location) => ({ ...pickCluster(location), pathname: href })} className={classes} > {tab} diff --git a/explorer/src/components/TopAccountsCard.tsx b/explorer/src/components/TopAccountsCard.tsx index 6618b8c36b..f114648491 100644 --- a/explorer/src/components/TopAccountsCard.tsx +++ b/explorer/src/components/TopAccountsCard.tsx @@ -77,7 +77,7 @@ export default function TopAccountsCard() {
setDropdown(show => !show)} + toggle={() => setDropdown((show) => !show)} show={showDropdown} />
@@ -127,9 +127,9 @@ const renderAccountRow = ( {`${((100 * account.lamports) / supply).toFixed(3)}%`} ({ + to={(location) => ({ ...location, - pathname: "/account/" + base58AccountPubkey + pathname: "/account/" + base58AccountPubkey, })} className="btn btn-rounded-circle btn-white btn-sm" > @@ -185,7 +185,7 @@ const FilterDropdown = ({ filter, toggle, show }: DropdownProps) => { } return { ...location, - search: params.toString() + search: params.toString(), }; }; @@ -202,11 +202,11 @@ const FilterDropdown = ({ filter, toggle, show }: DropdownProps) => {
- {FILTERS.map(filterOption => { + {FILTERS.map((filterOption) => { return ( buildLocation(location, filterOption)} + to={(location) => buildLocation(location, filterOption)} className={`dropdown-item${ filterOption === filter ? " active" : "" }`} diff --git a/explorer/src/components/TransactionDetails.tsx b/explorer/src/components/TransactionDetails.tsx index abde935021..a559c1f566 100644 --- a/explorer/src/components/TransactionDetails.tsx +++ b/explorer/src/components/TransactionDetails.tsx @@ -3,7 +3,7 @@ import { useFetchTransactionStatus, useTransactionStatus, useTransactionDetails, - FetchStatus + FetchStatus, } from "../providers/transactions"; import { useFetchTransactionDetails } from "providers/transactions/details"; import { useCluster, useClusterModal } from "providers/cluster"; @@ -11,7 +11,7 @@ import { TransactionSignature, SystemProgram, StakeProgram, - SystemInstruction + SystemInstruction, } from "@solana/web3.js"; import ClusterStatusButton from "components/ClusterStatusButton"; import { lamportsToSolString } from "utils"; @@ -49,8 +49,8 @@ export default function TransactionDetails({ signature }: Props) { setSearch(e.target.value)} - onKeyUp={e => e.key === "Enter" && updateSignature()} + onChange={(e) => setSearch(e.target.value)} + onKeyUp={(e) => e.key === "Enter" && updateSignature()} className="form-control form-control-prepended search text-monospace" placeholder="Search for signature" /> @@ -293,7 +293,7 @@ function AccountsCard({ signature }: Props) { {index < message.header.numRequiredSignatures && ( Signer )} - {message.instructions.find(ix => ix.programIdIndex === index) && ( + {message.instructions.find((ix) => ix.programIdIndex === index) && ( Program )} diff --git a/explorer/src/components/TransactionsCard.tsx b/explorer/src/components/TransactionsCard.tsx index 2265b77e60..22b81cbdda 100644 --- a/explorer/src/components/TransactionsCard.tsx +++ b/explorer/src/components/TransactionsCard.tsx @@ -4,7 +4,7 @@ import { useTransactions, TransactionStatus, FetchStatus, - useFetchTransactionStatus + useFetchTransactionStatus, } from "../providers/transactions"; import bs58 from "bs58"; import { assertUnreachable } from "../utils"; @@ -71,10 +71,10 @@ function TransactionsCard() { setError("")} - onKeyDown={e => + onKeyDown={(e) => e.keyCode === 13 && onNew(e.currentTarget.value) } - onSubmit={e => onNew(e.currentTarget.value)} + onSubmit={(e) => onNew(e.currentTarget.value)} ref={signatureInput} className={`form-control text-signature text-monospace ${ error ? "is-invalid" : "" @@ -87,7 +87,9 @@ function TransactionsCard() { - - {transactions.map(transaction => renderTransactionRow(transaction))} + {transactions.map((transaction) => + renderTransactionRow(transaction) + )}
@@ -162,7 +164,7 @@ const renderTransactionRow = (transactionStatus: TransactionStatus) => { {slotText} ({ ...location, pathname: "/tx/" + signature })} + to={(location) => ({ ...location, pathname: "/tx/" + signature })} className="btn btn-rounded-circle btn-white btn-sm" > diff --git a/explorer/src/components/account/StakeAccountCards.tsx b/explorer/src/components/account/StakeAccountCards.tsx index 9cd2feebd3..f63e8a9953 100644 --- a/explorer/src/components/account/StakeAccountCards.tsx +++ b/explorer/src/components/account/StakeAccountCards.tsx @@ -9,7 +9,7 @@ import { Account, useFetchAccountInfo } from "providers/accounts"; export function StakeAccountCards({ account, - stakeAccount + stakeAccount, }: { account: Account; stakeAccount: StakeAccount; @@ -40,7 +40,7 @@ function LockupCard({ stakeAccount }: { stakeAccount: StakeAccount }) { function OverviewCard({ account, - stakeAccount + stakeAccount, }: { account: Account; stakeAccount: StakeAccount; diff --git a/explorer/src/components/common/ErrorCard.tsx b/explorer/src/components/common/ErrorCard.tsx index bb788ff56c..d6675c277c 100644 --- a/explorer/src/components/common/ErrorCard.tsx +++ b/explorer/src/components/common/ErrorCard.tsx @@ -4,7 +4,7 @@ export default function ErrorCard({ retry, retryText, text, - subtext + subtext, }: { retry?: () => void; retryText?: string; diff --git a/explorer/src/components/common/TableCardBody.tsx b/explorer/src/components/common/TableCardBody.tsx index b2e35f2d13..faef8fc19a 100644 --- a/explorer/src/components/common/TableCardBody.tsx +++ b/explorer/src/components/common/TableCardBody.tsx @@ -1,7 +1,7 @@ import React from "react"; export default function TableCardBody({ - children + children, }: { children: React.ReactNode; }) { diff --git a/explorer/src/components/instruction/InstructionCard.tsx b/explorer/src/components/instruction/InstructionCard.tsx index 5e2ddfbc90..4fe4b552ce 100644 --- a/explorer/src/components/instruction/InstructionCard.tsx +++ b/explorer/src/components/instruction/InstructionCard.tsx @@ -17,7 +17,7 @@ export function InstructionCard({ result, index, ix, - defaultRaw + defaultRaw, }: InstructionProps) { const [resultClass] = ixResult(result, index); const [showRaw, setShowRaw] = React.useState(defaultRaw || false); @@ -36,7 +36,7 @@ export function InstructionCard({ className={`btn btn-sm d-flex ${ showRaw ? "btn-dark active" : "btn-white" }`} - onClick={() => setShowRaw(r => !r)} + onClick={() => setShowRaw((r) => !r)} > Raw diff --git a/explorer/src/components/instruction/UnknownDetailsCard.tsx b/explorer/src/components/instruction/UnknownDetailsCard.tsx index 33a3cacaf6..d50767c216 100644 --- a/explorer/src/components/instruction/UnknownDetailsCard.tsx +++ b/explorer/src/components/instruction/UnknownDetailsCard.tsx @@ -5,7 +5,7 @@ import { InstructionCard } from "./InstructionCard"; export function UnknownDetailsCard({ ix, index, - result + result, }: { ix: TransactionInstruction; index: number; diff --git a/explorer/src/components/instruction/stake/AuthorizeDetailsCard.tsx b/explorer/src/components/instruction/stake/AuthorizeDetailsCard.tsx index f38cc68ee2..4aec1e2f5f 100644 --- a/explorer/src/components/instruction/stake/AuthorizeDetailsCard.tsx +++ b/explorer/src/components/instruction/stake/AuthorizeDetailsCard.tsx @@ -3,7 +3,7 @@ import { TransactionInstruction, SignatureResult, StakeInstruction, - StakeProgram + StakeProgram, } from "@solana/web3.js"; import { displayAddress } from "utils/tx"; import { InstructionCard } from "../InstructionCard"; diff --git a/explorer/src/components/instruction/stake/DeactivateDetailsCard.tsx b/explorer/src/components/instruction/stake/DeactivateDetailsCard.tsx index 7a442e73f7..45b6ed8155 100644 --- a/explorer/src/components/instruction/stake/DeactivateDetailsCard.tsx +++ b/explorer/src/components/instruction/stake/DeactivateDetailsCard.tsx @@ -3,7 +3,7 @@ import { TransactionInstruction, SignatureResult, StakeInstruction, - StakeProgram + StakeProgram, } from "@solana/web3.js"; import { displayAddress } from "utils/tx"; import { InstructionCard } from "../InstructionCard"; diff --git a/explorer/src/components/instruction/stake/DelegateDetailsCard.tsx b/explorer/src/components/instruction/stake/DelegateDetailsCard.tsx index 9d55502329..3b8380a986 100644 --- a/explorer/src/components/instruction/stake/DelegateDetailsCard.tsx +++ b/explorer/src/components/instruction/stake/DelegateDetailsCard.tsx @@ -3,7 +3,7 @@ import { TransactionInstruction, SignatureResult, StakeInstruction, - StakeProgram + StakeProgram, } from "@solana/web3.js"; import { displayAddress } from "utils/tx"; import { InstructionCard } from "../InstructionCard"; diff --git a/explorer/src/components/instruction/stake/InitializeDetailsCard.tsx b/explorer/src/components/instruction/stake/InitializeDetailsCard.tsx index 99356fa266..a4459737e4 100644 --- a/explorer/src/components/instruction/stake/InitializeDetailsCard.tsx +++ b/explorer/src/components/instruction/stake/InitializeDetailsCard.tsx @@ -4,7 +4,7 @@ import { SignatureResult, StakeInstruction, StakeProgram, - SystemProgram + SystemProgram, } from "@solana/web3.js"; import { displayAddress } from "utils/tx"; import { InstructionCard } from "../InstructionCard"; diff --git a/explorer/src/components/instruction/stake/SplitDetailsCard.tsx b/explorer/src/components/instruction/stake/SplitDetailsCard.tsx index bcc4401b13..46d34d6277 100644 --- a/explorer/src/components/instruction/stake/SplitDetailsCard.tsx +++ b/explorer/src/components/instruction/stake/SplitDetailsCard.tsx @@ -3,7 +3,7 @@ import { TransactionInstruction, SignatureResult, StakeInstruction, - StakeProgram + StakeProgram, } from "@solana/web3.js"; import { displayAddress } from "utils/tx"; import { lamportsToSolString } from "utils"; diff --git a/explorer/src/components/instruction/stake/StakeDetailsCard.tsx b/explorer/src/components/instruction/stake/StakeDetailsCard.tsx index 84c6580c1d..d9e5e9e628 100644 --- a/explorer/src/components/instruction/stake/StakeDetailsCard.tsx +++ b/explorer/src/components/instruction/stake/StakeDetailsCard.tsx @@ -2,7 +2,7 @@ import React from "react"; import { StakeInstruction, TransactionInstruction, - SignatureResult + SignatureResult, } from "@solana/web3.js"; import { UnknownDetailsCard } from "../UnknownDetailsCard"; diff --git a/explorer/src/components/instruction/stake/WithdrawDetailsCard.tsx b/explorer/src/components/instruction/stake/WithdrawDetailsCard.tsx index e34e373120..a8dc68a416 100644 --- a/explorer/src/components/instruction/stake/WithdrawDetailsCard.tsx +++ b/explorer/src/components/instruction/stake/WithdrawDetailsCard.tsx @@ -3,7 +3,7 @@ import { TransactionInstruction, SignatureResult, StakeInstruction, - StakeProgram + StakeProgram, } from "@solana/web3.js"; import { lamportsToSolString } from "utils"; import { displayAddress } from "utils/tx"; diff --git a/explorer/src/components/instruction/system/AllocateDetailsCard.tsx b/explorer/src/components/instruction/system/AllocateDetailsCard.tsx index e3e58536f3..f51670d7e8 100644 --- a/explorer/src/components/instruction/system/AllocateDetailsCard.tsx +++ b/explorer/src/components/instruction/system/AllocateDetailsCard.tsx @@ -3,7 +3,7 @@ import { TransactionInstruction, SystemProgram, SignatureResult, - SystemInstruction + SystemInstruction, } from "@solana/web3.js"; import { displayAddress } from "utils/tx"; import { InstructionCard } from "../InstructionCard"; diff --git a/explorer/src/components/instruction/system/AllocateWithSeedDetailsCard.tsx b/explorer/src/components/instruction/system/AllocateWithSeedDetailsCard.tsx index ccea8e1a1e..45f535f27e 100644 --- a/explorer/src/components/instruction/system/AllocateWithSeedDetailsCard.tsx +++ b/explorer/src/components/instruction/system/AllocateWithSeedDetailsCard.tsx @@ -3,7 +3,7 @@ import { TransactionInstruction, SystemProgram, SignatureResult, - SystemInstruction + SystemInstruction, } from "@solana/web3.js"; import { displayAddress } from "utils/tx"; import { InstructionCard } from "../InstructionCard"; diff --git a/explorer/src/components/instruction/system/AssignDetailsCard.tsx b/explorer/src/components/instruction/system/AssignDetailsCard.tsx index 5c9c2fda19..5122239bba 100644 --- a/explorer/src/components/instruction/system/AssignDetailsCard.tsx +++ b/explorer/src/components/instruction/system/AssignDetailsCard.tsx @@ -3,7 +3,7 @@ import { TransactionInstruction, SystemProgram, SignatureResult, - SystemInstruction + SystemInstruction, } from "@solana/web3.js"; import { displayAddress } from "utils/tx"; import { InstructionCard } from "../InstructionCard"; diff --git a/explorer/src/components/instruction/system/AssignWithSeedDetailsCard.tsx b/explorer/src/components/instruction/system/AssignWithSeedDetailsCard.tsx index 9d2f2838cd..d53e97275f 100644 --- a/explorer/src/components/instruction/system/AssignWithSeedDetailsCard.tsx +++ b/explorer/src/components/instruction/system/AssignWithSeedDetailsCard.tsx @@ -3,7 +3,7 @@ import { TransactionInstruction, SystemProgram, SignatureResult, - SystemInstruction + SystemInstruction, } from "@solana/web3.js"; import { displayAddress } from "utils/tx"; import { InstructionCard } from "../InstructionCard"; diff --git a/explorer/src/components/instruction/system/CreateDetailsCard.tsx b/explorer/src/components/instruction/system/CreateDetailsCard.tsx index abc0fed312..0f6ef33dac 100644 --- a/explorer/src/components/instruction/system/CreateDetailsCard.tsx +++ b/explorer/src/components/instruction/system/CreateDetailsCard.tsx @@ -3,7 +3,7 @@ import { TransactionInstruction, SystemProgram, SignatureResult, - SystemInstruction + SystemInstruction, } from "@solana/web3.js"; import { lamportsToSolString } from "utils"; import { displayAddress } from "utils/tx"; diff --git a/explorer/src/components/instruction/system/CreateWithSeedDetailsCard.tsx b/explorer/src/components/instruction/system/CreateWithSeedDetailsCard.tsx index a3ef8f4d8e..4c1f6dd26c 100644 --- a/explorer/src/components/instruction/system/CreateWithSeedDetailsCard.tsx +++ b/explorer/src/components/instruction/system/CreateWithSeedDetailsCard.tsx @@ -3,7 +3,7 @@ import { TransactionInstruction, SystemProgram, SignatureResult, - SystemInstruction + SystemInstruction, } from "@solana/web3.js"; import { lamportsToSolString } from "utils"; import { displayAddress } from "utils/tx"; diff --git a/explorer/src/components/instruction/system/NonceAdvanceDetailsCard.tsx b/explorer/src/components/instruction/system/NonceAdvanceDetailsCard.tsx index b5a70032b9..17d8bc97db 100644 --- a/explorer/src/components/instruction/system/NonceAdvanceDetailsCard.tsx +++ b/explorer/src/components/instruction/system/NonceAdvanceDetailsCard.tsx @@ -3,7 +3,7 @@ import { TransactionInstruction, SystemProgram, SignatureResult, - SystemInstruction + SystemInstruction, } from "@solana/web3.js"; import { displayAddress } from "utils/tx"; import { InstructionCard } from "../InstructionCard"; diff --git a/explorer/src/components/instruction/system/NonceAuthorizeDetailsCard.tsx b/explorer/src/components/instruction/system/NonceAuthorizeDetailsCard.tsx index 71ccba8466..f228d44935 100644 --- a/explorer/src/components/instruction/system/NonceAuthorizeDetailsCard.tsx +++ b/explorer/src/components/instruction/system/NonceAuthorizeDetailsCard.tsx @@ -3,7 +3,7 @@ import { TransactionInstruction, SystemProgram, SignatureResult, - SystemInstruction + SystemInstruction, } from "@solana/web3.js"; import { displayAddress } from "utils/tx"; import { InstructionCard } from "../InstructionCard"; diff --git a/explorer/src/components/instruction/system/NonceInitializeDetailsCard.tsx b/explorer/src/components/instruction/system/NonceInitializeDetailsCard.tsx index ff80c42a1d..3195f144db 100644 --- a/explorer/src/components/instruction/system/NonceInitializeDetailsCard.tsx +++ b/explorer/src/components/instruction/system/NonceInitializeDetailsCard.tsx @@ -3,7 +3,7 @@ import { TransactionInstruction, SystemProgram, SignatureResult, - SystemInstruction + SystemInstruction, } from "@solana/web3.js"; import { displayAddress } from "utils/tx"; import { InstructionCard } from "../InstructionCard"; diff --git a/explorer/src/components/instruction/system/NonceWithdrawDetailsCard.tsx b/explorer/src/components/instruction/system/NonceWithdrawDetailsCard.tsx index 1470f0654a..dc4fff48d8 100644 --- a/explorer/src/components/instruction/system/NonceWithdrawDetailsCard.tsx +++ b/explorer/src/components/instruction/system/NonceWithdrawDetailsCard.tsx @@ -3,7 +3,7 @@ import { TransactionInstruction, SystemProgram, SignatureResult, - SystemInstruction + SystemInstruction, } from "@solana/web3.js"; import { displayAddress } from "utils/tx"; import { lamportsToSolString } from "utils"; diff --git a/explorer/src/components/instruction/system/SystemDetailsCard.tsx b/explorer/src/components/instruction/system/SystemDetailsCard.tsx index 34138772e0..9b0d77ba78 100644 --- a/explorer/src/components/instruction/system/SystemDetailsCard.tsx +++ b/explorer/src/components/instruction/system/SystemDetailsCard.tsx @@ -2,7 +2,7 @@ import React from "react"; import { SystemInstruction, TransactionInstruction, - SignatureResult + SignatureResult, } from "@solana/web3.js"; import { UnknownDetailsCard } from "../UnknownDetailsCard"; diff --git a/explorer/src/components/instruction/system/TransferDetailsCard.tsx b/explorer/src/components/instruction/system/TransferDetailsCard.tsx index dc57821651..fbea06e75c 100644 --- a/explorer/src/components/instruction/system/TransferDetailsCard.tsx +++ b/explorer/src/components/instruction/system/TransferDetailsCard.tsx @@ -3,7 +3,7 @@ import { TransactionInstruction, SystemProgram, SignatureResult, - SystemInstruction + SystemInstruction, } from "@solana/web3.js"; import { lamportsToSolString } from "utils"; import { displayAddress } from "utils/tx"; diff --git a/explorer/src/fonts/feather/feather.css b/explorer/src/fonts/feather/feather.css index 64b8271a4e..9492cdeb3d 100644 --- a/explorer/src/fonts/feather/feather.css +++ b/explorer/src/fonts/feather/feather.css @@ -1,822 +1,822 @@ -@font-face { - font-family: "Feather"; - src: url("fonts/Feather.ttf?sdxovp") format("truetype"), - url("fonts/Feather.woff?sdxovp") format("woff"), - url("fonts/Feather.svg?sdxovp#Feather") format("svg"); - font-weight: normal; - font-style: normal; -} - -.fe { - /* use !important to prevent issues with browser extensions that change fonts */ - font-family: "Feather" !important; - speak: none; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - - /* Better Font Rendering =========== */ - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.fe-activity:before { - content: "\e900"; -} -.fe-airplay:before { - content: "\e901"; -} -.fe-alert-circle:before { - content: "\e902"; -} -.fe-alert-octagon:before { - content: "\e903"; -} -.fe-alert-triangle:before { - content: "\e904"; -} -.fe-align-center:before { - content: "\e905"; -} -.fe-align-justify:before { - content: "\e906"; -} -.fe-align-left:before { - content: "\e907"; -} -.fe-align-right:before { - content: "\e908"; -} -.fe-anchor:before { - content: "\e909"; -} -.fe-aperture:before { - content: "\e90a"; -} -.fe-archive:before { - content: "\e90b"; -} -.fe-arrow-down:before { - content: "\e90c"; -} -.fe-arrow-down-circle:before { - content: "\e90d"; -} -.fe-arrow-down-left:before { - content: "\e90e"; -} -.fe-arrow-down-right:before { - content: "\e90f"; -} -.fe-arrow-left:before { - content: "\e910"; -} -.fe-arrow-left-circle:before { - content: "\e911"; -} -.fe-arrow-right:before { - content: "\e912"; -} -.fe-arrow-right-circle:before { - content: "\e913"; -} -.fe-arrow-up:before { - content: "\e914"; -} -.fe-arrow-up-circle:before { - content: "\e915"; -} -.fe-arrow-up-left:before { - content: "\e916"; -} -.fe-arrow-up-right:before { - content: "\e917"; -} -.fe-at-sign:before { - content: "\e918"; -} -.fe-award:before { - content: "\e919"; -} -.fe-bar-chart:before { - content: "\e91a"; -} -.fe-bar-chart-2:before { - content: "\e91b"; -} -.fe-battery:before { - content: "\e91c"; -} -.fe-battery-charging:before { - content: "\e91d"; -} -.fe-bell:before { - content: "\e91e"; -} -.fe-bell-off:before { - content: "\e91f"; -} -.fe-bluetooth:before { - content: "\e920"; -} -.fe-bold:before { - content: "\e921"; -} -.fe-book:before { - content: "\e922"; -} -.fe-book-open:before { - content: "\e923"; -} -.fe-bookmark:before { - content: "\e924"; -} -.fe-box:before { - content: "\e925"; -} -.fe-briefcase:before { - content: "\e926"; -} -.fe-calendar:before { - content: "\e927"; -} -.fe-camera:before { - content: "\e928"; -} -.fe-camera-off:before { - content: "\e929"; -} -.fe-cast:before { - content: "\e92a"; -} -.fe-check:before { - content: "\e92b"; -} -.fe-check-circle:before { - content: "\e92c"; -} -.fe-check-square:before { - content: "\e92d"; -} -.fe-chevron-down:before { - content: "\e92e"; -} -.fe-chevron-left:before { - content: "\e92f"; -} -.fe-chevron-right:before { - content: "\e930"; -} -.fe-chevron-up:before { - content: "\e931"; -} -.fe-chevrons-down:before { - content: "\e932"; -} -.fe-chevrons-left:before { - content: "\e933"; -} -.fe-chevrons-right:before { - content: "\e934"; -} -.fe-chevrons-up:before { - content: "\e935"; -} -.fe-chrome:before { - content: "\e936"; -} -.fe-circle:before { - content: "\e937"; -} -.fe-clipboard:before { - content: "\e938"; -} -.fe-clock:before { - content: "\e939"; -} -.fe-cloud:before { - content: "\e93a"; -} -.fe-cloud-drizzle:before { - content: "\e93b"; -} -.fe-cloud-lightning:before { - content: "\e93c"; -} -.fe-cloud-off:before { - content: "\e93d"; -} -.fe-cloud-rain:before { - content: "\e93e"; -} -.fe-cloud-snow:before { - content: "\e93f"; -} -.fe-code:before { - content: "\e940"; -} -.fe-codepen:before { - content: "\e941"; -} -.fe-command:before { - content: "\e942"; -} -.fe-compass:before { - content: "\e943"; -} -.fe-copy:before { - content: "\e944"; -} -.fe-corner-down-left:before { - content: "\e945"; -} -.fe-corner-down-right:before { - content: "\e946"; -} -.fe-corner-left-down:before { - content: "\e947"; -} -.fe-corner-left-up:before { - content: "\e948"; -} -.fe-corner-right-down:before { - content: "\e949"; -} -.fe-corner-right-up:before { - content: "\e94a"; -} -.fe-corner-up-left:before { - content: "\e94b"; -} -.fe-corner-up-right:before { - content: "\e94c"; -} -.fe-cpu:before { - content: "\e94d"; -} -.fe-credit-card:before { - content: "\e94e"; -} -.fe-crop:before { - content: "\e94f"; -} -.fe-crosshair:before { - content: "\e950"; -} -.fe-database:before { - content: "\e951"; -} -.fe-delete:before { - content: "\e952"; -} -.fe-disc:before { - content: "\e953"; -} -.fe-dollar-sign:before { - content: "\e954"; -} -.fe-download:before { - content: "\e955"; -} -.fe-download-cloud:before { - content: "\e956"; -} -.fe-droplet:before { - content: "\e957"; -} -.fe-edit:before { - content: "\e958"; -} -.fe-edit-2:before { - content: "\e959"; -} -.fe-edit-3:before { - content: "\e95a"; -} -.fe-external-link:before { - content: "\e95b"; -} -.fe-eye:before { - content: "\e95c"; -} -.fe-eye-off:before { - content: "\e95d"; -} -.fe-facebook:before { - content: "\e95e"; -} -.fe-fast-forward:before { - content: "\e95f"; -} -.fe-feather:before { - content: "\e960"; -} -.fe-file:before { - content: "\e961"; -} -.fe-file-minus:before { - content: "\e962"; -} -.fe-file-plus:before { - content: "\e963"; -} -.fe-file-text:before { - content: "\e964"; -} -.fe-film:before { - content: "\e965"; -} -.fe-filter:before { - content: "\e966"; -} -.fe-flag:before { - content: "\e967"; -} -.fe-folder:before { - content: "\e968"; -} -.fe-folder-minus:before { - content: "\e969"; -} -.fe-folder-plus:before { - content: "\e96a"; -} -.fe-gift:before { - content: "\e96b"; -} -.fe-git-branch:before { - content: "\e96c"; -} -.fe-git-commit:before { - content: "\e96d"; -} -.fe-git-merge:before { - content: "\e96e"; -} -.fe-git-pull-request:before { - content: "\e96f"; -} -.fe-github:before { - content: "\e970"; -} -.fe-gitlab:before { - content: "\e971"; -} -.fe-globe:before { - content: "\e972"; -} -.fe-grid:before { - content: "\e973"; -} -.fe-hard-drive:before { - content: "\e974"; -} -.fe-hash:before { - content: "\e975"; -} -.fe-headphones:before { - content: "\e976"; -} -.fe-heart:before { - content: "\e977"; -} -.fe-help-circle:before { - content: "\e978"; -} -.fe-home:before { - content: "\e979"; -} -.fe-image:before { - content: "\e97a"; -} -.fe-inbox:before { - content: "\e97b"; -} -.fe-info:before { - content: "\e97c"; -} -.fe-instagram:before { - content: "\e97d"; -} -.fe-italic:before { - content: "\e97e"; -} -.fe-layers:before { - content: "\e97f"; -} -.fe-layout:before { - content: "\e980"; -} -.fe-life-buoy:before { - content: "\e981"; -} -.fe-link:before { - content: "\e982"; -} -.fe-link-2:before { - content: "\e983"; -} -.fe-linkedin:before { - content: "\e984"; -} -.fe-list:before { - content: "\e985"; -} -.fe-loader:before { - content: "\e986"; -} -.fe-lock:before { - content: "\e987"; -} -.fe-log-in:before { - content: "\e988"; -} -.fe-log-out:before { - content: "\e989"; -} -.fe-mail:before { - content: "\e98a"; -} -.fe-map:before { - content: "\e98b"; -} -.fe-map-pin:before { - content: "\e98c"; -} -.fe-maximize:before { - content: "\e98d"; -} -.fe-maximize-2:before { - content: "\e98e"; -} -.fe-menu:before { - content: "\e98f"; -} -.fe-message-circle:before { - content: "\e990"; -} -.fe-message-square:before { - content: "\e991"; -} -.fe-mic:before { - content: "\e992"; -} -.fe-mic-off:before { - content: "\e993"; -} -.fe-minimize:before { - content: "\e994"; -} -.fe-minimize-2:before { - content: "\e995"; -} -.fe-minus:before { - content: "\e996"; -} -.fe-minus-circle:before { - content: "\e997"; -} -.fe-minus-square:before { - content: "\e998"; -} -.fe-monitor:before { - content: "\e999"; -} -.fe-moon:before { - content: "\e99a"; -} -.fe-more-horizontal:before { - content: "\e99b"; -} -.fe-more-vertical:before { - content: "\e99c"; -} -.fe-move:before { - content: "\e99d"; -} -.fe-music:before { - content: "\e99e"; -} -.fe-navigation:before { - content: "\e99f"; -} -.fe-navigation-2:before { - content: "\e9a0"; -} -.fe-octagon:before { - content: "\e9a1"; -} -.fe-package:before { - content: "\e9a2"; -} -.fe-paperclip:before { - content: "\e9a3"; -} -.fe-pause:before { - content: "\e9a4"; -} -.fe-pause-circle:before { - content: "\e9a5"; -} -.fe-percent:before { - content: "\e9a6"; -} -.fe-phone:before { - content: "\e9a7"; -} -.fe-phone-call:before { - content: "\e9a8"; -} -.fe-phone-forwarded:before { - content: "\e9a9"; -} -.fe-phone-incoming:before { - content: "\e9aa"; -} -.fe-phone-missed:before { - content: "\e9ab"; -} -.fe-phone-off:before { - content: "\e9ac"; -} -.fe-phone-outgoing:before { - content: "\e9ad"; -} -.fe-pie-chart:before { - content: "\e9ae"; -} -.fe-play:before { - content: "\e9af"; -} -.fe-play-circle:before { - content: "\e9b0"; -} -.fe-plus:before { - content: "\e9b1"; -} -.fe-plus-circle:before { - content: "\e9b2"; -} -.fe-plus-square:before { - content: "\e9b3"; -} -.fe-pocket:before { - content: "\e9b4"; -} -.fe-power:before { - content: "\e9b5"; -} -.fe-printer:before { - content: "\e9b6"; -} -.fe-radio:before { - content: "\e9b7"; -} -.fe-refresh-ccw:before { - content: "\e9b8"; -} -.fe-refresh-cw:before { - content: "\e9b9"; -} -.fe-repeat:before { - content: "\e9ba"; -} -.fe-rewind:before { - content: "\e9bb"; -} -.fe-rotate-ccw:before { - content: "\e9bc"; -} -.fe-rotate-cw:before { - content: "\e9bd"; -} -.fe-rss:before { - content: "\e9be"; -} -.fe-save:before { - content: "\e9bf"; -} -.fe-scissors:before { - content: "\e9c0"; -} -.fe-search:before { - content: "\e9c1"; -} -.fe-send:before { - content: "\e9c2"; -} -.fe-server:before { - content: "\e9c3"; -} -.fe-settings:before { - content: "\e9c4"; -} -.fe-share:before { - content: "\e9c5"; -} -.fe-share-2:before { - content: "\e9c6"; -} -.fe-shield:before { - content: "\e9c7"; -} -.fe-shield-off:before { - content: "\e9c8"; -} -.fe-shopping-bag:before { - content: "\e9c9"; -} -.fe-shopping-cart:before { - content: "\e9ca"; -} -.fe-shuffle:before { - content: "\e9cb"; -} -.fe-sidebar:before { - content: "\e9cc"; -} -.fe-skip-back:before { - content: "\e9cd"; -} -.fe-skip-forward:before { - content: "\e9ce"; -} -.fe-slack:before { - content: "\e9cf"; -} -.fe-slash:before { - content: "\e9d0"; -} -.fe-sliders:before { - content: "\e9d1"; -} -.fe-smartphone:before { - content: "\e9d2"; -} -.fe-speaker:before { - content: "\e9d3"; -} -.fe-square:before { - content: "\e9d4"; -} -.fe-star:before { - content: "\e9d5"; -} -.fe-stop-circle:before { - content: "\e9d6"; -} -.fe-sun:before { - content: "\e9d7"; -} -.fe-sunrise:before { - content: "\e9d8"; -} -.fe-sunset:before { - content: "\e9d9"; -} -.fe-tablet:before { - content: "\e9da"; -} -.fe-tag:before { - content: "\e9db"; -} -.fe-target:before { - content: "\e9dc"; -} -.fe-terminal:before { - content: "\e9dd"; -} -.fe-thermometer:before { - content: "\e9de"; -} -.fe-thumbs-down:before { - content: "\e9df"; -} -.fe-thumbs-up:before { - content: "\e9e0"; -} -.fe-toggle-left:before { - content: "\e9e1"; -} -.fe-toggle-right:before { - content: "\e9e2"; -} -.fe-trash:before { - content: "\e9e3"; -} -.fe-trash-2:before { - content: "\e9e4"; -} -.fe-trending-down:before { - content: "\e9e5"; -} -.fe-trending-up:before { - content: "\e9e6"; -} -.fe-triangle:before { - content: "\e9e7"; -} -.fe-truck:before { - content: "\e9e8"; -} -.fe-tv:before { - content: "\e9e9"; -} -.fe-twitter:before { - content: "\e9ea"; -} -.fe-type:before { - content: "\e9eb"; -} -.fe-umbrella:before { - content: "\e9ec"; -} -.fe-underline:before { - content: "\e9ed"; -} -.fe-unlock:before { - content: "\e9ee"; -} -.fe-upload:before { - content: "\e9ef"; -} -.fe-upload-cloud:before { - content: "\e9f0"; -} -.fe-user:before { - content: "\e9f1"; -} -.fe-user-check:before { - content: "\e9f2"; -} -.fe-user-minus:before { - content: "\e9f3"; -} -.fe-user-plus:before { - content: "\e9f4"; -} -.fe-user-x:before { - content: "\e9f5"; -} -.fe-users:before { - content: "\e9f6"; -} -.fe-video:before { - content: "\e9f7"; -} -.fe-video-off:before { - content: "\e9f8"; -} -.fe-voicemail:before { - content: "\e9f9"; -} -.fe-volume:before { - content: "\e9fa"; -} -.fe-volume-1:before { - content: "\e9fb"; -} -.fe-volume-2:before { - content: "\e9fc"; -} -.fe-volume-x:before { - content: "\e9fd"; -} -.fe-watch:before { - content: "\e9fe"; -} -.fe-wifi:before { - content: "\e9ff"; -} -.fe-wifi-off:before { - content: "\ea00"; -} -.fe-wind:before { - content: "\ea01"; -} -.fe-x:before { - content: "\ea02"; -} -.fe-x-circle:before { - content: "\ea03"; -} -.fe-x-square:before { - content: "\ea04"; -} -.fe-youtube:before { - content: "\ea05"; -} -.fe-zap:before { - content: "\ea06"; -} -.fe-zap-off:before { - content: "\ea07"; -} -.fe-zoom-in:before { - content: "\ea08"; -} -.fe-zoom-out:before { - content: "\ea09"; -} +@font-face { + font-family: "Feather"; + src: url("fonts/Feather.ttf?sdxovp") format("truetype"), + url("fonts/Feather.woff?sdxovp") format("woff"), + url("fonts/Feather.svg?sdxovp#Feather") format("svg"); + font-weight: normal; + font-style: normal; +} + +.fe { + /* use !important to prevent issues with browser extensions that change fonts */ + font-family: "Feather" !important; + speak: none; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + + /* Better Font Rendering =========== */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.fe-activity:before { + content: "\e900"; +} +.fe-airplay:before { + content: "\e901"; +} +.fe-alert-circle:before { + content: "\e902"; +} +.fe-alert-octagon:before { + content: "\e903"; +} +.fe-alert-triangle:before { + content: "\e904"; +} +.fe-align-center:before { + content: "\e905"; +} +.fe-align-justify:before { + content: "\e906"; +} +.fe-align-left:before { + content: "\e907"; +} +.fe-align-right:before { + content: "\e908"; +} +.fe-anchor:before { + content: "\e909"; +} +.fe-aperture:before { + content: "\e90a"; +} +.fe-archive:before { + content: "\e90b"; +} +.fe-arrow-down:before { + content: "\e90c"; +} +.fe-arrow-down-circle:before { + content: "\e90d"; +} +.fe-arrow-down-left:before { + content: "\e90e"; +} +.fe-arrow-down-right:before { + content: "\e90f"; +} +.fe-arrow-left:before { + content: "\e910"; +} +.fe-arrow-left-circle:before { + content: "\e911"; +} +.fe-arrow-right:before { + content: "\e912"; +} +.fe-arrow-right-circle:before { + content: "\e913"; +} +.fe-arrow-up:before { + content: "\e914"; +} +.fe-arrow-up-circle:before { + content: "\e915"; +} +.fe-arrow-up-left:before { + content: "\e916"; +} +.fe-arrow-up-right:before { + content: "\e917"; +} +.fe-at-sign:before { + content: "\e918"; +} +.fe-award:before { + content: "\e919"; +} +.fe-bar-chart:before { + content: "\e91a"; +} +.fe-bar-chart-2:before { + content: "\e91b"; +} +.fe-battery:before { + content: "\e91c"; +} +.fe-battery-charging:before { + content: "\e91d"; +} +.fe-bell:before { + content: "\e91e"; +} +.fe-bell-off:before { + content: "\e91f"; +} +.fe-bluetooth:before { + content: "\e920"; +} +.fe-bold:before { + content: "\e921"; +} +.fe-book:before { + content: "\e922"; +} +.fe-book-open:before { + content: "\e923"; +} +.fe-bookmark:before { + content: "\e924"; +} +.fe-box:before { + content: "\e925"; +} +.fe-briefcase:before { + content: "\e926"; +} +.fe-calendar:before { + content: "\e927"; +} +.fe-camera:before { + content: "\e928"; +} +.fe-camera-off:before { + content: "\e929"; +} +.fe-cast:before { + content: "\e92a"; +} +.fe-check:before { + content: "\e92b"; +} +.fe-check-circle:before { + content: "\e92c"; +} +.fe-check-square:before { + content: "\e92d"; +} +.fe-chevron-down:before { + content: "\e92e"; +} +.fe-chevron-left:before { + content: "\e92f"; +} +.fe-chevron-right:before { + content: "\e930"; +} +.fe-chevron-up:before { + content: "\e931"; +} +.fe-chevrons-down:before { + content: "\e932"; +} +.fe-chevrons-left:before { + content: "\e933"; +} +.fe-chevrons-right:before { + content: "\e934"; +} +.fe-chevrons-up:before { + content: "\e935"; +} +.fe-chrome:before { + content: "\e936"; +} +.fe-circle:before { + content: "\e937"; +} +.fe-clipboard:before { + content: "\e938"; +} +.fe-clock:before { + content: "\e939"; +} +.fe-cloud:before { + content: "\e93a"; +} +.fe-cloud-drizzle:before { + content: "\e93b"; +} +.fe-cloud-lightning:before { + content: "\e93c"; +} +.fe-cloud-off:before { + content: "\e93d"; +} +.fe-cloud-rain:before { + content: "\e93e"; +} +.fe-cloud-snow:before { + content: "\e93f"; +} +.fe-code:before { + content: "\e940"; +} +.fe-codepen:before { + content: "\e941"; +} +.fe-command:before { + content: "\e942"; +} +.fe-compass:before { + content: "\e943"; +} +.fe-copy:before { + content: "\e944"; +} +.fe-corner-down-left:before { + content: "\e945"; +} +.fe-corner-down-right:before { + content: "\e946"; +} +.fe-corner-left-down:before { + content: "\e947"; +} +.fe-corner-left-up:before { + content: "\e948"; +} +.fe-corner-right-down:before { + content: "\e949"; +} +.fe-corner-right-up:before { + content: "\e94a"; +} +.fe-corner-up-left:before { + content: "\e94b"; +} +.fe-corner-up-right:before { + content: "\e94c"; +} +.fe-cpu:before { + content: "\e94d"; +} +.fe-credit-card:before { + content: "\e94e"; +} +.fe-crop:before { + content: "\e94f"; +} +.fe-crosshair:before { + content: "\e950"; +} +.fe-database:before { + content: "\e951"; +} +.fe-delete:before { + content: "\e952"; +} +.fe-disc:before { + content: "\e953"; +} +.fe-dollar-sign:before { + content: "\e954"; +} +.fe-download:before { + content: "\e955"; +} +.fe-download-cloud:before { + content: "\e956"; +} +.fe-droplet:before { + content: "\e957"; +} +.fe-edit:before { + content: "\e958"; +} +.fe-edit-2:before { + content: "\e959"; +} +.fe-edit-3:before { + content: "\e95a"; +} +.fe-external-link:before { + content: "\e95b"; +} +.fe-eye:before { + content: "\e95c"; +} +.fe-eye-off:before { + content: "\e95d"; +} +.fe-facebook:before { + content: "\e95e"; +} +.fe-fast-forward:before { + content: "\e95f"; +} +.fe-feather:before { + content: "\e960"; +} +.fe-file:before { + content: "\e961"; +} +.fe-file-minus:before { + content: "\e962"; +} +.fe-file-plus:before { + content: "\e963"; +} +.fe-file-text:before { + content: "\e964"; +} +.fe-film:before { + content: "\e965"; +} +.fe-filter:before { + content: "\e966"; +} +.fe-flag:before { + content: "\e967"; +} +.fe-folder:before { + content: "\e968"; +} +.fe-folder-minus:before { + content: "\e969"; +} +.fe-folder-plus:before { + content: "\e96a"; +} +.fe-gift:before { + content: "\e96b"; +} +.fe-git-branch:before { + content: "\e96c"; +} +.fe-git-commit:before { + content: "\e96d"; +} +.fe-git-merge:before { + content: "\e96e"; +} +.fe-git-pull-request:before { + content: "\e96f"; +} +.fe-github:before { + content: "\e970"; +} +.fe-gitlab:before { + content: "\e971"; +} +.fe-globe:before { + content: "\e972"; +} +.fe-grid:before { + content: "\e973"; +} +.fe-hard-drive:before { + content: "\e974"; +} +.fe-hash:before { + content: "\e975"; +} +.fe-headphones:before { + content: "\e976"; +} +.fe-heart:before { + content: "\e977"; +} +.fe-help-circle:before { + content: "\e978"; +} +.fe-home:before { + content: "\e979"; +} +.fe-image:before { + content: "\e97a"; +} +.fe-inbox:before { + content: "\e97b"; +} +.fe-info:before { + content: "\e97c"; +} +.fe-instagram:before { + content: "\e97d"; +} +.fe-italic:before { + content: "\e97e"; +} +.fe-layers:before { + content: "\e97f"; +} +.fe-layout:before { + content: "\e980"; +} +.fe-life-buoy:before { + content: "\e981"; +} +.fe-link:before { + content: "\e982"; +} +.fe-link-2:before { + content: "\e983"; +} +.fe-linkedin:before { + content: "\e984"; +} +.fe-list:before { + content: "\e985"; +} +.fe-loader:before { + content: "\e986"; +} +.fe-lock:before { + content: "\e987"; +} +.fe-log-in:before { + content: "\e988"; +} +.fe-log-out:before { + content: "\e989"; +} +.fe-mail:before { + content: "\e98a"; +} +.fe-map:before { + content: "\e98b"; +} +.fe-map-pin:before { + content: "\e98c"; +} +.fe-maximize:before { + content: "\e98d"; +} +.fe-maximize-2:before { + content: "\e98e"; +} +.fe-menu:before { + content: "\e98f"; +} +.fe-message-circle:before { + content: "\e990"; +} +.fe-message-square:before { + content: "\e991"; +} +.fe-mic:before { + content: "\e992"; +} +.fe-mic-off:before { + content: "\e993"; +} +.fe-minimize:before { + content: "\e994"; +} +.fe-minimize-2:before { + content: "\e995"; +} +.fe-minus:before { + content: "\e996"; +} +.fe-minus-circle:before { + content: "\e997"; +} +.fe-minus-square:before { + content: "\e998"; +} +.fe-monitor:before { + content: "\e999"; +} +.fe-moon:before { + content: "\e99a"; +} +.fe-more-horizontal:before { + content: "\e99b"; +} +.fe-more-vertical:before { + content: "\e99c"; +} +.fe-move:before { + content: "\e99d"; +} +.fe-music:before { + content: "\e99e"; +} +.fe-navigation:before { + content: "\e99f"; +} +.fe-navigation-2:before { + content: "\e9a0"; +} +.fe-octagon:before { + content: "\e9a1"; +} +.fe-package:before { + content: "\e9a2"; +} +.fe-paperclip:before { + content: "\e9a3"; +} +.fe-pause:before { + content: "\e9a4"; +} +.fe-pause-circle:before { + content: "\e9a5"; +} +.fe-percent:before { + content: "\e9a6"; +} +.fe-phone:before { + content: "\e9a7"; +} +.fe-phone-call:before { + content: "\e9a8"; +} +.fe-phone-forwarded:before { + content: "\e9a9"; +} +.fe-phone-incoming:before { + content: "\e9aa"; +} +.fe-phone-missed:before { + content: "\e9ab"; +} +.fe-phone-off:before { + content: "\e9ac"; +} +.fe-phone-outgoing:before { + content: "\e9ad"; +} +.fe-pie-chart:before { + content: "\e9ae"; +} +.fe-play:before { + content: "\e9af"; +} +.fe-play-circle:before { + content: "\e9b0"; +} +.fe-plus:before { + content: "\e9b1"; +} +.fe-plus-circle:before { + content: "\e9b2"; +} +.fe-plus-square:before { + content: "\e9b3"; +} +.fe-pocket:before { + content: "\e9b4"; +} +.fe-power:before { + content: "\e9b5"; +} +.fe-printer:before { + content: "\e9b6"; +} +.fe-radio:before { + content: "\e9b7"; +} +.fe-refresh-ccw:before { + content: "\e9b8"; +} +.fe-refresh-cw:before { + content: "\e9b9"; +} +.fe-repeat:before { + content: "\e9ba"; +} +.fe-rewind:before { + content: "\e9bb"; +} +.fe-rotate-ccw:before { + content: "\e9bc"; +} +.fe-rotate-cw:before { + content: "\e9bd"; +} +.fe-rss:before { + content: "\e9be"; +} +.fe-save:before { + content: "\e9bf"; +} +.fe-scissors:before { + content: "\e9c0"; +} +.fe-search:before { + content: "\e9c1"; +} +.fe-send:before { + content: "\e9c2"; +} +.fe-server:before { + content: "\e9c3"; +} +.fe-settings:before { + content: "\e9c4"; +} +.fe-share:before { + content: "\e9c5"; +} +.fe-share-2:before { + content: "\e9c6"; +} +.fe-shield:before { + content: "\e9c7"; +} +.fe-shield-off:before { + content: "\e9c8"; +} +.fe-shopping-bag:before { + content: "\e9c9"; +} +.fe-shopping-cart:before { + content: "\e9ca"; +} +.fe-shuffle:before { + content: "\e9cb"; +} +.fe-sidebar:before { + content: "\e9cc"; +} +.fe-skip-back:before { + content: "\e9cd"; +} +.fe-skip-forward:before { + content: "\e9ce"; +} +.fe-slack:before { + content: "\e9cf"; +} +.fe-slash:before { + content: "\e9d0"; +} +.fe-sliders:before { + content: "\e9d1"; +} +.fe-smartphone:before { + content: "\e9d2"; +} +.fe-speaker:before { + content: "\e9d3"; +} +.fe-square:before { + content: "\e9d4"; +} +.fe-star:before { + content: "\e9d5"; +} +.fe-stop-circle:before { + content: "\e9d6"; +} +.fe-sun:before { + content: "\e9d7"; +} +.fe-sunrise:before { + content: "\e9d8"; +} +.fe-sunset:before { + content: "\e9d9"; +} +.fe-tablet:before { + content: "\e9da"; +} +.fe-tag:before { + content: "\e9db"; +} +.fe-target:before { + content: "\e9dc"; +} +.fe-terminal:before { + content: "\e9dd"; +} +.fe-thermometer:before { + content: "\e9de"; +} +.fe-thumbs-down:before { + content: "\e9df"; +} +.fe-thumbs-up:before { + content: "\e9e0"; +} +.fe-toggle-left:before { + content: "\e9e1"; +} +.fe-toggle-right:before { + content: "\e9e2"; +} +.fe-trash:before { + content: "\e9e3"; +} +.fe-trash-2:before { + content: "\e9e4"; +} +.fe-trending-down:before { + content: "\e9e5"; +} +.fe-trending-up:before { + content: "\e9e6"; +} +.fe-triangle:before { + content: "\e9e7"; +} +.fe-truck:before { + content: "\e9e8"; +} +.fe-tv:before { + content: "\e9e9"; +} +.fe-twitter:before { + content: "\e9ea"; +} +.fe-type:before { + content: "\e9eb"; +} +.fe-umbrella:before { + content: "\e9ec"; +} +.fe-underline:before { + content: "\e9ed"; +} +.fe-unlock:before { + content: "\e9ee"; +} +.fe-upload:before { + content: "\e9ef"; +} +.fe-upload-cloud:before { + content: "\e9f0"; +} +.fe-user:before { + content: "\e9f1"; +} +.fe-user-check:before { + content: "\e9f2"; +} +.fe-user-minus:before { + content: "\e9f3"; +} +.fe-user-plus:before { + content: "\e9f4"; +} +.fe-user-x:before { + content: "\e9f5"; +} +.fe-users:before { + content: "\e9f6"; +} +.fe-video:before { + content: "\e9f7"; +} +.fe-video-off:before { + content: "\e9f8"; +} +.fe-voicemail:before { + content: "\e9f9"; +} +.fe-volume:before { + content: "\e9fa"; +} +.fe-volume-1:before { + content: "\e9fb"; +} +.fe-volume-2:before { + content: "\e9fc"; +} +.fe-volume-x:before { + content: "\e9fd"; +} +.fe-watch:before { + content: "\e9fe"; +} +.fe-wifi:before { + content: "\e9ff"; +} +.fe-wifi-off:before { + content: "\ea00"; +} +.fe-wind:before { + content: "\ea01"; +} +.fe-x:before { + content: "\ea02"; +} +.fe-x-circle:before { + content: "\ea03"; +} +.fe-x-square:before { + content: "\ea04"; +} +.fe-youtube:before { + content: "\ea05"; +} +.fe-zap:before { + content: "\ea06"; +} +.fe-zap-off:before { + content: "\ea07"; +} +.fe-zoom-in:before { + content: "\ea08"; +} +.fe-zoom-out:before { + content: "\ea09"; +} diff --git a/explorer/src/providers/accounts/history.tsx b/explorer/src/providers/accounts/history.tsx index 2c4bf90be6..13b90e6c23 100644 --- a/explorer/src/providers/accounts/history.tsx +++ b/explorer/src/providers/accounts/history.tsx @@ -5,7 +5,7 @@ import { useCluster } from "../cluster"; import { HistoryManager, HistoricalTransaction, - SlotRange + SlotRange, } from "./historyManager"; interface AccountHistory { @@ -19,7 +19,7 @@ type State = { [address: string]: AccountHistory }; export enum ActionType { Update, Add, - Remove + Remove, } interface Update { @@ -48,10 +48,10 @@ function reducer(state: State, action: Action): State { case ActionType.Add: { if (action.addresses.length === 0) return state; const details = { ...state }; - action.addresses.forEach(address => { + action.addresses.forEach((address) => { if (!details[address]) { details[address] = { - status: FetchStatus.Fetching + status: FetchStatus.Fetching, }; } }); @@ -61,7 +61,7 @@ function reducer(state: State, action: Action): State { case ActionType.Remove: { if (action.addresses.length === 0) return state; const details = { ...state }; - action.addresses.forEach(address => { + action.addresses.forEach((address) => { delete details[address]; }); return details; @@ -81,8 +81,8 @@ function reducer(state: State, action: Action): State { [address]: { status: action.status, fetched, - fetchedRange - } + fetchedRange, + }, }; } break; @@ -121,16 +121,16 @@ export function HistoryProvider({ children }: HistoryProviderProps) { }); const removeList: string[] = []; - removeAddresses.forEach(address => { + removeAddresses.forEach((address) => { manager.current.removeAccountHistory(address); removeList.push(address); }); dispatch({ type: ActionType.Remove, addresses: removeList }); const fetchList: string[] = []; - fetchAddresses.forEach(s => fetchList.push(s)); + fetchAddresses.forEach((s) => fetchList.push(s)); dispatch({ type: ActionType.Add, addresses: fetchList }); - fetchAddresses.forEach(address => { + fetchAddresses.forEach((address) => { fetchAccountHistory( dispatch, new PublicKey(address), @@ -160,7 +160,7 @@ async function fetchAccountHistory( dispatch({ type: ActionType.Update, status: FetchStatus.Fetching, - pubkey + pubkey, }); let status; diff --git a/explorer/src/providers/accounts/historyManager.ts b/explorer/src/providers/accounts/historyManager.ts index 915fc76f59..769dc3e59a 100644 --- a/explorer/src/providers/accounts/historyManager.ts +++ b/explorer/src/providers/accounts/historyManager.ts @@ -2,7 +2,7 @@ import { TransactionSignature, Connection, PublicKey, - SignatureStatus + SignatureStatus, } from "@solana/web3.js"; const MAX_STATUS_BATCH_SIZE = 256; @@ -101,7 +101,7 @@ export class HistoryManager { range.min = Math.max(nextRange.min - slotLookBack, fullRange.min); nextRange = { min: range.min, - max: nextRange.min - 1 + max: nextRange.min - 1, }; } @@ -111,14 +111,14 @@ export class HistoryManager { const batch = signatures.splice(0, MAX_STATUS_BATCH_SIZE); const statuses = ( await this.connection.getSignatureStatuses(batch, { - searchTransactionHistory: true + searchTransactionHistory: true, }) ).value; statuses.forEach((status, index) => { if (status !== null) { transactions.push({ signature: batch[index], - status + status, }); } }); diff --git a/explorer/src/providers/accounts/index.tsx b/explorer/src/providers/accounts/index.tsx index 9d4c8dddd8..6a56ac4c40 100644 --- a/explorer/src/providers/accounts/index.tsx +++ b/explorer/src/providers/accounts/index.tsx @@ -9,7 +9,7 @@ export { useAccountHistory } from "./history"; export enum FetchStatus { Fetching, FetchFailed, - Fetched + Fetched, } export interface Details { @@ -35,7 +35,7 @@ interface State { export enum ActionType { Update, - Fetch + Fetch, } interface Update { @@ -67,8 +67,8 @@ function reducer(state: State, action: Action): State { [address]: { id: account.id, pubkey: account.pubkey, - status: FetchStatus.Fetching - } + status: FetchStatus.Fetching, + }, }; return { ...state, accounts }; } else { @@ -78,8 +78,8 @@ function reducer(state: State, action: Action): State { [address]: { id: idCounter, status: FetchStatus.Fetching, - pubkey: action.pubkey - } + pubkey: action.pubkey, + }, }; return { ...state, accounts, idCounter }; } @@ -93,8 +93,8 @@ function reducer(state: State, action: Action): State { ...state.accounts, [address]: { ...account, - ...action.data - } + ...action.data, + }, }; return { ...state, accounts }; } @@ -114,30 +114,30 @@ type AccountsProviderProps = { children: React.ReactNode }; export function AccountsProvider({ children }: AccountsProviderProps) { const [state, dispatch] = React.useReducer(reducer, { idCounter: 0, - accounts: {} + accounts: {}, }); const { status, url } = useCluster(); // Check account statuses on startup and whenever cluster updates React.useEffect(() => { - Object.keys(state.accounts).forEach(address => { + Object.keys(state.accounts).forEach((address) => { fetchAccountInfo(dispatch, new PublicKey(address), url, status); }); }, [status, url]); // eslint-disable-line react-hooks/exhaustive-deps const query = useQuery(); - const values = ACCOUNT_ALIASES.concat(ACCOUNT_ALIASES_PLURAL).map(key => + const values = ACCOUNT_ALIASES.concat(ACCOUNT_ALIASES_PLURAL).map((key) => query.get(key) ); React.useEffect(() => { values .filter((value): value is string => value !== null) - .flatMap(value => value.split(",")) + .flatMap((value) => value.split(",")) // Remove duplicates .filter((item, pos, self) => self.indexOf(item) === pos) - .filter(address => !state.accounts[address]) - .forEach(address => { + .filter((address) => !state.accounts[address]) + .forEach((address) => { try { fetchAccountInfo(dispatch, new PublicKey(address), url, status); } catch (err) { @@ -164,7 +164,7 @@ async function fetchAccountInfo( ) { dispatch({ type: ActionType.Fetch, - pubkey + pubkey, }); // We will auto-refetch when status is no longer connecting @@ -196,7 +196,7 @@ async function fetchAccountInfo( space: result.data.length, executable: result.executable, owner: result.owner, - data + data, }; } fetchStatus = FetchStatus.Fetched; @@ -217,7 +217,7 @@ export function useAccounts() { idCounter: context.idCounter, accounts: Object.values(context.accounts).sort((a, b) => a.id <= b.id ? 1 : -1 - ) + ), }; } diff --git a/explorer/src/providers/cluster.tsx b/explorer/src/providers/cluster.tsx index 392af5a89c..ee7cc1b1b4 100644 --- a/explorer/src/providers/cluster.tsx +++ b/explorer/src/providers/cluster.tsx @@ -6,21 +6,21 @@ import { useHistory, useLocation } from "react-router-dom"; export enum ClusterStatus { Connected, Connecting, - Failure + Failure, } export enum Cluster { MainnetBeta, Testnet, Devnet, - Custom + Custom, } export const CLUSTERS = [ Cluster.MainnetBeta, Cluster.Testnet, Cluster.Devnet, - Cluster.Custom + Cluster.Custom, ]; export function clusterSlug(cluster: Cluster): string { @@ -128,7 +128,7 @@ export function ClusterProvider({ children }: ClusterProviderProps) { const [state, dispatch] = React.useReducer(clusterReducer, { cluster: DEFAULT_CLUSTER, customUrl: "", - status: ClusterStatus.Connecting + status: ClusterStatus.Connecting, }); const [showModal, setShowModal] = React.useState(false); const query = useQuery(); @@ -169,7 +169,7 @@ async function updateCluster( dispatch({ status: ClusterStatus.Connecting, cluster, - customUrl + customUrl, }); try { @@ -179,7 +179,7 @@ async function updateCluster( status: ClusterStatus.Connected, cluster, customUrl, - firstAvailableBlock + firstAvailableBlock, }); } catch (error) { console.error("Failed to update cluster", error); @@ -206,7 +206,7 @@ export function useCluster() { return { ...context, url: clusterUrl(context.cluster, context.customUrl), - name: clusterName(context.cluster) + name: clusterName(context.cluster), }; } diff --git a/explorer/src/providers/richList.tsx b/explorer/src/providers/richList.tsx index daf0a9f5cc..fdb0d7b58e 100644 --- a/explorer/src/providers/richList.tsx +++ b/explorer/src/providers/richList.tsx @@ -6,7 +6,7 @@ import { useCluster, ClusterStatus } from "./cluster"; export enum Status { Idle, Disconnected, - Connecting + Connecting, } type RichLists = { @@ -60,12 +60,12 @@ async function fetch(dispatch: Dispatch, url: string) { await Promise.all([ connection.getLargestAccounts(), connection.getLargestAccounts({ filter: "circulating" }), - connection.getLargestAccounts({ filter: "nonCirculating" }) + connection.getLargestAccounts({ filter: "nonCirculating" }), ]) - ).map(response => response.value); + ).map((response) => response.value); // Update state if still connecting - dispatch(state => { + dispatch((state) => { if (state !== Status.Connecting) return state; return { total, circulating, nonCirculating }; }); diff --git a/explorer/src/providers/supply.tsx b/explorer/src/providers/supply.tsx index 6e2da17abc..c601efd830 100644 --- a/explorer/src/providers/supply.tsx +++ b/explorer/src/providers/supply.tsx @@ -6,7 +6,7 @@ import { useCluster, ClusterStatus } from "./cluster"; export enum Status { Idle, Disconnected, - Connecting + Connecting, } type State = Supply | Status | string; @@ -45,7 +45,7 @@ async function fetch(dispatch: Dispatch, url: string) { const supply = (await connection.getSupply()).value; // Update state if still connecting - dispatch(state => { + dispatch((state) => { if (state !== Status.Connecting) return state; return supply; }); diff --git a/explorer/src/providers/transactions/cached.ts b/explorer/src/providers/transactions/cached.ts index 66fbfa1604..a321530c2e 100644 --- a/explorer/src/providers/transactions/cached.ts +++ b/explorer/src/providers/transactions/cached.ts @@ -10,7 +10,7 @@ import { Transaction, ConfirmedTransaction, Message, - clusterApiUrl + clusterApiUrl, } from "@solana/web3.js"; export const isCached = (url: string, signature: string): boolean => { @@ -22,44 +22,44 @@ export const CACHED_STATUSES: { [key: string]: TransactionStatusInfo } = { slot: 10440804, result: { err: null }, timestamp: 1589212180, - confirmations: "max" + confirmations: "max", }, DYrfStEEzbV5sftX8LgUa54Nwnc5m5E1731cqBtiiC66TeXgKpfqZEQTuFY3vhHZ2K1BsaFM3X9FqisR28EtZr8: { slot: 10451288, result: { err: null }, timestamp: 1589216984, - confirmations: "max" + confirmations: "max", }, "3bLx2PLpkxCxJA5P7HVe8asFdSWXVAh1DrxfkqWE9bWvPRxXE2hqwj1vuSC858fUw3XAGQcHbJknhtNdxY2sehab": { slot: 10516588, result: { err: null }, timestamp: 1589247117, - confirmations: "max" + confirmations: "max", }, "3fE8xNgyxbwbvA5MX3wM87ahDDgCVEaaMMSa8UCWWNxojaRYBgrQyiKXLSxcryMWb7sEyVLBWyqUaRWnQCroSqjY": { slot: 10575124, result: { err: null }, timestamp: 1589274236, - confirmations: "max" + confirmations: "max", }, "5PWymGjKV7T1oqeqGn139EHFyjNM2dnNhHCUcfD2bmdj8cfF95HpY1uJ84W89c4sJQnmyZxXcYrcjumx2jHUvxZQ": { slot: 12447825, result: { err: null }, timestamp: 15901860565, - confirmations: "max" + confirmations: "max", }, "5K4KuqTTRNtzfpxWiwnkePzGfsa3tBEmpMy7vQFR3KWFAZNVY9tvoSaz1Yt5dKxcgsZPio2EsASVDGbQB1HvirGD": { slot: 12450728, result: { err: null }, timestamp: 15901874549, - confirmations: "max" + confirmations: "max", }, "45pGoC4Rr3fJ1TKrsiRkhHRbdUeX7633XAGVec6XzVdpRbzQgHhe6ZC6Uq164MPWtiqMg7wCkC6Wy3jy2BqsDEKf": { slot: 12972684, result: { err: null }, timestamp: 1590432412, - confirmations: "max" - } + confirmations: "max", + }, }; export const CACHED_DETAILS: { [key: string]: ConfirmedTransaction } = { @@ -71,22 +71,22 @@ export const CACHED_DETAILS: { [key: string]: ConfirmedTransaction } = { accountKeys: [ "2ojv9BAiHUrvsm9gxDe7fJSzbNZSJcxZvf8dqmWGHG8S", "4C6NCcLPUgGuBBkV2dJW96mrptMUCp3RG1ft9rqwjFi9", - "11111111111111111111111111111111" + "11111111111111111111111111111111", ], header: { numReadonlySignedAccounts: 0, numReadonlyUnsignedAccounts: 1, - numRequiredSignatures: 1 + numRequiredSignatures: 1, }, instructions: [ - { accounts: [0, 1], data: "3Bxs411UBrj8QXUb", programIdIndex: 2 } + { accounts: [0, 1], data: "3Bxs411UBrj8QXUb", programIdIndex: 2 }, ], - recentBlockhash: "5Aw8MaMYdYtnfJyyrregWMWGgiMtWZ6GtRzeP6Ufo65Z" + recentBlockhash: "5Aw8MaMYdYtnfJyyrregWMWGgiMtWZ6GtRzeP6Ufo65Z", }), [ - "uQf4pS38FjRF294QFEXizhYkZFjSR9ZSBvvV6MV5b4VpdfRnK3PY9TWZ2qHMQKtte3XwKVLcWqsTF6wL9NEZMty" + "uQf4pS38FjRF294QFEXizhYkZFjSR9ZSBvvV6MV5b4VpdfRnK3PY9TWZ2qHMQKtte3XwKVLcWqsTF6wL9NEZMty", ] - ) + ), }, DYrfStEEzbV5sftX8LgUa54Nwnc5m5E1731cqBtiiC66TeXgKpfqZEQTuFY3vhHZ2K1BsaFM3X9FqisR28EtZr8: { @@ -97,26 +97,26 @@ export const CACHED_DETAILS: { [key: string]: ConfirmedTransaction } = { accountKeys: [ "2ojv9BAiHUrvsm9gxDe7fJSzbNZSJcxZvf8dqmWGHG8S", "4C6NCcLPUgGuBBkV2dJW96mrptMUCp3RG1ft9rqwjFi9", - "11111111111111111111111111111111" + "11111111111111111111111111111111", ], header: { numReadonlySignedAccounts: 0, numReadonlyUnsignedAccounts: 1, - numRequiredSignatures: 1 + numRequiredSignatures: 1, }, instructions: [ { accounts: [0, 1], data: "3Bxs3zwYHuDo723R", - programIdIndex: 2 - } + programIdIndex: 2, + }, ], - recentBlockhash: "4hXYcBdfcadcjfWV17ZwMa4MXe8kbZHYHwr3GzfyqunL" + recentBlockhash: "4hXYcBdfcadcjfWV17ZwMa4MXe8kbZHYHwr3GzfyqunL", }), [ - "DYrfStEEzbV5sftX8LgUa54Nwnc5m5E1731cqBtiiC66TeXgKpfqZEQTuFY3vhHZ2K1BsaFM3X9FqisR28EtZr8" + "DYrfStEEzbV5sftX8LgUa54Nwnc5m5E1731cqBtiiC66TeXgKpfqZEQTuFY3vhHZ2K1BsaFM3X9FqisR28EtZr8", ] - ) + ), }, "3bLx2PLpkxCxJA5P7HVe8asFdSWXVAh1DrxfkqWE9bWvPRxXE2hqwj1vuSC858fUw3XAGQcHbJknhtNdxY2sehab": { @@ -127,26 +127,26 @@ export const CACHED_DETAILS: { [key: string]: ConfirmedTransaction } = { accountKeys: [ "2ojv9BAiHUrvsm9gxDe7fJSzbNZSJcxZvf8dqmWGHG8S", "4C6NCcLPUgGuBBkV2dJW96mrptMUCp3RG1ft9rqwjFi9", - "11111111111111111111111111111111" + "11111111111111111111111111111111", ], header: { numReadonlySignedAccounts: 0, numReadonlyUnsignedAccounts: 1, - numRequiredSignatures: 1 + numRequiredSignatures: 1, }, instructions: [ { accounts: [0, 1], data: "3Bxs3zwYHuDo723R", - programIdIndex: 2 - } + programIdIndex: 2, + }, ], - recentBlockhash: "HSzTGt3PJMeQtFr94gEdeZqTRaBxgS8Wf1zq3MDdNT3L" + recentBlockhash: "HSzTGt3PJMeQtFr94gEdeZqTRaBxgS8Wf1zq3MDdNT3L", }), [ - "3bLx2PLpkxCxJA5P7HVe8asFdSWXVAh1DrxfkqWE9bWvPRxXE2hqwj1vuSC858fUw3XAGQcHbJknhtNdxY2sehab" + "3bLx2PLpkxCxJA5P7HVe8asFdSWXVAh1DrxfkqWE9bWvPRxXE2hqwj1vuSC858fUw3XAGQcHbJknhtNdxY2sehab", ] - ) + ), }, "3fE8xNgyxbwbvA5MX3wM87ahDDgCVEaaMMSa8UCWWNxojaRYBgrQyiKXLSxcryMWb7sEyVLBWyqUaRWnQCroSqjY": { @@ -157,26 +157,26 @@ export const CACHED_DETAILS: { [key: string]: ConfirmedTransaction } = { accountKeys: [ "2ojv9BAiHUrvsm9gxDe7fJSzbNZSJcxZvf8dqmWGHG8S", "4C6NCcLPUgGuBBkV2dJW96mrptMUCp3RG1ft9rqwjFi9", - "11111111111111111111111111111111" + "11111111111111111111111111111111", ], header: { numReadonlySignedAccounts: 0, numReadonlyUnsignedAccounts: 1, - numRequiredSignatures: 1 + numRequiredSignatures: 1, }, instructions: [ { accounts: [0, 1], data: "3Bxs3zuKU6mRKSqD", - programIdIndex: 2 - } + programIdIndex: 2, + }, ], - recentBlockhash: "6f6TBMhUoypfR5HHnEqC6VoooKxEcNad5W3Sf63j9MSD" + recentBlockhash: "6f6TBMhUoypfR5HHnEqC6VoooKxEcNad5W3Sf63j9MSD", }), [ - "3fE8xNgyxbwbvA5MX3wM87ahDDgCVEaaMMSa8UCWWNxojaRYBgrQyiKXLSxcryMWb7sEyVLBWyqUaRWnQCroSqjY" + "3fE8xNgyxbwbvA5MX3wM87ahDDgCVEaaMMSa8UCWWNxojaRYBgrQyiKXLSxcryMWb7sEyVLBWyqUaRWnQCroSqjY", ] - ) + ), }, "5PWymGjKV7T1oqeqGn139EHFyjNM2dnNhHCUcfD2bmdj8cfF95HpY1uJ84W89c4sJQnmyZxXcYrcjumx2jHUvxZQ": { @@ -187,26 +187,26 @@ export const CACHED_DETAILS: { [key: string]: ConfirmedTransaction } = { accountKeys: [ "HCV5dGFJXRrJ3jhDYA4DCeb9TEDTwGGYXtT3wHksu2Zr", "4C6NCcLPUgGuBBkV2dJW96mrptMUCp3RG1ft9rqwjFi9", - "11111111111111111111111111111111" + "11111111111111111111111111111111", ], header: { numReadonlySignedAccounts: 0, numReadonlyUnsignedAccounts: 1, - numRequiredSignatures: 1 + numRequiredSignatures: 1, }, instructions: [ { accounts: [0, 1], data: "3Bxs3zrfhSqZJTR1", - programIdIndex: 2 - } + programIdIndex: 2, + }, ], - recentBlockhash: "3HJNFraT7XGAqMrQs83EKwDGB6LpHVwUMQKGaYMNY49E" + recentBlockhash: "3HJNFraT7XGAqMrQs83EKwDGB6LpHVwUMQKGaYMNY49E", }), [ - "5PWymGjKV7T1oqeqGn139EHFyjNM2dnNhHCUcfD2bmdj8cfF95HpY1uJ84W89c4sJQnmyZxXcYrcjumx2jHUvxZQ" + "5PWymGjKV7T1oqeqGn139EHFyjNM2dnNhHCUcfD2bmdj8cfF95HpY1uJ84W89c4sJQnmyZxXcYrcjumx2jHUvxZQ", ] - ) + ), }, "5K4KuqTTRNtzfpxWiwnkePzGfsa3tBEmpMy7vQFR3KWFAZNVY9tvoSaz1Yt5dKxcgsZPio2EsASVDGbQB1HvirGD": { @@ -218,27 +218,27 @@ export const CACHED_DETAILS: { [key: string]: ConfirmedTransaction } = { "6yKHERk8rsbmJxvMpPuwPs1ct3hRiP7xaJF2tvnGU6nK", "4C6NCcLPUgGuBBkV2dJW96mrptMUCp3RG1ft9rqwjFi9", "3o6xgkJ9sTmDeQWyfj3sxwon18fXJB9PV5LDc8sfgR4a", - "11111111111111111111111111111111" + "11111111111111111111111111111111", ], header: { numReadonlySignedAccounts: 0, numReadonlyUnsignedAccounts: 1, - numRequiredSignatures: 2 + numRequiredSignatures: 2, }, instructions: [ { accounts: [1, 2], data: "3Bxs3ztRCp3tH1yZ", - programIdIndex: 3 - } + programIdIndex: 3, + }, ], - recentBlockhash: "8eXVUNRxrDgpsEuoTWyLay1LUh2djc3Y8cw2owXRN8cU" + recentBlockhash: "8eXVUNRxrDgpsEuoTWyLay1LUh2djc3Y8cw2owXRN8cU", }), [ "5K4KuqTTRNtzfpxWiwnkePzGfsa3tBEmpMy7vQFR3KWFAZNVY9tvoSaz1Yt5dKxcgsZPio2EsASVDGbQB1HvirGD", - "37tvpG1eAeEBizJPhJvmpC2BY8npwy6K1wrZdNwdRAfWSbkerY3ZwYAPMHbrzoq7tthvWC2qFU28niqLPxbukeXF" + "37tvpG1eAeEBizJPhJvmpC2BY8npwy6K1wrZdNwdRAfWSbkerY3ZwYAPMHbrzoq7tthvWC2qFU28niqLPxbukeXF", ] - ) + ), }, "45pGoC4Rr3fJ1TKrsiRkhHRbdUeX7633XAGVec6XzVdpRbzQgHhe6ZC6Uq164MPWtiqMg7wCkC6Wy3jy2BqsDEKf": { @@ -250,26 +250,26 @@ export const CACHED_DETAILS: { [key: string]: ConfirmedTransaction } = { "6yKHERk8rsbmJxvMpPuwPs1ct3hRiP7xaJF2tvnGU6nK", "3o6xgkJ9sTmDeQWyfj3sxwon18fXJB9PV5LDc8sfgR4a", "1nc1nerator11111111111111111111111111111111", - "11111111111111111111111111111111" + "11111111111111111111111111111111", ], header: { numReadonlySignedAccounts: 0, numReadonlyUnsignedAccounts: 1, - numRequiredSignatures: 2 + numRequiredSignatures: 2, }, instructions: [ { accounts: [1, 2], data: "3Bxs4NNAyLXRbuZZ", - programIdIndex: 3 - } + programIdIndex: 3, + }, ], - recentBlockhash: "2xnatNUtSbeMRwi3k4vxPwXxeKFQYVuCNRg2rAgydWVP" + recentBlockhash: "2xnatNUtSbeMRwi3k4vxPwXxeKFQYVuCNRg2rAgydWVP", }), [ "45pGoC4Rr3fJ1TKrsiRkhHRbdUeX7633XAGVec6XzVdpRbzQgHhe6ZC6Uq164MPWtiqMg7wCkC6Wy3jy2BqsDEKf", - "2E7CDMTssxTYkdetCKVWQv9X2KNDPiuZrT2Y7647PhFEXuAWWxmHJb3ryCmP29ocQ1SNc7VyJjjm4X3jE8xWDmGY" + "2E7CDMTssxTYkdetCKVWQv9X2KNDPiuZrT2Y7647PhFEXuAWWxmHJb3ryCmP29ocQ1SNc7VyJjjm4X3jE8xWDmGY", ] - ) - } + ), + }, }; diff --git a/explorer/src/providers/transactions/details.tsx b/explorer/src/providers/transactions/details.tsx index bc89ece2de..030a7f1d16 100644 --- a/explorer/src/providers/transactions/details.tsx +++ b/explorer/src/providers/transactions/details.tsx @@ -2,7 +2,7 @@ import React from "react"; import { Connection, TransactionSignature, - ConfirmedTransaction + ConfirmedTransaction, } from "@solana/web3.js"; import { useCluster } from "../cluster"; import { useTransactions, FetchStatus } from "./index"; @@ -18,7 +18,7 @@ type State = { [signature: string]: Details }; export enum ActionType { Update, Add, - Remove + Remove, } interface Update { @@ -46,11 +46,11 @@ function reducer(state: State, action: Action): State { case ActionType.Add: { if (action.signatures.length === 0) return state; const details = { ...state }; - action.signatures.forEach(signature => { + action.signatures.forEach((signature) => { if (!details[signature]) { details[signature] = { fetchStatus: FetchStatus.Fetching, - transaction: null + transaction: null, }; } }); @@ -60,7 +60,7 @@ function reducer(state: State, action: Action): State { case ActionType.Remove: { if (action.signatures.length === 0) return state; const details = { ...state }; - action.signatures.forEach(signature => { + action.signatures.forEach((signature) => { delete details[signature]; }); return details; @@ -72,11 +72,11 @@ function reducer(state: State, action: Action): State { details = { ...details, fetchStatus: action.fetchStatus, - transaction: action.transaction + transaction: action.transaction, }; return { ...state, - [action.signature]: details + [action.signature]: details, }; } break; @@ -109,13 +109,13 @@ export function DetailsProvider({ children }: DetailsProviderProps) { }); const removeList: string[] = []; - removeSignatures.forEach(s => removeList.push(s)); + removeSignatures.forEach((s) => removeList.push(s)); dispatch({ type: ActionType.Remove, signatures: removeList }); const fetchList: string[] = []; - fetchSignatures.forEach(s => fetchList.push(s)); + fetchSignatures.forEach((s) => fetchList.push(s)); dispatch({ type: ActionType.Add, signatures: fetchList }); - fetchSignatures.forEach(signature => { + fetchSignatures.forEach((signature) => { fetchDetails(dispatch, signature, url); }); }, [transactions]); // eslint-disable-line react-hooks/exhaustive-deps @@ -138,7 +138,7 @@ async function fetchDetails( type: ActionType.Update, fetchStatus: FetchStatus.Fetching, transaction: null, - signature + signature, }); let fetchStatus; diff --git a/explorer/src/providers/transactions/index.tsx b/explorer/src/providers/transactions/index.tsx index 10bc470b71..9e07e1f8f8 100644 --- a/explorer/src/providers/transactions/index.tsx +++ b/explorer/src/providers/transactions/index.tsx @@ -6,13 +6,13 @@ import { Account, SignatureResult, PublicKey, - sendAndConfirmTransaction + sendAndConfirmTransaction, } from "@solana/web3.js"; import { useQuery } from "../../utils/url"; import { useCluster, Cluster, ClusterStatus } from "../cluster"; import { DetailsProvider, - StateContext as DetailsStateContext + StateContext as DetailsStateContext, } from "./details"; import base58 from "bs58"; import { useFetchAccountInfo } from "../accounts"; @@ -21,7 +21,7 @@ import { CACHED_STATUSES, isCached } from "./cached"; export enum FetchStatus { Fetching, FetchFailed, - Fetched + Fetched, } export type Confirmations = number | "max"; @@ -50,7 +50,7 @@ interface State { export enum ActionType { UpdateStatus, - FetchSignature + FetchSignature, } interface UpdateStatus { @@ -79,8 +79,8 @@ function reducer(state: State, action: Action): State { [action.signature]: { ...transaction, fetchStatus: FetchStatus.Fetching, - info: undefined - } + info: undefined, + }, }; return { ...state, transactions }; } else { @@ -90,8 +90,8 @@ function reducer(state: State, action: Action): State { [action.signature]: { id: nextId, signature: action.signature, - fetchStatus: FetchStatus.Fetching - } + fetchStatus: FetchStatus.Fetching, + }, }; return { ...state, transactions, idCounter: nextId }; } @@ -105,8 +105,8 @@ function reducer(state: State, action: Action): State { [action.signature]: { ...transaction, fetchStatus: action.fetchStatus, - info: action.info - } + info: action.info, + }, }; return { ...state, transactions }; } @@ -125,7 +125,7 @@ type TransactionsProviderProps = { children: React.ReactNode }; export function TransactionsProvider({ children }: TransactionsProviderProps) { const [state, dispatch] = React.useReducer(reducer, { idCounter: 0, - transactions: {} + transactions: {}, }); const { cluster, status: clusterStatus, url } = useCluster(); @@ -135,7 +135,7 @@ export function TransactionsProvider({ children }: TransactionsProviderProps) { // Check transaction statuses whenever cluster updates React.useEffect(() => { - Object.keys(state.transactions).forEach(signature => { + Object.keys(state.transactions).forEach((signature) => { fetchTransactionStatus(dispatch, signature, url, clusterStatus); }); @@ -146,18 +146,18 @@ export function TransactionsProvider({ children }: TransactionsProviderProps) { }, [testFlag, cluster, clusterStatus, url]); // eslint-disable-line react-hooks/exhaustive-deps // Check for transactions in the url params - const values = TX_ALIASES.flatMap(key => [ + const values = TX_ALIASES.flatMap((key) => [ query.get(key), - query.get(key + "s") + query.get(key + "s"), ]); React.useEffect(() => { values .filter((value): value is string => value !== null) - .flatMap(value => value.split(",")) + .flatMap((value) => value.split(",")) // Remove duplicates .filter((item, pos, self) => self.indexOf(item) === pos) - .filter(signature => !state.transactions[signature]) - .forEach(signature => { + .filter((signature) => !state.transactions[signature]) + .forEach((signature) => { fetchTransactionStatus(dispatch, signature, url, clusterStatus); }); }, [values.toString()]); // eslint-disable-line react-hooks/exhaustive-deps @@ -200,7 +200,7 @@ async function createTestTransaction( const tx = SystemProgram.transfer({ fromPubkey: testAccount.publicKey, toPubkey: testAccount.publicKey, - lamports: 1 + lamports: 1, }); const signature = await sendAndConfirmTransaction( connection, @@ -222,7 +222,7 @@ export async function fetchTransactionStatus( ) { dispatch({ type: ActionType.FetchSignature, - signature + signature, }); // We will auto-refetch when status is no longer connecting @@ -237,7 +237,7 @@ export async function fetchTransactionStatus( try { const connection = new Connection(url); const { value } = await connection.getSignatureStatus(signature, { - searchTransactionHistory: true + searchTransactionHistory: true, }); if (value !== null) { @@ -256,7 +256,7 @@ export async function fetchTransactionStatus( slot: value.slot, timestamp, confirmations, - result: { err: value.err } + result: { err: value.err }, }; } fetchStatus = FetchStatus.Fetched; @@ -270,7 +270,7 @@ export async function fetchTransactionStatus( type: ActionType.UpdateStatus, signature, fetchStatus, - info + info, }); } @@ -285,7 +285,7 @@ export function useTransactions() { idCounter: context.idCounter, transactions: Object.values(context.transactions).sort((a, b) => a.id <= b.id ? 1 : -1 - ) + ), }; } diff --git a/explorer/src/serviceWorker.ts b/explorer/src/serviceWorker.ts index d2386b7941..e7b8199e23 100644 --- a/explorer/src/serviceWorker.ts +++ b/explorer/src/serviceWorker.ts @@ -62,7 +62,7 @@ export function register(config?: Config) { function registerValidSW(swUrl: string, config?: Config) { navigator.serviceWorker .register(swUrl) - .then(registration => { + .then((registration) => { registration.onupdatefound = () => { const installingWorker = registration.installing; if (installingWorker == null) { @@ -98,7 +98,7 @@ function registerValidSW(swUrl: string, config?: Config) { }; }; }) - .catch(error => { + .catch((error) => { console.error("Error during service worker registration:", error); }); } @@ -106,9 +106,9 @@ function registerValidSW(swUrl: string, config?: Config) { function checkValidServiceWorker(swUrl: string, config?: Config) { // Check if the service worker can be found. If it can't reload the page. fetch(swUrl, { - headers: { "Service-Worker": "script" } + headers: { "Service-Worker": "script" }, }) - .then(response => { + .then((response) => { // Ensure service worker exists, and that we really are getting a JS file. const contentType = response.headers.get("content-type"); if ( @@ -116,7 +116,7 @@ function checkValidServiceWorker(swUrl: string, config?: Config) { (contentType != null && contentType.indexOf("javascript") === -1) ) { // No service worker found. Probably a different app. Reload the page. - navigator.serviceWorker.ready.then(registration => { + navigator.serviceWorker.ready.then((registration) => { registration.unregister().then(() => { window.location.reload(); }); @@ -136,10 +136,10 @@ function checkValidServiceWorker(swUrl: string, config?: Config) { export function unregister() { if ("serviceWorker" in navigator) { navigator.serviceWorker.ready - .then(registration => { + .then((registration) => { registration.unregister(); }) - .catch(error => { + .catch((error) => { console.error(error.message); }); } diff --git a/explorer/src/utils/date.ts b/explorer/src/utils/date.ts index 3e9a59f123..d2a42d6e00 100644 --- a/explorer/src/utils/date.ts +++ b/explorer/src/utils/date.ts @@ -3,14 +3,14 @@ export function displayTimestamp(unixTimestamp: number): string { const dateString = new Intl.DateTimeFormat("en-US", { year: "numeric", month: "long", - day: "numeric" + day: "numeric", }).format(expireDate); const timeString = new Intl.DateTimeFormat("en-US", { hour: "numeric", minute: "numeric", second: "numeric", hour12: false, - timeZoneName: "long" + timeZoneName: "long", }).format(expireDate); return `${dateString} at ${timeString}`; } diff --git a/explorer/src/utils/tx.ts b/explorer/src/utils/tx.ts index 8721f98e3e..702586e747 100644 --- a/explorer/src/utils/tx.ts +++ b/explorer/src/utils/tx.ts @@ -6,7 +6,7 @@ import { SYSVAR_CLOCK_PUBKEY, SYSVAR_RENT_PUBKEY, SYSVAR_REWARDS_PUBKEY, - SYSVAR_STAKE_HISTORY_PUBKEY + SYSVAR_STAKE_HISTORY_PUBKEY, } from "@solana/web3.js"; const PROGRAM_IDS = { @@ -17,13 +17,13 @@ const PROGRAM_IDS = { Storage111111111111111111111111111111111111: "Storage", [SystemProgram.programId.toBase58()]: "System", Vest111111111111111111111111111111111111111: "Vest", - [VOTE_PROGRAM_ID.toBase58()]: "Vote" + [VOTE_PROGRAM_ID.toBase58()]: "Vote", }; const LOADER_IDS = { MoveLdr111111111111111111111111111111111111: "Move Loader", NativeLoader1111111111111111111111111111111: "Native Loader", - [BpfLoader.programId.toBase58()]: "BPF Loader" + [BpfLoader.programId.toBase58()]: "BPF Loader", }; const SYSVAR_IDS = { @@ -36,7 +36,7 @@ const SYSVAR_IDS = { [SYSVAR_REWARDS_PUBKEY.toBase58()]: "SYSVAR_REWARDS", SysvarS1otHashes111111111111111111111111111: "SYSVAR_SLOT_HASHES", SysvarS1otHistory11111111111111111111111111: "SYSVAR_SLOT_HISTORY", - [SYSVAR_STAKE_HISTORY_PUBKEY.toBase58()]: "SYSVAR_STAKE_HISTORY" + [SYSVAR_STAKE_HISTORY_PUBKEY.toBase58()]: "SYSVAR_STAKE_HISTORY", }; export function displayAddress(address: string): string { diff --git a/explorer/src/utils/url.ts b/explorer/src/utils/url.ts index 26cacf1a99..94f0d63d71 100644 --- a/explorer/src/utils/url.ts +++ b/explorer/src/utils/url.ts @@ -17,7 +17,7 @@ export function pickCluster(location: Location): Location { return { ...location, - search + search, }; } @@ -27,7 +27,7 @@ export function findGetParameter(parameterName: string): string | null { window.location.search .substr(1) .split("&") - .forEach(function(item) { + .forEach(function (item) { tmp = item.split("="); if (tmp[0].toLowerCase() === parameterName.toLowerCase()) { if (tmp.length === 2) {