Files
smom-dbis-138/scripts/verify-tezos-etherlink-support.js

63 lines
2.2 KiB
JavaScript

#!/usr/bin/env node
// Verify CCIP/LiFi support for 138, 42793, 651940. Run: node scripts/verify-tezos-etherlink-support.js
const LIFI_URL = 'https://li.quest/v1/chains';
const CCIP_URL = 'https://docs.chain.link/ccip/supported-networks';
async function fetchText(url) {
const res = await fetch(url, {
headers: {
'user-agent': 'proxmox-operator-support-check/1.0',
accept: 'text/html,application/json;q=0.9,*/*;q=0.8',
},
});
if (!res.ok) throw new Error(`${url} returned ${res.status}`);
return res.text();
}
async function fetchJson(url) {
const res = await fetch(url, {
headers: {
'user-agent': 'proxmox-operator-support-check/1.0',
accept: 'application/json',
},
});
if (!res.ok) throw new Error(`${url} returned ${res.status}`);
return res.json();
}
async function main() {
console.log('Tezos/Etherlink support check\n');
try {
const lifi = await fetchJson(LIFI_URL);
const chains = lifi.chains || [];
const ids = chains.map((c) => c.id || c.chainId).filter(Boolean);
const etherlink = chains.find((c) => (c.id || c.chainId) === 42793);
console.log('LiFi chains include 138:', ids.includes(138));
console.log('LiFi chains include 42793:', ids.includes(42793));
console.log('LiFi chains include 651940:', ids.includes(651940));
if (etherlink) {
console.log('LiFi Etherlink entry:', JSON.stringify({
id: etherlink.id || etherlink.chainId,
key: etherlink.key,
name: etherlink.name,
coin: etherlink.coin,
mainnet: etherlink.mainnet,
}));
}
} catch (e) {
console.log('LiFi error:', e.message);
}
try {
const html = await fetchText(CCIP_URL);
const hasEtherlinkMention = html.includes('42793') || html.toLowerCase().includes('etherlink');
console.log('\nCCIP page mentions 42793/Etherlink:', hasEtherlinkMention);
console.log('CCIP page mention is not treated as support without selector/router confirmation.');
} catch (e) {
console.log('CCIP error:', e.message);
}
console.log('\nJumper: still verify manually; see docs/07-ccip/TEZOS_JUMPER_SUPPORT_MATRIX.md');
}
main().catch((e) => { console.error(e); process.exit(1); });