예제 #1
0
        public static SignerKey Decode(XdrDataInputStream stream)
        {
            SignerKey     decodedSignerKey = new SignerKey();
            SignerKeyType discriminant     = SignerKeyType.Decode(stream);

            decodedSignerKey.Discriminant = discriminant;
            switch (decodedSignerKey.Discriminant.InnerValue)
            {
            case SignerKeyType.SignerKeyTypeEnum.SIGNER_KEY_TYPE_ED25519:
                decodedSignerKey.Ed25519 = Uint256.Decode(stream);
                break;

            case SignerKeyType.SignerKeyTypeEnum.SIGNER_KEY_TYPE_PRE_AUTH_TX:
                decodedSignerKey.PreAuthTx = Uint256.Decode(stream);
                break;

            case SignerKeyType.SignerKeyTypeEnum.SIGNER_KEY_TYPE_HASH_X:
                decodedSignerKey.HashX = Uint256.Decode(stream);
                break;
            }
            return(decodedSignerKey);
        }
예제 #2
0
 public static void Encode(XdrDataOutputStream stream, SignerKeyType value)
 {
     stream.WriteInt((int)value.InnerValue);
 }