toViemChain
consttoViemChain: (devnetInfo) =>Chain=toChain
Defined in: packages/synapse-core/src/foc-devnet-info/src/index.ts:155
Create a Synapse Chain object from devnet info. This is compatible with viem and includes all ABIs needed by the Synapse SDK.
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
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; session_key_registry_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; session_key_registry_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; session_key_registry_addr: string; } | - |
devnetInfo.info.contracts.endorsements_addr | string | - |
devnetInfo.info.contracts.filecoin_pay_v1_addr | string | - |
devnetInfo.info.contracts.fwss_impl_addr | string | - |
devnetInfo.info.contracts.fwss_service_proxy_addr | string | - |
devnetInfo.info.contracts.fwss_state_view_addr | string | - |
devnetInfo.info.contracts.mockusdfc_addr | string | - |
devnetInfo.info.contracts.multicall3_addr | string | - |
devnetInfo.info.contracts.pdp_verifier_impl_addr | string | - |
devnetInfo.info.contracts.pdp_verifier_proxy_addr | string | - |
devnetInfo.info.contracts.service_provider_registry_impl_addr | string | - |
devnetInfo.info.contracts.service_provider_registry_proxy_addr | string | - |
devnetInfo.info.contracts.session_key_registry_addr | string | - |
devnetInfo.info.lotus | { container_id: string; container_name: string; host_rpc_url: string; } | - |
devnetInfo.info.lotus.container_id | string | - |
devnetInfo.info.lotus.container_name | string | - |
devnetInfo.info.lotus.host_rpc_url | string | - |
devnetInfo.info.lotus_miner | { api_port: number; container_id: string; container_name: string; } | - |
devnetInfo.info.lotus_miner.api_port | number | - |
devnetInfo.info.lotus_miner.container_id | string | - |
devnetInfo.info.lotus_miner.container_name | string | - |
devnetInfo.info.pdp_sps | object[] | - |
devnetInfo.info.run_id | string | - |
devnetInfo.info.start_time | string | - |
devnetInfo.info.startup_duration | string | - |
devnetInfo.info.users | object[] | - |
devnetInfo.version | 1 | - |
Returns
Section titled “Returns”Synapse Chain object with contract ABIs and addresses
Example
Section titled “Example”import { loadDevnetInfo, toChain } from '@filoz/synapse-core/foc-devnet-info';import { Synapse } from '@filoz/synapse-sdk';import { createWalletClient, http } from 'viem';import { privateKeyToAccount } from 'viem/accounts';
const data = JSON.parse(await (await fetch('/devnet-info.json')).text());const devnetInfo = loadDevnetInfo(data);const chain = toChain(devnetInfo);
const synapse = Synapse.create({ chain, transport: http(), account: privateKeyToAccount(devnetInfo.info.users[0].private_key_hex),});