Commit 287f64cf authored by Moody Salem's avatar Moody Salem

Fix a redux error from passing a BigNumber to the store

parent 822f9e5f
import { TransactionReceipt } from '@ethersproject/providers'
import { createAction } from '@reduxjs/toolkit' import { createAction } from '@reduxjs/toolkit'
export interface SerializableTransactionReceipt {
to: string
from: string
contractAddress: string
transactionIndex: number
blockHash: string
transactionHash: string
blockNumber: number
status?: number
}
export const addTransaction = createAction<{ export const addTransaction = createAction<{
chainId: number chainId: number
hash: string hash: string
...@@ -8,6 +18,8 @@ export const addTransaction = createAction<{ ...@@ -8,6 +18,8 @@ export const addTransaction = createAction<{
summary?: string summary?: string
}>('addTransaction') }>('addTransaction')
export const checkTransaction = createAction<{ chainId: number; hash: string; blockNumber: number }>('checkTransaction') export const checkTransaction = createAction<{ chainId: number; hash: string; blockNumber: number }>('checkTransaction')
export const finalizeTransaction = createAction<{ chainId: number; hash: string; receipt: TransactionReceipt }>( export const finalizeTransaction = createAction<{
'finalizeTransaction' chainId: number
) hash: string
receipt: SerializableTransactionReceipt
}>('finalizeTransaction')
...@@ -36,7 +36,22 @@ export function Updater() { ...@@ -36,7 +36,22 @@ export function Updater() {
if (!receipt) { if (!receipt) {
dispatch(checkTransaction({ chainId, hash, blockNumber: globalBlockNumber })) dispatch(checkTransaction({ chainId, hash, blockNumber: globalBlockNumber }))
} else { } else {
dispatch(finalizeTransaction({ chainId, hash, receipt })) dispatch(
finalizeTransaction({
chainId,
hash,
receipt: {
blockHash: receipt.blockHash,
blockNumber: receipt.blockNumber,
contractAddress: receipt.contractAddress,
from: receipt.from,
status: receipt.status,
to: receipt.to,
transactionHash: receipt.transactionHash,
transactionIndex: receipt.transactionIndex
}
})
)
// add success or failure popup // add success or failure popup
if (receipt.status === 1) { if (receipt.status === 1) {
addPopup({ addPopup({
......
import { TransactionReceipt } from '@ethersproject/providers'
import { createReducer } from '@reduxjs/toolkit' import { createReducer } from '@reduxjs/toolkit'
import { addTransaction, checkTransaction, finalizeTransaction } from './actions' import { addTransaction, checkTransaction, finalizeTransaction, SerializableTransactionReceipt } from './actions'
export interface TransactionDetails { export interface TransactionDetails {
approvalOfToken?: string approvalOfToken?: string
blockNumberChecked?: number blockNumberChecked?: number
summary?: string summary?: string
receipt?: TransactionReceipt receipt?: SerializableTransactionReceipt
} }
export interface TransactionState { export interface TransactionState {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment