public NodeKeyInfo(int chainId, uint chainIndex, short keyIndex, PublicChainKeyFlags keyFlags, Key key) { ChainId = chainId; ChainIndex = chainIndex; KeyIndex = keyIndex; KeyFlags = keyFlags; Key = key; }
public NodeKey(Unpacker unpacker, int unpackerStartPosition) { unpacker.Unpack(out ChainId); unpacker.Unpack(out ChainIndex); unpacker.Unpack(out KeyIndex); KeyFlags = (PublicChainKeyFlags)unpacker.UnpackLong(); (_signatureHash, _signature) = unpacker.GetHashAndSignature(unpackerStartPosition, unpacker.Position - unpackerStartPosition); }
NodeKey(int chainId, uint chainIndex, short keyIndex, PublicChainKeyFlags keyFlags, Signature signature, Hash signatureHash) { ChainId = chainId; ChainIndex = chainIndex; KeyIndex = keyIndex; KeyFlags = keyFlags; _signature = signature; _signatureHash = signatureHash; }
public PublicChainKey(PublicChainKeyFlags flags, int chainId, uint chainIndex, long expires, short keyIndex, Key publicKey) { Flags = flags; ChainId = chainId; ChainIndex = chainIndex; Expires = expires; KeyIndex = keyIndex; PublicKey = publicKey.PublicKey; CheckKey(); }
protected Council(Node.Node node, ChainType chainType, int chainId, uint chainIndex, short keyIndex, Key key) { ChainType = chainType; ChainId = chainId; ChainIndex = chainIndex; RequiresChainVoteKeyFlags = Block.GetRequiredChainVoteKeyFlags(ChainType); RequiresChainKeyFlags = Block.GetRequiredChainKeyFlags(ChainType); LocalKeyIndex = keyIndex; _localKey = key; _node = node; _coreChain = node.ChainManager.CoreChain; _blockStorage = node.ChainManager.GetChain(ChainType, ChainId, chainIndex).BlockStorage; }
public PublicChainKey(int chainId, Unpacker unpacker) { ChainId = chainId; Flags = (PublicChainKeyFlags)unpacker.UnpackUInt(); ChainIndex = 0; if ((Flags & PublicChainKeyFlags.DataChainKey) != 0) { unpacker.Unpack(out ChainIndex); } unpacker.Unpack(out Expires); unpacker.Unpack(out KeyIndex); PublicKey = unpacker.UnpackKey(false); CheckKey(); }
static string GetKeyName(PublicChainKeyFlags keyFlags, bool coreChain) { if ((keyFlags & PublicChainKeyFlags.ChainAdminKey) != 0) { return("Chain Admin"); } if (coreChain) { if ((keyFlags & PublicChainKeyFlags.CoreChainKey) != 0) { if ((keyFlags & PublicChainKeyFlags.CoreChainVoteKey) != 0) { return("Chain Vote"); } return("Chain"); } } if ((keyFlags & PublicChainKeyFlags.ServiceChainKey) != 0) { if ((keyFlags & PublicChainKeyFlags.ServiceChainVoteKey) != 0) { return("Service Chain Vote"); } return("Service Chain"); } if ((keyFlags & PublicChainKeyFlags.DataChainKey) != 0) { if ((keyFlags & PublicChainKeyFlags.DataChainVoteKey) != 0) { return("Data Chain Vote"); } return("Data Chain"); } throw new Exception(); }
public PublicChainKey GetValidChainKeyWithFlags(uint chainIndex, short keyIndex, long timestamp, PublicChainKeyFlags flags) { lock (this) { var key = GetValidChainKey(chainIndex, keyIndex, timestamp); if (key != null) { var keyFlags = key.Flags; if ((keyFlags & flags) == flags) { return(key); } } } return(null); }
public Dictionary <short, PublicChainKey> GetValidChainKeysWithFlags(uint chainIndex, long timestamp, PublicChainKeyFlags flags) { var result = new Dictionary <short, PublicChainKey>(); lock (this) { foreach (var idx in _chainKeys.Keys) { var key = GetValidChainKeyWithFlags(chainIndex, idx, timestamp, flags); if (key != null) { result[idx] = key; } } } return(result); }
public PublicChainKey GetValidPublicChainKeyWithFlags(int chainId, uint chainIndex, short keyIndex, PublicChainKeyFlags keyFlags, long timestamp) { TryGetChainInfo(chainId, out var chainInfo); return(chainInfo?.GetValidChainKeyWithFlags(chainIndex, keyIndex, timestamp, keyFlags)); }
public static NodeKey Pack(Packer packer, int chainId, uint chainIndex, short keyIndex, PublicChainKeyFlags keyFlags, Key signKey) { packer.Pack(chainId); packer.Pack(chainIndex); packer.Pack(keyIndex); packer.Pack((long)keyFlags); (var hash, var signature) = packer.AddSignature(signKey, 0, packer.Position); return(new NodeKey(chainId, chainIndex, keyIndex, keyFlags, signature, hash)); }