Skip to content

Commit 3f92a7e

Browse files
authored
Merge pull request #244 from filecoin-project/feat/add-f1-addres-by-filsnap
Feat/add f1 addres by filsnap
2 parents 37f771d + eaf9aa6 commit 3f92a7e

File tree

15 files changed

+518
-267
lines changed

15 files changed

+518
-267
lines changed

deployment/deployment.md

+6-9
Original file line numberDiff line numberDiff line change
@@ -109,16 +109,13 @@ vim .env
109109
Example configuration:
110110

111111
```
112-
POWER_VOTING_MAINNET_CONTRACT_ADDRESS=<mainnet_contract_address>
113-
POWER_VOTING_CALIBRATION_CONTRACT_ADDRESS=<calibration_contract_address>
112+
VITE_POWER_VOTING_MAINNET_CONTRACT_ADDRESS = <mainnet_contract_address>
113+
VITE_ORACLE_MAINNET_CONTRACT_ADDRESS = <mainnet_oracle_contract_address>
114+
VITE_POWER_VOTING_FIP_MAINNET_CONTRACT_ADDRESS = <mainnet_fip_contract_address>
114115
115-
ORACLE_MAINNET_CONTRACT_ADDRESS=<mainnet_oracle_contract_address>
116-
ORACLE_CALIBRATION_CONTRACT_ADDRESS=<calibration_oracle_contract_address>
117-
118-
ORACLE_POWER_MAINNET_CONTRACT_ADDRESS=<mainnet_oracle_power_contract_address>
119-
ORACLE_POWER_CALIBRATION_CONTRACT_ADDRESS=<calibration_oracle_power_contract_address>
120-
121-
WALLET_CONNECT_ID=43a5e091da6b7d42e521c6cce175bc94
116+
VITE_CHAIN_NETWORK = /* testnet or mainnet */
117+
VITE_BASE_API_URL= /* default: /api */
118+
VITE_WALLET_CONNECT_ID =43a5e091da6b7d42e521c6cce175bc94
122119
```
123120

124121
#### 3. Configure Nginx

frontend/.env.example

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
VITE_POWER_VOTING_MAINNET_CONTRACT_ADDRESS =
22
VITE_ORACLE_MAINNET_CONTRACT_ADDRESS =
33
VITE_POWER_VOTING_FIP_MAINNET_CONTRACT_ADDRESS =
4-
VITE_MAINNET_CHAIN_RPC =
54

5+
VITE_CHAIN_NETWORK = mainnet
66
VITE_BASE_API_UR = /api
77
VITE_WALLET_CONNECT_ID = 43a5e091da6b7d42e521c6cce175bc94

frontend/package.json

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
"@rainbow-me/rainbowkit": "^2.0.7",
2020
"@tailwindcss/forms": "latest",
2121
"@tanstack/react-query": "^5.35.1",
22+
"@zondax/ledger-filecoin": "^2.0.4",
2223
"add": "^2.0.6",
2324
"antd": "5.17.3",
2425
"axios": "^1.7.4",

frontend/pnpm-lock.yaml

+85
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

frontend/src/App.tsx

+48-33
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,11 @@ import {
1616
lightTheme,
1717
RainbowKitProvider,
1818
} from "@rainbow-me/rainbowkit";
19-
import { useConnect, useAddresses } from "iso-filecoin-react"
19+
import { useConnect as FilUseConnect, useAddresses } from "iso-filecoin-react"
2020
import { ConfigProvider, FloatButton, theme } from 'antd';
21+
import {
22+
useAccount as FilAccount
23+
} from 'iso-filecoin-react'
2124
import dayjs from 'dayjs';
2225
import 'dayjs/locale/zh-cn';
2326
import enUS from 'antd/locale/en_US';
@@ -26,7 +29,7 @@ import { useTranslation } from 'react-i18next';
2629
import { useEffect, useRef } from "react";
2730
import { useLocation, useRoutes } from "react-router-dom";
2831
import "tailwindcss/tailwind.css";
29-
import { useAccount } from "wagmi";
32+
import { useAccount, useConnect } from "wagmi";
3033
import timezones from './json/timezons.json';
3134
import { calibrationChainId, getFipListApi } from "./common/consts"
3235
import { useVoterInfoSet } from "./common/hooks"
@@ -45,19 +48,31 @@ dayjs.locale(lang === 'en' ? lang : "zh-cn")
4548
const App: React.FC = () => {
4649
// Destructure values from custom hooks
4750
const { chain, address, isConnected } = useAccount();
51+
const { adapter, state} = FilAccount();
52+
const { connect, connectors } = useConnect()
4853
const { address0x} = useAddresses({ address: address as string });
49-
50-
const { adapters, mutate: connect } = useConnect();
54+
const { mutate: FilConnect, adapters } = FilUseConnect();
5155
const chainId = chain?.id || calibrationChainId;
5256
const prevAddressRef = useRef(address);
5357
const setFipList = useFipList((state: any) => state.setFipList)
5458
const { i18n } = useTranslation();
5559

60+
useEffect(()=>{
61+
if(state=="connected"){
62+
connect({connector:connectors[0]})
63+
}
64+
},[state])
65+
5666
useEffect(() => {
57-
if (isConnected && address!.indexOf("0x") < 0) {
58-
connect({ adapter: adapters[0] });
67+
const adapterId = window.localStorage.getItem('adapter');
68+
if (isConnected) {
69+
if (adapter) {
70+
FilConnect({ adapter: adapter });
71+
} else {
72+
FilConnect({ adapter: adapters.find(item => item.id === adapterId) || adapters[0] });
73+
}
5974
}
60-
}, [isConnected, address])
75+
}, [isConnected, adapter])
6176

6277
// Render routes based on URL
6378
const element = useRoutes(routes);
@@ -140,34 +155,34 @@ const App: React.FC = () => {
140155
const lang = localStorage.getItem("lang") || "en";
141156

142157
return (
143-
<RainbowKitProvider
144-
locale={lang === "en" ? "en-US" : "zh-CN"}
145-
theme={lightTheme({
146-
accentColor: "#7b3fe4",
147-
accentColorForeground: "white",
148-
})}
149-
modalSize="compact"
150-
>
151-
<ConfigProvider theme={{
152-
algorithm: theme.defaultAlgorithm,
153-
components: {
154-
Radio: {
155-
buttonSolidCheckedBg: ''
156-
}
157-
}
158-
}} locale={lang === "en" ? enUS : zhCN}>
159-
<div className="layout font-body">
160-
{!isLanding && <Header changeLang={handleChange} />}
161-
<div className='content w-[1000px] mx-auto pt-10 pb-10'>
162-
{
163-
element
158+
<RainbowKitProvider
159+
locale={lang === "en" ? "en-US" : "zh-CN"}
160+
theme={lightTheme({
161+
accentColor: "#7b3fe4",
162+
accentColorForeground: "white",
163+
})}
164+
modalSize="compact"
165+
>
166+
<ConfigProvider theme={{
167+
algorithm: theme.defaultAlgorithm,
168+
components: {
169+
Radio: {
170+
buttonSolidCheckedBg: ''
164171
}
172+
}
173+
}} locale={lang === "en" ? enUS : zhCN}>
174+
<div className="layout font-body">
175+
{!isLanding && <Header changeLang={handleChange} />}
176+
<div className='content w-[1000px] mx-auto pt-10 pb-10'>
177+
{
178+
element
179+
}
180+
</div>
181+
<Footer />
182+
<FloatButton.BackTop style={{ bottom: 100 }} />
165183
</div>
166-
<Footer />
167-
<FloatButton.BackTop style={{ bottom: 100 }} />
168-
</div>
169-
</ConfigProvider>
170-
</RainbowKitProvider>
184+
</ConfigProvider>
185+
</RainbowKitProvider>
171186
)
172187
}
173188

frontend/src/common/consts.ts

+5-3
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,18 @@
1212
// See the License for the specific language governing permissions and
1313
// limitations under the License.
1414
import { filecoinCalibration, filecoin } from 'wagmi/chains';
15-
export const filecoinId = filecoin.id;
16-
export const calibrationChainId = filecoinCalibration.id;
15+
export const network = import.meta.env.VITE_CHAIN_NETWORK || 'mainnet';
1716
export const powerVotingMainNetContractAddress = import.meta.env.VITE_POWER_VOTING_MAINNET_CONTRACT_ADDRESS || '';
1817
export const oracleMainNetContractAddress = import.meta.env.VITE_ORACLE_MAINNET_CONTRACT_ADDRESS || '';
1918
export const powerVotingCalibrationContractAddress = import.meta.env.VITE_POWER_VOTING_CALIBRATION_CONTRACT_ADDRESS || '';
2019
export const oracleCalibrationContractAddress = import.meta.env.VITE_ORACLE_CALIBRATION_CONTRACT_ADDRESS || '';
2120
export const powerVotingFipMainNetContractAddress = import.meta.env.VITE_POWER_VOTING_FIP_MAINNET_CONTRACT_ADDRESS || '';
2221
export const powerVotingFipCalibrationContractAddress = import.meta.env.VITE_POWER_VOTING_FIP_CALIBRATION_CONTRACT_ADDRESS || '';
23-
export const powerVotingCalibrationChainRpc = import.meta.env.VITE_CALIBRATION_CHAIN_RPC || '';
2422
export const walletConnectProjectId = import.meta.env.VITE_WALLET_CONNECT_ID || '';
23+
export const filecoinId = filecoin.id;
24+
export const calibrationChainId = filecoinCalibration.id;
25+
export const filecoinChainRpc = filecoin.rpcUrls.default.http[0];
26+
export const calibrationChainRpc = filecoinCalibration.rpcUrls.default.http[0];
2527
export const githubApi = 'https://avatars.githubusercontent.com';
2628
export const baseUrl = import.meta.env.VITE_BASE_API_URL || ''
2729
export const proposalListApi = `${baseUrl}/proposal/list`;

0 commit comments

Comments
 (0)