コード例 #1
0
        public async Task <bool> OnMessage(CouncilMessage message, NodeConnection connection)
        {
            if (_containers.TryGetValue(message.ChainId, out var container))
            {
                var council = container.GetCouncil(message.ChainType, message.ChainIndex);
                if (council == null)
                {
                    return(false);
                }

                var key = _coreChain.GetValidPublicChainKeyWithFlags(council.ChainId, council.ChainIndex, council.LocalKeyIndex, council.RequiresChainKeyFlags, Time.Timestamp);
                if (!message.IsValidCouncilMemberSignature(key?.PublicKey))
                {
                    return(false);
                }

                await council.OnMessage(message, connection);
            }

            return(false);
        }
コード例 #2
0
ファイル: Council.cs プロジェクト: HeleusCore/Heleus.Node
 public abstract Task OnMessage(CouncilMessage message, NodeConnection connection);