Skip to content

Commit bbe60e0

Browse files
committed
fix: [ADN-409] Fix Cannot Sign Transaction popup
1 parent af1aba3 commit bbe60e0

File tree

10 files changed

+27
-19
lines changed

10 files changed

+27
-19
lines changed

packages/adena-extension/src/common/provider/wallet/wallet-provider.tsx

+4-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ export const WalletProvider: React.FC<React.PropsWithChildren<unknown>> = ({ chi
5252
}, []);
5353

5454
useEffect(() => {
55-
if (wallet && networkMetainfos && tokenMetainfos) {
55+
if (wallet && networkMetainfos.length > 0 && tokenMetainfos.length > 0) {
5656
setWalletStatus('FINISH');
5757
}
5858
}, [wallet, networkMetainfos, tokenMetainfos]);
@@ -75,6 +75,9 @@ export const WalletProvider: React.FC<React.PropsWithChildren<unknown>> = ({ chi
7575
setWalletStatus('LOADING');
7676
try {
7777
const wallet = await walletService.loadWallet();
78+
console.log(wallet);
79+
const currentAccountId = await accountService.getCurrentAccountId();
80+
wallet.currentAccountId = currentAccountId;
7881
setWallet(wallet);
7982
await initCurrentAccount(wallet);
8083
} catch (e) {

packages/adena-extension/src/hooks/use-current-account.tsx

-2
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,6 @@ export const useCurrentAccount = (): {
3232
return false;
3333
}
3434
await accountService.changeCurrentAccount(changedAccount);
35-
const clone = wallet.clone();
36-
clone.currentAccountId = changedAccount.id;
3735
setCurrentAccount(changedAccount);
3836
dispatchChangedEvent(changedAccount);
3937
return true;

packages/adena-extension/src/hooks/use-remove-account.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ export const useRemoveAccount = (): {
2525
clone.removeAccount(account);
2626
const nextAccount = clone.accounts[clone.accounts.length - 1];
2727
clone.currentAccountId = nextAccount.id;
28-
await updateWallet(clone);
2928
await changeCurrentAccount(nextAccount);
29+
await updateWallet(clone);
3030
return true;
3131
};
3232

packages/adena-extension/src/hooks/web/google-login/use-google-login-screen.ts

+5-1
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,11 @@ const useGoogleLoginScreen = (): UseGoogleLoginReturn => {
102102
const web3AuthKeyring = await Web3AuthKeyring.fromPrivateKeyStr(privateKey);
103103
const account = await SingleAccount.createBy(web3AuthKeyring, clone.nextAccountName);
104104
clone.addAccount(account);
105-
await changeCurrentAccount(account);
105+
clone.addKeyring(web3AuthKeyring);
106+
const storedAccount = clone.accounts.find((storedAccount) => storedAccount.id === account.id);
107+
if (storedAccount) {
108+
await changeCurrentAccount(storedAccount);
109+
}
106110
await updateWallet(clone);
107111
navigate(RoutePath.WebAccountAddedComplete);
108112
},

packages/adena-extension/src/hooks/web/setup-airgap/use-setup-airgap-screen.ts

+4-2
Original file line numberDiff line numberDiff line change
@@ -107,8 +107,10 @@ const useSetupAirgapScreen = (): UseSetupAirgapScreenReturn => {
107107
const clone = wallet.clone();
108108
clone.addAccount(account);
109109
clone.addKeyring(addressKeyring);
110-
111-
await changeCurrentAccount(account);
110+
const storedAccount = clone.accounts.find((storedAccount) => storedAccount.id === account.id);
111+
if (storedAccount) {
112+
await changeCurrentAccount(storedAccount);
113+
}
112114
await updateWallet(clone);
113115
navigate(RoutePath.WebAccountAddedComplete);
114116
}, [address, walletService]);

packages/adena-extension/src/hooks/web/use-account-import-screen.ts

+4-2
Original file line numberDiff line numberDiff line change
@@ -114,9 +114,11 @@ const useAccountImportScreen = ({ wallet }: { wallet: Wallet }): UseAccountImpor
114114
const clone = wallet.clone();
115115
clone.addAccount(account);
116116
clone.addKeyring(keyring);
117-
117+
const storedAccount = clone.accounts.find((storedAccount) => storedAccount.id === account.id);
118+
if (storedAccount) {
119+
await changeCurrentAccount(storedAccount);
120+
}
118121
await updateWallet(clone);
119-
await changeCurrentAccount(account);
120122
navigate(RoutePath.WebAccountAddedComplete);
121123
}
122124
}, [step, privateKey, ableToSkipQuestionnaire, makePrivateKeyAccountAndKeyring]);

packages/adena-extension/src/hooks/web/use-wallet-create-screen.ts

+6-1
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,13 @@ const useWalletCreateScreen = (): UseWalletCreateReturn => {
7272
const clone = wallet.clone();
7373
clone.addAccount(account);
7474
clone.addKeyring(keyring);
75+
const storedAccount = clone.accounts.find(
76+
(storedAccount) => storedAccount.id === account.id,
77+
);
78+
if (storedAccount) {
79+
await changeCurrentAccount(storedAccount);
80+
}
7581
await updateWallet(clone);
76-
await changeCurrentAccount(account);
7782
navigate(RoutePath.WebAccountAddedComplete);
7883
} else {
7984
const createdWallet = await AdenaWallet.createByMnemonic(seeds);

packages/adena-extension/src/pages/popup/certify/remove-account/index.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ export const RemoveAccount = (): JSX.Element => {
2828
}
2929
setState('LOADING');
3030
await removeAccount(currentAccount);
31-
navigate(RoutePath.Home);
31+
navigate(RoutePath.Wallet);
3232
};
3333

3434
return (

packages/adena-extension/src/pages/popup/wallet/account-details/index.tsx

-5
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import AccountDetails from '@components/pages/account-details/account-details';
66
import { useLoadAccounts } from '@hooks/use-load-accounts';
77
import { useNetwork } from '@hooks/use-network';
88
import { useAccountName } from '@hooks/use-account-name';
9-
import { useCurrentAccount } from '@hooks/use-current-account';
109
import { CommonFullContentLayout } from '@components/atoms';
1110
import useLink from '@hooks/use-link';
1211
import { AdenaStorage } from '@common/storage';
@@ -20,7 +19,6 @@ const AccountDetailsContainer: React.FC = () => {
2019
const { accounts } = useLoadAccounts();
2120
const { currentNetwork } = useNetwork();
2221
const { accountNames, changeAccountName } = useAccountName();
23-
const { changeCurrentAccount } = useCurrentAccount();
2422
const [originName, setOriginName] = useState('');
2523
const [name, setName] = useState('');
2624
const [address, setAddress] = useState<string>('');
@@ -55,9 +53,6 @@ const AccountDetailsContainer: React.FC = () => {
5553
}, [address]);
5654

5755
const moveExportPrivateKey = useCallback(async () => {
58-
if (account) {
59-
await changeCurrentAccount(account);
60-
}
6156
const sessionStorage = AdenaStorage.session();
6257
await sessionStorage.set(WALLET_EXPORT_TYPE_STORAGE_KEY, 'PRIVATE_KEY');
6358
openSecurity();

packages/adena-extension/src/pages/popup/wallet/wallet-create/index.tsx

+2-3
Original file line numberDiff line numberDiff line change
@@ -14,18 +14,17 @@ export const WalletCreate = (): JSX.Element => {
1414
useEffect(() => {
1515
switch (state) {
1616
case 'NONE':
17+
case 'LOADING':
1718
break;
1819
case 'CREATE':
1920
case 'FAIL':
2021
openRegister();
2122
break;
22-
case 'LOADING':
23-
navigate(RoutePath.Wallet);
24-
break;
2523
case 'LOGIN':
2624
navigate(RoutePath.Login);
2725
break;
2826
default:
27+
navigate(RoutePath.Wallet);
2928
break;
3029
}
3130
}, [state]);

0 commit comments

Comments
 (0)