Skip to content

toViemChain

toViemChain(devnetInfo): Chain

Defined in: packages/synapse-core/src/foc-devnet-info/src/index.ts:77

Create a viem Chain object from devnet info. This is compatible with viem and can be used with Synapse SDK.

ParameterTypeDescription
devnetInfo{ info: { contracts: { endorsements_addr: string; filecoin_pay_v1_addr: string; fwss_impl_addr: string; fwss_service_proxy_addr: string; fwss_state_view_addr: string; mockusdfc_addr: string; multicall3_addr: string; pdp_verifier_impl_addr: string; pdp_verifier_proxy_addr: string; service_provider_registry_impl_addr: string; service_provider_registry_proxy_addr: string; }; lotus: { container_id: string; container_name: string; host_rpc_url: string; }; lotus_miner: { api_port: number; container_id: string; container_name: string; }; pdp_sps: object[]; run_id: string; start_time: string; startup_duration: string; users: object[]; }; version: 1; }The devnet info from loadDevnetInfo()
devnetInfo.info{ contracts: { endorsements_addr: string; filecoin_pay_v1_addr: string; fwss_impl_addr: string; fwss_service_proxy_addr: string; fwss_state_view_addr: string; mockusdfc_addr: string; multicall3_addr: string; pdp_verifier_impl_addr: string; pdp_verifier_proxy_addr: string; service_provider_registry_impl_addr: string; service_provider_registry_proxy_addr: string; }; lotus: { container_id: string; container_name: string; host_rpc_url: string; }; lotus_miner: { api_port: number; container_id: string; container_name: string; }; pdp_sps: object[]; run_id: string; start_time: string; startup_duration: string; users: object[]; }-
devnetInfo.info.contracts{ endorsements_addr: string; filecoin_pay_v1_addr: string; fwss_impl_addr: string; fwss_service_proxy_addr: string; fwss_state_view_addr: string; mockusdfc_addr: string; multicall3_addr: string; pdp_verifier_impl_addr: string; pdp_verifier_proxy_addr: string; service_provider_registry_impl_addr: string; service_provider_registry_proxy_addr: string; }-
devnetInfo.info.contracts.endorsements_addrstring-
devnetInfo.info.contracts.filecoin_pay_v1_addrstring-
devnetInfo.info.contracts.fwss_impl_addrstring-
devnetInfo.info.contracts.fwss_service_proxy_addrstring-
devnetInfo.info.contracts.fwss_state_view_addrstring-
devnetInfo.info.contracts.mockusdfc_addrstring-
devnetInfo.info.contracts.multicall3_addrstring-
devnetInfo.info.contracts.pdp_verifier_impl_addrstring-
devnetInfo.info.contracts.pdp_verifier_proxy_addrstring-
devnetInfo.info.contracts.service_provider_registry_impl_addrstring-
devnetInfo.info.contracts.service_provider_registry_proxy_addrstring-
devnetInfo.info.lotus{ container_id: string; container_name: string; host_rpc_url: string; }-
devnetInfo.info.lotus.container_idstring-
devnetInfo.info.lotus.container_namestring-
devnetInfo.info.lotus.host_rpc_urlstring-
devnetInfo.info.lotus_miner{ api_port: number; container_id: string; container_name: string; }-
devnetInfo.info.lotus_miner.api_portnumber-
devnetInfo.info.lotus_miner.container_idstring-
devnetInfo.info.lotus_miner.container_namestring-
devnetInfo.info.pdp_spsobject[]-
devnetInfo.info.run_idstring-
devnetInfo.info.start_timestring-
devnetInfo.info.startup_durationstring-
devnetInfo.info.usersobject[]-
devnetInfo.version1-

Chain

viem Chain object

import { loadDevnetInfo, toViemChain } from '@filoz/synapse-core/foc-devnet-info';
import { createPublicClient, http } from 'viem';
const data = JSON.parse(await (await fetch('/devnet-info.json')).text());
const devnetInfo = loadDevnetInfo(data);
const chain = toViemChain(devnetInfo);
const client = createPublicClient({
chain,
transport: http()
});