Skip to content

Commit 5cc7a52

Browse files
authored
Merge pull request #47 from codingknite/feat/dynamic-wvm-archiver
dynamic wvm networks
2 parents ca00b2e + a4f033d commit 5cc7a52

File tree

1 file changed

+36
-63
lines changed

1 file changed

+36
-63
lines changed

lib/hooks/useWvmArchiver.tsx

Lines changed: 36 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,72 +1,45 @@
1+
import { useQuery } from '@tanstack/react-query';
2+
13
interface Props {
24
address: string | undefined;
35
}
46

5-
const wvmNetworks = [
6-
{
7-
archive_pool_address: '0x0000000000000000000000000000000000000000',
8-
archiver_address: '0xE5e289FC97C63f64B1EC5e061d7f176e02eBE5A0',
9-
backfill_address: '',
10-
block_time: 2.0,
11-
name: 'GOATDev',
12-
network_chain_id: 48815,
13-
network_rpc: 'https://goat-testnet.drpc.org',
14-
start_block: 270388,
15-
wvm_chain_id: 9496,
16-
wvm_rpc: 'https://testnet-rpc.wvm.dev',
17-
},
18-
{
19-
archive_pool_address: '0x0000000000000000000000000000000000000000',
20-
archiver_address: '0xd730fF10Ab359Fc4C0853DF9d108b7E646e645f4',
21-
backfill_address: '0x123463a4B065722E99115D6c222f267d9cABb524',
22-
block_time: 9.0,
23-
name: 'Metis',
24-
network_chain_id: 1088,
25-
network_rpc: 'https://andromeda.metis.io/?owner=1088',
26-
start_block: 18897289,
27-
wvm_chain_id: 9496,
28-
wvm_rpc: 'https://testnet-rpc.wvm.dev',
29-
},
30-
{
31-
archive_pool_address: '0x0000000000000000000000000000000000000000',
32-
archiver_address: '0xA6dC883ea2A6acb576A933B4d38D13d6069d9fBE',
33-
backfill_address: '',
34-
block_time: 2.0,
35-
name: 'RSS3 VSL Mainnet',
36-
network_chain_id: 12553,
37-
network_rpc: 'https://rpc.rss3.io',
38-
start_block: 6888111,
39-
wvm_chain_id: 9496,
40-
wvm_rpc: 'https://testnet-rpc.wvm.dev',
41-
},
42-
{
43-
archive_pool_address: '0x0000000000000000000000000000000000000000',
44-
archiver_address: '0x2D76d7B140d078C575eAAD109168c606FE9d506C',
45-
backfill_address: '0x55dA54ee977FBe734d5250F0558bc4B2FBe36b2a',
46-
block_time: 0.38999998569488525,
47-
name: 'SEI V2 EVM',
48-
network_chain_id: 1329,
49-
network_rpc: 'https://evm-rpc.sei-apis.com',
50-
start_block: 111454818,
51-
wvm_chain_id: 9496,
52-
wvm_rpc: 'https://testnet-rpc.wvm.dev',
53-
},
54-
{
55-
archive_pool_address: '0x0000000000000000000000000000000000000000',
56-
archiver_address: '0xC3C16f324e04fC9C2D1120ee8392449a675A06E4',
57-
backfill_address: '0x5e6548a22f64d43B804351208Fe93A261d9857f3',
58-
block_time: 6.0,
59-
name: 'Humanode',
60-
network_chain_id: 5234,
61-
network_rpc: 'https://explorer-rpc-http.mainnet.stages.humanode.io',
62-
start_block: 10438223,
63-
wvm_chain_id: 9496,
64-
wvm_rpc: 'https://testnet-rpc.wvm.dev',
65-
},
66-
];
7+
interface ResponseProps {
8+
success: boolean;
9+
data: Array<WvmNetwork>;
10+
}
11+
interface WvmNetwork {
12+
archive_pool_address: string;
13+
archiver_address: string;
14+
backfill_address: string;
15+
block_time: number;
16+
name: string;
17+
network_chain_id: number;
18+
network_rpc: string;
19+
start_block: number;
20+
wvm_chain_id: number;
21+
wvm_rpc: string;
22+
}
6723

6824
export function useWvmArchiver({ address }: Props) {
69-
const isWvmNetwork = wvmNetworks.some(
25+
const { data: wvmNetworks } = useQuery({
26+
queryKey: [ 'get wvm networks' ],
27+
queryFn: async() => {
28+
const response = await fetch(
29+
'https://arweaveid-api.vercel.app/api/wvm-networks',
30+
);
31+
32+
const data = (await response.json()) as ResponseProps;
33+
34+
if (data.success) {
35+
return data.data;
36+
}
37+
38+
return null;
39+
},
40+
});
41+
42+
const isWvmNetwork = wvmNetworks?.some(
7043
(network) =>
7144
network.archiver_address === address ||
7245
(network.backfill_address && network.backfill_address === address),

0 commit comments

Comments
 (0)