internal Key(Endorsement endorsement) : this() { switch (endorsement.Type) { case KeyType.Ed25519: Ed25519 = ByteString.CopyFrom(((Ed25519PublicKeyParameters)endorsement._data).GetEncoded()); break; case KeyType.ECDSASecp256K1: ECDSASecp256K1 = ByteString.CopyFrom(((ECPublicKeyParameters)endorsement._data).Q.GetEncoded(true)); break; case KeyType.Contract: ContractID = new ContractID((Address)endorsement._data); break; case KeyType.List: ThresholdKey = new ThresholdKey { Threshold = endorsement.RequiredCount, Keys = new KeyList((Endorsement[])endorsement._data) }; break; default: throw new InvalidOperationException("Endorsement is Empty."); } }
internal Key(Endorsement endorsement) : this() { switch (endorsement.Type) { case KeyType.Ed25519: Ed25519 = ByteString.CopyFrom(((Ed25519PublicKeyParameters)endorsement._data).GetEncoded()); break; case KeyType.RSA3072: RSA3072 = ByteString.CopyFrom(((ReadOnlyMemory <byte>)endorsement._data).ToArray()); break; case KeyType.ECDSA384: ECDSA384 = ByteString.CopyFrom(((ReadOnlyMemory <byte>)endorsement._data).ToArray()); break; case KeyType.Contract: ContractID = new ContractID((Address)Abi.DecodeAddressPart((ReadOnlyMemory <byte>)endorsement._data)); break; case KeyType.List: ThresholdKey = new ThresholdKey { Threshold = endorsement.RequiredCount, Keys = new KeyList((Endorsement[])endorsement._data) }; break; default: throw new InvalidOperationException("Endorsement is Empty."); } }