Validator adapter can be made chain agnostic by adding a chain specified in the campaignSpec or even inferring it from the deposit asset. For example, add an optional property depositChainId to the channel schema - if it's not specified, try to infer the chain ID from the depositAsset (token address). Then get an RPC for this chain ID from a configurable list.
Then, the adapter should use this RPC to connect to Ethereum.
The market is agnostic by default (sources data only from the validators), so it shouldn't require any changes.
This way, we can enable campaigns that use xDAI on the xDAI chain, or USDT on BSC, etc.
Chain ids: https://chainid.network/
Validator adapter can be made chain agnostic by adding a chain specified in the
campaignSpecor even inferring it from the deposit asset. For example, add an optional propertydepositChainIdto the channel schema - if it's not specified, try to infer the chain ID from thedepositAsset(token address). Then get an RPC for this chain ID from a configurable list.Then, the adapter should use this RPC to connect to Ethereum.
The market is agnostic by default (sources data only from the validators), so it shouldn't require any changes.
This way, we can enable campaigns that use xDAI on the xDAI chain, or USDT on BSC, etc.
Chain ids: https://chainid.network/