* Sync with paritytech/ss58-registry * Since registry location * Adjust defaults with json location * Adjust * Adjust comments * prefix 42
73 lines
1.9 KiB
JavaScript
73 lines
1.9 KiB
JavaScript
// Copyright 2017-2021 @polkadot/networks authors & contributors
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
import fs from 'fs';
|
|
import fetch from 'node-fetch';
|
|
|
|
import { substrateRegistry } from '../build/defaults.js';
|
|
|
|
const substrateRegistryRepo = substrateRegistry
|
|
.replace('raw.githubusercontent.com', 'github.com')
|
|
.split('main')[0];
|
|
|
|
function outputField (k, v) {
|
|
if (typeof v === 'string') {
|
|
return `'${v}'`;
|
|
} else if (Array.isArray(v)) {
|
|
// new format is [] to indicate optionality
|
|
return (['decimals', 'symbols'].includes(k) && !v.length)
|
|
? null
|
|
: `[${v.map((v) => outputField(k, v)).join(', ')}]`;
|
|
}
|
|
|
|
return v;
|
|
}
|
|
|
|
async function getSubstrateRegistry () {
|
|
const original = await fetch(substrateRegistry);
|
|
const json = await original.json();
|
|
|
|
return json.registry
|
|
.map((e) =>
|
|
` {\n${Object
|
|
.entries(e)
|
|
.sort(([a], [b]) => a.localeCompare(b))
|
|
.map(([k, v]) => ` ${k}: ${outputField(k, v)}`)
|
|
.join(',\n')}\n }`
|
|
)
|
|
.join(',\n');
|
|
}
|
|
|
|
getSubstrateRegistry()
|
|
.then((entries) => {
|
|
fs.writeFileSync('packages/networks/src/substrate.ts', `// Copyright 2017-2021 @polkadot/networks authors & contributors
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
//
|
|
// Auto-generated by yarn networks:sync (via scripts/fromSubstrate.mjs)
|
|
//
|
|
// This file should never be edited manually. Rather the process is as follow -
|
|
//
|
|
// - make a PR to the upstream registry found at ${substrateRegistryRepo}
|
|
// - ensure the PR gets merged
|
|
// - yarn networks:sync in this repo to sync
|
|
//
|
|
// Any manual changes to this file will make CI cron checks fail and will be
|
|
// lost when the registry is updated alongside the above sync.
|
|
//
|
|
|
|
import type { KnownSubstrate } from './types';
|
|
|
|
export const knownSubstrate: KnownSubstrate[] = [\n${entries}\n];
|
|
`);
|
|
|
|
console.log('Completed.');
|
|
|
|
process.exit(0);
|
|
})
|
|
.catch((error) => {
|
|
console.error('Error:', error.message);
|
|
|
|
process.exit(-1);
|
|
});
|