Remove source tracking for addresses and signatures

This commit is contained in:
Justin Starry 2020-05-12 18:10:48 +08:00 committed by Michael Vines
parent 595f3ebe14
commit 59288117b9
4 changed files with 11 additions and 39 deletions

View File

@ -1,6 +1,5 @@
import React from "react"; import React from "react";
import { import {
Source,
useFetchTransactionStatus, useFetchTransactionStatus,
useTransactionStatus, useTransactionStatus,
useTransactionDetails, useTransactionDetails,
@ -37,7 +36,7 @@ export default function TransactionDetails({ signature }: Props) {
// Fetch transaction on load // Fetch transaction on load
React.useEffect(() => { React.useEffect(() => {
fetchTransaction(signature, Source.Url); fetchTransaction(signature);
}, [signature]); // eslint-disable-line react-hooks/exhaustive-deps }, [signature]); // eslint-disable-line react-hooks/exhaustive-deps
const searchInput = ( const searchInput = (

View File

@ -3,7 +3,6 @@ import { Link } from "react-router-dom";
import { import {
useTransactions, useTransactions,
TransactionStatus, TransactionStatus,
Source,
FetchStatus, FetchStatus,
useFetchTransactionStatus useFetchTransactionStatus
} from "../providers/transactions"; } from "../providers/transactions";
@ -33,7 +32,7 @@ function TransactionsCard() {
return; return;
} }
fetchTransaction(signature, Source.Input); fetchTransaction(signature);
const inputEl = signatureInput.current; const inputEl = signatureInput.current;
if (inputEl) { if (inputEl) {
inputEl.value = ""; inputEl.value = "";

View File

@ -23,11 +23,6 @@ export type History = Map<
Map<TransactionSignature, TransactionError | null> Map<TransactionSignature, TransactionError | null>
>; >;
enum Source {
Url,
Input
}
export interface Details { export interface Details {
executable: boolean; executable: boolean;
owner: PublicKey; owner: PublicKey;
@ -37,7 +32,6 @@ export interface Details {
export interface Account { export interface Account {
id: number; id: number;
pubkey: PublicKey; pubkey: PublicKey;
source: Source;
status: Status; status: Status;
lamports?: number; lamports?: number;
details?: Details; details?: Details;
@ -92,7 +86,6 @@ function reducer(state: State, action: Action): State {
[address]: { [address]: {
id: idCounter, id: idCounter,
status: Status.Checking, status: Status.Checking,
source: Source.Input,
pubkey: action.pubkey pubkey: action.pubkey
} }
}; };
@ -154,7 +147,6 @@ function initState(): State {
accounts[address] = { accounts[address] = {
id, id,
status: Status.Checking, status: Status.Checking,
source: Source.Url,
pubkey pubkey
}; };
} catch (err) { } catch (err) {

View File

@ -27,12 +27,6 @@ export enum FetchStatus {
Fetched Fetched
} }
export enum Source {
Url,
Input,
Test
}
export type Confirmations = number | "max"; export type Confirmations = number | "max";
export interface TransactionStatusInfo { export interface TransactionStatusInfo {
@ -43,7 +37,6 @@ export interface TransactionStatusInfo {
export interface TransactionStatus { export interface TransactionStatus {
id: number; id: number;
source: Source;
fetchStatus: FetchStatus; fetchStatus: FetchStatus;
signature: TransactionSignature; signature: TransactionSignature;
info?: TransactionStatusInfo; info?: TransactionStatusInfo;
@ -52,7 +45,6 @@ export interface TransactionStatus {
type Transactions = { [signature: string]: TransactionStatus }; type Transactions = { [signature: string]: TransactionStatus };
interface State { interface State {
idCounter: number; idCounter: number;
selected?: TransactionSignature;
transactions: Transactions; transactions: Transactions;
} }
@ -71,7 +63,6 @@ interface UpdateStatus {
interface FetchSignature { interface FetchSignature {
type: ActionType.FetchSignature; type: ActionType.FetchSignature;
signature: TransactionSignature; signature: TransactionSignature;
source: Source;
} }
type Action = UpdateStatus | FetchSignature; type Action = UpdateStatus | FetchSignature;
@ -88,7 +79,6 @@ function reducer(state: State, action: Action): State {
...state.transactions, ...state.transactions,
[action.signature]: { [action.signature]: {
id: nextId, id: nextId,
source: action.source,
signature: action.signature, signature: action.signature,
fetchStatus: FetchStatus.Fetching fetchStatus: FetchStatus.Fetching
} }
@ -137,8 +127,7 @@ export function TransactionsProvider({ children }: TransactionsProviderProps) {
Object.keys(state.transactions).forEach(signature => { Object.keys(state.transactions).forEach(signature => {
dispatch({ dispatch({
type: ActionType.FetchSignature, type: ActionType.FetchSignature,
signature, signature
source: Source.Url
}); });
fetchTransactionStatus(dispatch, signature, url, clusterStatus); fetchTransactionStatus(dispatch, signature, url, clusterStatus);
}); });
@ -164,8 +153,7 @@ export function TransactionsProvider({ children }: TransactionsProviderProps) {
.forEach(signature => { .forEach(signature => {
dispatch({ dispatch({
type: ActionType.FetchSignature, type: ActionType.FetchSignature,
signature, signature
source: Source.Url
}); });
fetchTransactionStatus(dispatch, signature, url, clusterStatus); fetchTransactionStatus(dispatch, signature, url, clusterStatus);
}); });
@ -201,8 +189,7 @@ async function createTestTransaction(
); );
dispatch({ dispatch({
type: ActionType.FetchSignature, type: ActionType.FetchSignature,
signature, signature
source: Source.Test
}); });
fetchTransactionStatus(dispatch, signature, url, clusterStatus); fetchTransactionStatus(dispatch, signature, url, clusterStatus);
accountsDispatch({ accountsDispatch({
@ -224,8 +211,7 @@ async function createTestTransaction(
const signature = await connection.sendTransaction(tx, testAccount); const signature = await connection.sendTransaction(tx, testAccount);
dispatch({ dispatch({
type: ActionType.FetchSignature, type: ActionType.FetchSignature,
signature, signature
source: Source.Test
}); });
fetchTransactionStatus(dispatch, signature, url, clusterStatus); fetchTransactionStatus(dispatch, signature, url, clusterStatus);
} catch (error) { } catch (error) {
@ -341,15 +327,11 @@ export function useFetchTransactionStatus() {
} }
const { url, status } = useCluster(); const { url, status } = useCluster();
return (signature: TransactionSignature, source?: Source) => { return (signature: TransactionSignature) => {
if (source !== undefined) { dispatch({
dispatch({ type: ActionType.FetchSignature,
type: ActionType.FetchSignature, signature
signature, });
source
});
}
fetchTransactionStatus(dispatch, signature, url, status); fetchTransactionStatus(dispatch, signature, url, status);
}; };
} }