mirror of
https://github.com/trezor/trezor-wallet
synced 2024-11-24 09:18:09 +00:00
unifying DiscoveryResult type with EthereumAccount from 'trezor-connect'
This commit is contained in:
parent
38669a5dfb
commit
e512812eb4
@ -28,7 +28,7 @@ import type {
|
|||||||
PromiseAction,
|
PromiseAction,
|
||||||
ThunkAction,
|
ThunkAction,
|
||||||
} from 'flowtype';
|
} from 'flowtype';
|
||||||
|
import type { EthereumAccount } from 'trezor-connect';
|
||||||
import type { Token } from 'reducers/TokensReducer';
|
import type { Token } from 'reducers/TokensReducer';
|
||||||
import type { NetworkToken } from 'reducers/LocalStorageReducer';
|
import type { NetworkToken } from 'reducers/LocalStorageReducer';
|
||||||
|
|
||||||
@ -36,21 +36,16 @@ export type BlockchainAction = {
|
|||||||
type: typeof BLOCKCHAIN.READY,
|
type: typeof BLOCKCHAIN.READY,
|
||||||
}
|
}
|
||||||
|
|
||||||
export type DiscoveryResult = {
|
export const discoverAccount = (device: TrezorDevice, address: string, network: string): PromiseAction<EthereumAccount> => async (dispatch: Dispatch, getState: GetState): Promise<EthereumAccount> => {
|
||||||
transactions: number;
|
|
||||||
block: number;
|
|
||||||
balance: string;
|
|
||||||
nonce: number;
|
|
||||||
}
|
|
||||||
|
|
||||||
export const discoverAccount = (device: TrezorDevice, xpub: string, network: string): PromiseAction<DiscoveryResult> => async (dispatch: Dispatch, getState: GetState): Promise<DiscoveryResult> => {
|
|
||||||
// get data from connect
|
// get data from connect
|
||||||
// Temporary disabled, enable after trezor-connect@5.0.32 release
|
// Temporary disabled, enable after trezor-connect@5.0.32 release
|
||||||
const txs = await TrezorConnect.ethereumGetAccountInfo({
|
const txs = await TrezorConnect.ethereumGetAccountInfo({
|
||||||
account: {
|
account: {
|
||||||
address: xpub,
|
address,
|
||||||
block: 0,
|
block: 0,
|
||||||
transactions: 0
|
transactions: 0,
|
||||||
|
balance: "0",
|
||||||
|
nonce: 0
|
||||||
},
|
},
|
||||||
coin: network,
|
coin: network,
|
||||||
});
|
});
|
||||||
@ -60,9 +55,10 @@ export const discoverAccount = (device: TrezorDevice, xpub: string, network: str
|
|||||||
}
|
}
|
||||||
|
|
||||||
// blockbook web3 fallback
|
// blockbook web3 fallback
|
||||||
const web3account = await dispatch( Web3Actions.discoverAccount(xpub, network) );
|
const web3account = await dispatch( Web3Actions.discoverAccount(address, network) );
|
||||||
// return { transactions: txs.payload, ...web3account };
|
// return { transactions: txs.payload, ...web3account };
|
||||||
return {
|
return {
|
||||||
|
address,
|
||||||
transactions: txs.payload.transactions,
|
transactions: txs.payload.transactions,
|
||||||
block: txs.payload.block,
|
block: txs.payload.block,
|
||||||
balance: web3account.balance,
|
balance: web3account.balance,
|
||||||
|
@ -27,7 +27,6 @@ import type { PendingTx } from 'reducers/PendingTxReducer';
|
|||||||
import type { Web3Instance } from 'reducers/Web3Reducer';
|
import type { Web3Instance } from 'reducers/Web3Reducer';
|
||||||
import type { Token } from 'reducers/TokensReducer';
|
import type { Token } from 'reducers/TokensReducer';
|
||||||
import type { NetworkToken } from 'reducers/LocalStorageReducer';
|
import type { NetworkToken } from 'reducers/LocalStorageReducer';
|
||||||
import type { DiscoveryResult } from './BlockchainActions';
|
|
||||||
import * as TokenActions from './TokenActions';
|
import * as TokenActions from './TokenActions';
|
||||||
import * as AccountsActions from './AccountsActions';
|
import * as AccountsActions from './AccountsActions';
|
||||||
|
|
||||||
@ -131,11 +130,12 @@ export const initWeb3 = (network: string, urlIndex: number = 0): PromiseAction<W
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
export const discoverAccount = (address: string, network: string): PromiseAction<DiscoveryResult> => async (dispatch: Dispatch, getState: GetState): Promise<DiscoveryResult> => {
|
export const discoverAccount = (address: string, network: string): PromiseAction<EthereumAccount> => async (dispatch: Dispatch, getState: GetState): Promise<EthereumAccount> => {
|
||||||
const instance: Web3Instance = await dispatch( initWeb3(network) );
|
const instance: Web3Instance = await dispatch( initWeb3(network) );
|
||||||
const balance = await instance.web3.eth.getBalance(address);
|
const balance = await instance.web3.eth.getBalance(address);
|
||||||
const nonce = await instance.web3.eth.getTransactionCount(address);
|
const nonce = await instance.web3.eth.getTransactionCount(address);
|
||||||
return {
|
return {
|
||||||
|
address,
|
||||||
transactions: 0,
|
transactions: 0,
|
||||||
block: 0,
|
block: 0,
|
||||||
balance: EthereumjsUnits.convert(balance, 'wei', 'ether'),
|
balance: EthereumjsUnits.convert(balance, 'wei', 'ether'),
|
||||||
|
Loading…
Reference in New Issue
Block a user