Remove source tracking for addresses and signatures
This commit is contained in:
parent
595f3ebe14
commit
59288117b9
|
@ -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 = (
|
||||||
|
|
|
@ -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 = "";
|
||||||
|
|
|
@ -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) {
|
||||||
|
|
|
@ -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);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue