public ChainIdAndHeightDict GetAllIndexedCrossChainExtraData() { var sideChainIdAndHeightDict = new ChainIdAndHeightDict { IdHeightDict = { _chainIdHeight } }; return(sideChainIdAndHeightDict); }
public Task UpdateCrossChainCacheAsync(Hash blockHash, long blockHeight, ChainIdAndHeightDict chainIdAndHeightDict) { foreach (var chainIdHeight in chainIdAndHeightDict.IdHeightDict) { // register new chain RegisterNewChain(chainIdHeight.Key, chainIdHeight.Value); // clear cross chain cache ClearOutOfDateCrossChainCache(chainIdHeight.Key, chainIdHeight.Value); Logger.LogDebug( $"Clear chain {ChainHelper.ConvertChainIdToBase58(chainIdHeight.Key)} cache by height {chainIdHeight.Value}"); } return(Task.CompletedTask); }
public override ChainIdAndHeightDict GetSideChainIdAndHeight(Empty input) { var dict = new ChainIdAndHeightDict(); var serialNumber = State.SideChainSerialNumber.Value; for (long i = 1; i <= serialNumber; i++) { int chainId = GetChainId(i); var sideChainInfo = State.SideChainInfo[chainId]; if (sideChainInfo.SideChainStatus == SideChainStatus.Terminated) { continue; } var height = State.CurrentSideChainHeight[chainId]; dict.IdHeightDict.Add(chainId, height); } return(dict); }