1
+ import YAML from 'yaml'
1
2
import { Tab } from '@headlessui/react'
2
3
import * as fs from 'fs'
3
4
import type { GetServerSideProps , NextPage } from 'next'
@@ -13,26 +14,25 @@ import { StatusFilterProvider } from '../contexts/StatusFilterContext'
13
14
import { classNames } from '../utils/classNames'
14
15
import '../mappings/signers.json'
15
16
17
+ const readPublisherKeyToNameMapping = ( filename : string ) => {
18
+ if ( fs . existsSync ( filename ) ) {
19
+ return YAML . parse ( fs . readFileSync ( filename , 'utf8' ) ) . reduce ( ( acc , rec ) => {
20
+ acc [ rec . key ] = rec . name
21
+ return acc
22
+ } )
23
+ } else {
24
+ return { }
25
+ }
26
+ }
27
+
16
28
export const getServerSideProps : GetServerSideProps = async ( ) => {
17
29
const MAPPINGS_BASE_PATH = process . env . MAPPINGS_BASE_PATH || 'mappings'
18
- const PUBLISHER_PYTHNET_MAPPING_PATH = `${ MAPPINGS_BASE_PATH } /publishers- pythnet.json `
19
- const PUBLISHER_PYTHTEST_MAPPING_PATH = `${ MAPPINGS_BASE_PATH } /publishers- pythtest.json `
30
+ const PUBLISHER_PYTHNET_MAPPING_PATH = `${ MAPPINGS_BASE_PATH } /pythnet/publishers.yaml `
31
+ const PUBLISHER_PYTHTEST_MAPPING_PATH = `${ MAPPINGS_BASE_PATH } /pythtest/publishers.yaml `
20
32
21
33
const publisherKeyToNameMapping = {
22
- pythnet : fs . existsSync ( PUBLISHER_PYTHNET_MAPPING_PATH )
23
- ? JSON . parse (
24
- (
25
- await fs . promises . readFile ( PUBLISHER_PYTHNET_MAPPING_PATH )
26
- ) . toString ( )
27
- )
28
- : { } ,
29
- pythtest : fs . existsSync ( PUBLISHER_PYTHTEST_MAPPING_PATH )
30
- ? JSON . parse (
31
- (
32
- await fs . promises . readFile ( PUBLISHER_PYTHTEST_MAPPING_PATH )
33
- ) . toString ( )
34
- )
35
- : { } ,
34
+ pythnet : readPublisherKeyToNameMapping ( PUBLISHER_PYTHNET_MAPPING_PATH )
35
+ pythtest : readPublisherKeyToNameMapping ( PUBLISHER_PYTHNET_MAPPING_PATH )
36
36
}
37
37
const MULTISIG_SIGNER_MAPPING_PATH = `${ MAPPINGS_BASE_PATH } /signers.json`
38
38
const multisigSignerKeyToNameMapping = fs . existsSync (
0 commit comments