Skip to content

Commit

Permalink
Move validStakepools request before accountsInfo
Browse files Browse the repository at this point in the history
Center account info items
  • Loading branch information
PeterBenc committed Jan 14, 2021
1 parent f55c72d commit 3a6a602
Show file tree
Hide file tree
Showing 7 changed files with 25 additions and 24 deletions.
10 changes: 6 additions & 4 deletions app/frontend/actions.ts
Expand Up @@ -144,12 +144,13 @@ export default ({setState, getState}: {setState: SetStateFn; getState: GetStateF
cryptoProvider,
})

const {validStakepools} = await wallet.getValidStakepools()
const {
accountsInfo,
totalRewardsBalance,
totalWalletBalance,
shouldShowSaturatedBanner,
} = await wallet.getAccountsInfo()
} = await wallet.getAccountsInfo(validStakepools)
account = wallet.accounts[0] // TODO: Make accounts private

const conversionRatesPromise = getConversionRates(state)
Expand All @@ -166,6 +167,7 @@ export default ({setState, getState}: {setState: SetStateFn; getState: GetStateF
state.shouldShowPremiumBanner && PREMIUM_MEMBER_BALANCE_TRESHOLD < totalWalletBalance
const isBigDelegator = totalWalletBalance > BIG_DELEGATOR_THRESHOLD
setState({
validStakepools,
accounts: accountsInfo,
totalWalletBalance,
totalRewardsBalance,
Expand Down Expand Up @@ -210,15 +212,15 @@ export default ({setState, getState}: {setState: SetStateFn; getState: GetStateF
return true
}

const reloadWalletInfo = async (state) => {
const reloadWalletInfo = async (state: State) => {
loadingAction(state, 'Reloading wallet info...')
try {
const {
accountsInfo,
totalRewardsBalance,
totalWalletBalance,
shouldShowSaturatedBanner,
} = await wallet.getAccountsInfo()
} = await wallet.getAccountsInfo(state.validStakepools)
const conversionRates = getConversionRates(state)

// timeout setting loading state, so that loading shows even if everything was cached
Expand Down Expand Up @@ -1001,7 +1003,7 @@ export default ({setState, getState}: {setState: SetStateFn; getState: GetStateF

const loadNewAccount = async (state: State, accountIndex: number) => {
await wallet.loadAccount(accountIndex)
const accountInfo = await wallet.accounts[accountIndex].getWalletInfo()
const accountInfo = await wallet.accounts[accountIndex].getAccountInfo(state.validStakepools)
setState({
accounts: {
...state.accounts,
Expand Down
Expand Up @@ -120,7 +120,7 @@ const AccountTile = ({
<DelegateButton />
</div>
) : (
<div className="account-action-buttons desktop" style="width: 94px;" />
<div className="account-action-buttons desktop" style="width: 98px;" />
)}
</div>
)
Expand Down
17 changes: 5 additions & 12 deletions app/frontend/wallet/account.ts
Expand Up @@ -276,10 +276,9 @@ const Account = ({
return myAddresses.areAddressesUsed()
}

async function getWalletInfo() {
const {validStakepools} = await getValidStakepools()
async function getAccountInfo(validStakepools) {
const {stakingBalance, nonStakingBalance, balance} = await getBalance()
const shelleyAccountInfo = await getAccountInfo(validStakepools)
const shelleyAccountInfo = await getStakingInfo(validStakepools)
const visibleAddresses = await getVisibleAddresses()
const transactionHistory = await getHistory()
const stakingHistory = await getStakingHistory(shelleyAccountInfo, validStakepools)
Expand All @@ -290,7 +289,6 @@ const Account = ({
const isUsed = await isAccountUsed()

return {
validStakepools,
balance,
shelleyBalances: {
nonStakingBalance,
Expand Down Expand Up @@ -335,11 +333,11 @@ const Account = ({
)
}

async function getAccountInfo(validStakepools) {
async function getStakingInfo(validStakepools) {
const shelleyXpub = await accoutXpubShelley(cryptoProvider, accountIndex)
const byronXpub = accountIndex === 0 && (await accoutXpubByron(cryptoProvider, accountIndex))
const accountPubkeyHex = await stakeAccountPubkeyHex(cryptoProvider, accountIndex)
const {nextRewardDetails, ...accountInfo} = await blockchainExplorer.getAccountInfo(
const {nextRewardDetails, ...accountInfo} = await blockchainExplorer.getStakingInfo(
accountPubkeyHex
)
const poolInfo = await getPoolInfo(accountInfo.delegation.url)
Expand All @@ -364,10 +362,6 @@ const Account = ({
}
}

function getValidStakepools(): Promise<any> {
return blockchainExplorer.getValidStakepools()
}

async function getChangeAddress() {
/*
* We use visible addresses as change addresses to mainintain
Expand Down Expand Up @@ -445,8 +439,7 @@ const Account = ({
verifyAddress,
generateNewSeeds,
getAccountInfo,
getValidStakepools,
getWalletInfo,
getStakingInfo,
getPoolInfo,
accountIndex,
getPoolRecommendation,
Expand Down
4 changes: 2 additions & 2 deletions app/frontend/wallet/blockchain-explorer.ts
Expand Up @@ -368,7 +368,7 @@ const blockchainExplorer = (ADALITE_CONFIG) => {
}))
}

async function getAccountInfo(accountPubkeyHex) {
async function getStakingInfo(accountPubkeyHex) {
// TODO: not pubkey, address
const url = `${
ADALITE_CONFIG.ADALITE_BLOCKCHAIN_EXPLORER_URL
Expand Down Expand Up @@ -401,7 +401,7 @@ const blockchainExplorer = (ADALITE_CONFIG) => {
getStakingHistory,
getRewardDetails,
getPoolRecommendation,
getAccountInfo,
getStakingInfo,
getBestSlot,
getValidStakepools,
}
Expand Down
2 changes: 0 additions & 2 deletions app/frontend/wallet/constants.ts
Expand Up @@ -130,5 +130,3 @@ export const BIG_DELEGATOR_THRESHOLD = 10000000000000
export const SATURATION_POINT = 62224967000000

export const MAX_BULK_EXPORT_AMOUNT = 3

export const ENABLE_BULK_EXPORT = true
11 changes: 9 additions & 2 deletions app/frontend/wallet/wallet.ts
Expand Up @@ -71,9 +71,11 @@ const Wallet = ({config, cryptoProvider}) => {
return null
}

async function getAccountsInfo() {
async function getAccountsInfo(validStakepools) {
await discoverAccounts()
const accountsInfo = await Promise.all(accounts.map((account) => account.getWalletInfo()))
const accountsInfo = await Promise.all(
accounts.map((account) => account.getAccountInfo(validStakepools))
)
const totalWalletBalance = accountsInfo.reduce(
(a, {shelleyBalances}) =>
shelleyBalances.stakingBalance + shelleyBalances.nonStakingBalance + a,
Expand All @@ -94,6 +96,10 @@ const Wallet = ({config, cryptoProvider}) => {
}
}

function getValidStakepools(): Promise<any> {
return blockchainExplorer.getValidStakepools()
}

return {
isHwWallet,
getWalletName,
Expand All @@ -105,6 +111,7 @@ const Wallet = ({config, cryptoProvider}) => {
loadAccount,
discoverAccounts,
getAccountsInfo,
getValidStakepools,
}
}

Expand Down
3 changes: 2 additions & 1 deletion app/public/css/styles.css
Expand Up @@ -1585,6 +1585,7 @@ li.main-tab input + label.selected:after {

.account-action-buttons.desktop {
flex-direction: column;
margin-left: -48px;
}

.account-verify-wrapper {
Expand Down Expand Up @@ -5386,7 +5387,7 @@ input:checked + .slider:before {
}

.card-column.tablet-offset {
margin-bottom: 36px;
align-self: flex-start;
}

.card.account {
Expand Down

0 comments on commit 3a6a602

Please sign in to comment.