Skip to content

Commit 12d85de

Browse files
iketwMananTank
andauthored
[React/RN] Move usePersonalWalletAddress hook to core (#1971)
Co-authored-by: Manan Tank <[email protected]>
1 parent 1094a03 commit 12d85de

File tree

5 files changed

+49
-24
lines changed

5 files changed

+49
-24
lines changed

.changeset/rotten-tigers-shake.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
"@thirdweb-dev/react-native": patch
3+
"@thirdweb-dev/react-core": patch
4+
---
5+
6+
Adds usePersonalWalletAddress hook to React/RN
7+
8+
```typescript
9+
// React
10+
import { usePersonalWalletAddress } from "@thirdweb-dev/react";
11+
12+
const personalWalletAddress = usePersonalWalletAddress();
13+
```
14+
15+
```typescript
16+
// React-Native
17+
import { usePersonalWalletAddress } from "@thirdweb-dev/react-native";
18+
19+
const personalWalletAddress = usePersonalWalletAddress();
20+
```
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import { useEffect, useState } from "react";
2+
import { useWallet } from "../../core/hooks/wallet-hooks";
3+
4+
export const usePersonalWalletAddress = () => {
5+
const [personalWalletAddress, setPersonalWalletAddress] = useState<
6+
string | undefined
7+
>();
8+
const activeWallet = useWallet();
9+
10+
useEffect(() => {
11+
(async () => {
12+
const possiblePersonalWallet = activeWallet?.getPersonalWallet();
13+
14+
if (!possiblePersonalWallet) {
15+
setPersonalWalletAddress(undefined);
16+
return;
17+
}
18+
19+
const address = await (
20+
await possiblePersonalWallet?.getSigner()
21+
)?.getAddress();
22+
setPersonalWalletAddress(address);
23+
})();
24+
}, [activeWallet]);
25+
26+
return personalWalletAddress;
27+
};

packages/react-core/src/evm/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ export {
2222
} from "../core/hooks/wallet-hooks";
2323
export { useNetwork } from "../core/hooks/useNetwork";
2424
export { useWalletContext } from "../core/providers/thirdweb-wallet-provider";
25+
export { usePersonalWalletAddress } from "./hooks/usePersonalWalletAddress";
2526

2627
// connected wallet hooks
2728
export {

packages/react-native/src/evm/components/ConnectWalletDetails/ExportLocalWalletModal.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@ import { ModalHeaderTextClose } from "../base/modal/ModalHeaderTextClose";
1313
import {
1414
shortenAddress,
1515
useAddress,
16+
usePersonalWalletAddress,
1617
useWallet,
1718
} from "@thirdweb-dev/react-core";
1819
import { PasswordInput } from "../PasswordInput";
1920
import * as FileSystem from "expo-file-system";
2021
import { SmartWallet } from "@thirdweb-dev/wallets";
21-
import { usePersonalWalletAddress } from "../../wallets/hooks/usePersonalWalletAddress";
2222
import { LocalWallet } from "../../wallets/wallets/LocalWallet";
2323
import { TWModal } from "../base/modal/TWModal";
2424
import { useLocale } from "../../providers/ui-context-provider";

packages/react-native/src/evm/wallets/hooks/usePersonalWalletAddress.ts

Lines changed: 0 additions & 23 deletions
This file was deleted.

0 commit comments

Comments
 (0)