Exemple #1
0
    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.");
        }
    }
Exemple #2
0
        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.");
            }
        }