Example #1
0
 public static AuthenticatedMessageV0 Decode(XdrDataInputStream stream)
 {
     var decodedAuthenticatedMessageV0 = new AuthenticatedMessageV0();
     decodedAuthenticatedMessageV0.Sequence = Uint64.Decode(stream);
     decodedAuthenticatedMessageV0.Message = StellarMessage.Decode(stream);
     decodedAuthenticatedMessageV0.Mac = HmacSha256Mac.Decode(stream);
     return decodedAuthenticatedMessageV0;
 }
Example #2
0
            public static AuthenticatedMessageV0 Decode(IByteReader stream)
            {
                AuthenticatedMessageV0 decodedAuthenticatedMessageV0 = new AuthenticatedMessageV0();

                decodedAuthenticatedMessageV0.Sequence = Uint64.Decode(stream);
                decodedAuthenticatedMessageV0.Message  = StellarMessage.Decode(stream);
                decodedAuthenticatedMessageV0.Mac      = HmacSha256Mac.Decode(stream);
                return(decodedAuthenticatedMessageV0);
            }
 public static void Encode(IByteWriter stream, StellarMessage encodedStellarMessage) {
 XdrEncoding.EncodeInt32((int)encodedStellarMessage.Discriminant.InnerValue, stream);
 switch (encodedStellarMessage.Discriminant.InnerValue) {
 case MessageType.MessageTypeEnum.ERROR_MSG:
 Error.Encode(stream, encodedStellarMessage.Error);
 break;
 case MessageType.MessageTypeEnum.HELLO:
 Hello.Encode(stream, encodedStellarMessage.Hello);
 break;
 case MessageType.MessageTypeEnum.AUTH:
 Auth.Encode(stream, encodedStellarMessage.Auth);
 break;
 case MessageType.MessageTypeEnum.DONT_HAVE:
 DontHave.Encode(stream, encodedStellarMessage.DontHave);
 break;
 case MessageType.MessageTypeEnum.GET_PEERS:
 break;
 case MessageType.MessageTypeEnum.PEERS:
 int peerssize = encodedStellarMessage.Peers.Length;
 XdrEncoding.EncodeInt32(peerssize, stream);
 for (int i = 0; i < peerssize; i++) {
   PeerAddress.Encode(stream, encodedStellarMessage.Peers[i]);
 }
 break;
 case MessageType.MessageTypeEnum.GET_TX_SET:
 Uint256.Encode(stream, encodedStellarMessage.TxSetHash);
 break;
 case MessageType.MessageTypeEnum.TX_SET:
 TransactionSet.Encode(stream, encodedStellarMessage.TxSet);
 break;
 case MessageType.MessageTypeEnum.TRANSACTION:
 TransactionEnvelope.Encode(stream, encodedStellarMessage.Transaction);
 break;
 case MessageType.MessageTypeEnum.GET_SCP_QUORUMSET:
 Uint256.Encode(stream, encodedStellarMessage.QSetHash);
 break;
 case MessageType.MessageTypeEnum.SCP_QUORUMSET:
 SCPQuorumSet.Encode(stream, encodedStellarMessage.QSet);
 break;
 case MessageType.MessageTypeEnum.SCP_MESSAGE:
 SCPEnvelope.Encode(stream, encodedStellarMessage.Envelope);
 break;
 case MessageType.MessageTypeEnum.GET_SCP_STATE:
 Uint32.Encode(stream, encodedStellarMessage.GetSCPLedgerSeq);
 break;
 }
 }
        public static void Encode(XdrDataOutputStream stream, StellarMessage encodedStellarMessage)
        {
            stream.WriteInt((int)encodedStellarMessage.Discriminant.InnerValue);

            switch (encodedStellarMessage.Discriminant.InnerValue)
            {
            case MessageType.MessageTypeEnum.ERROR_MSG:
                Error.Encode(stream, encodedStellarMessage.Error);
                break;

            case MessageType.MessageTypeEnum.HELLO:
                Hello.Encode(stream, encodedStellarMessage.Hello);
                break;

            case MessageType.MessageTypeEnum.AUTH:
                Auth.Encode(stream, encodedStellarMessage.Auth);
                break;

            case MessageType.MessageTypeEnum.DONT_HAVE:
                DontHave.Encode(stream, encodedStellarMessage.DontHave);
                break;

            case MessageType.MessageTypeEnum.GET_PEERS:
                break;

            case MessageType.MessageTypeEnum.PEERS:
                int peerssize = encodedStellarMessage.Peers.Length;
                stream.WriteInt(peerssize);

                for (int i = 0; i < peerssize; i++)
                {
                    PeerAddress.Encode(stream, encodedStellarMessage.Peers[i]);
                }

                break;

            case MessageType.MessageTypeEnum.GET_TX_SET:
                Uint256.Encode(stream, encodedStellarMessage.TxSetHash);
                break;

            case MessageType.MessageTypeEnum.TX_SET:
                TransactionSet.Encode(stream, encodedStellarMessage.TxSet);
                break;

            case MessageType.MessageTypeEnum.TRANSACTION:
                TransactionEnvelope.Encode(stream, encodedStellarMessage.Transaction);
                break;

            case MessageType.MessageTypeEnum.GET_SCP_QUORUMSET:
                Uint256.Encode(stream, encodedStellarMessage.QSetHash);
                break;

            case MessageType.MessageTypeEnum.SCP_QUORUMSET:
                SCPQuorumSet.Encode(stream, encodedStellarMessage.QSet);
                break;

            case MessageType.MessageTypeEnum.SCP_MESSAGE:
                SCPEnvelope.Encode(stream, encodedStellarMessage.Envelope);
                break;

            case MessageType.MessageTypeEnum.GET_SCP_STATE:
                Uint32.Encode(stream, encodedStellarMessage.GetSCPLedgerSeq);
                break;
            }
        }
        public static StellarMessage Decode(XdrDataInputStream stream)
        {
            StellarMessage decodedStellarMessage = new StellarMessage();
            MessageType    discriminant          = MessageType.Decode(stream);

            decodedStellarMessage.Discriminant = discriminant;

            switch (decodedStellarMessage.Discriminant.InnerValue)
            {
            case MessageType.MessageTypeEnum.ERROR_MSG:
                decodedStellarMessage.Error = Error.Decode(stream);
                break;

            case MessageType.MessageTypeEnum.HELLO:
                decodedStellarMessage.Hello = Hello.Decode(stream);
                break;

            case MessageType.MessageTypeEnum.AUTH:
                decodedStellarMessage.Auth = Auth.Decode(stream);
                break;

            case MessageType.MessageTypeEnum.DONT_HAVE:
                decodedStellarMessage.DontHave = DontHave.Decode(stream);
                break;

            case MessageType.MessageTypeEnum.GET_PEERS:
                break;

            case MessageType.MessageTypeEnum.PEERS:
                int peerssize = stream.ReadInt();
                decodedStellarMessage.Peers = new PeerAddress[peerssize];

                for (int i = 0; i < peerssize; i++)
                {
                    decodedStellarMessage.Peers[i] = PeerAddress.Decode(stream);
                }

                break;

            case MessageType.MessageTypeEnum.GET_TX_SET:
                decodedStellarMessage.TxSetHash = Uint256.Decode(stream);
                break;

            case MessageType.MessageTypeEnum.TX_SET:
                decodedStellarMessage.TxSet = TransactionSet.Decode(stream);
                break;

            case MessageType.MessageTypeEnum.TRANSACTION:
                decodedStellarMessage.Transaction = TransactionEnvelope.Decode(stream);
                break;

            case MessageType.MessageTypeEnum.GET_SCP_QUORUMSET:
                decodedStellarMessage.QSetHash = Uint256.Decode(stream);
                break;

            case MessageType.MessageTypeEnum.SCP_QUORUMSET:
                decodedStellarMessage.QSet = SCPQuorumSet.Decode(stream);
                break;

            case MessageType.MessageTypeEnum.SCP_MESSAGE:
                decodedStellarMessage.Envelope = SCPEnvelope.Decode(stream);
                break;

            case MessageType.MessageTypeEnum.GET_SCP_STATE:
                decodedStellarMessage.GetSCPLedgerSeq = Uint32.Decode(stream);
                break;
            }

            return(decodedStellarMessage);
        }
Example #6
0
 public static void Encode(IByteWriter stream, AuthenticatedMessageV0 encodedAuthenticatedMessageV0)
 {
     Uint64.Encode(stream, encodedAuthenticatedMessageV0.Sequence);
     StellarMessage.Encode(stream, encodedAuthenticatedMessageV0.Message);
     HmacSha256Mac.Encode(stream, encodedAuthenticatedMessageV0.Mac);
 }
Example #7
0
 public static void Encode(XdrDataOutputStream stream, AuthenticatedMessageV0 encodedAuthenticatedMessageV0)
 {
     Uint64.Encode(stream, encodedAuthenticatedMessageV0.Sequence);
     StellarMessage.Encode(stream, encodedAuthenticatedMessageV0.Message);
     HmacSha256Mac.Encode(stream, encodedAuthenticatedMessageV0.Mac);
 }
 public static StellarMessage Decode(IByteReader stream) {
   StellarMessage decodedStellarMessage = new StellarMessage();
 decodedStellarMessage.Discriminant = MessageType.Decode(stream);
 switch (decodedStellarMessage.Discriminant.InnerValue) {
 case MessageType.MessageTypeEnum.ERROR_MSG:
 decodedStellarMessage.Error = Error.Decode(stream);
 break;
 case MessageType.MessageTypeEnum.HELLO:
 decodedStellarMessage.Hello = Hello.Decode(stream);
 break;
 case MessageType.MessageTypeEnum.AUTH:
 decodedStellarMessage.Auth = Auth.Decode(stream);
 break;
 case MessageType.MessageTypeEnum.DONT_HAVE:
 decodedStellarMessage.DontHave = DontHave.Decode(stream);
 break;
 case MessageType.MessageTypeEnum.GET_PEERS:
 break;
 case MessageType.MessageTypeEnum.PEERS:
 int peerssize = XdrEncoding.DecodeInt32(stream);
 decodedStellarMessage.Peers = new PeerAddress[peerssize];
 for (int i = 0; i < peerssize; i++) {
   decodedStellarMessage.Peers[i] = PeerAddress.Decode(stream);
 }
 break;
 case MessageType.MessageTypeEnum.GET_TX_SET:
 decodedStellarMessage.TxSetHash = Uint256.Decode(stream);
 break;
 case MessageType.MessageTypeEnum.TX_SET:
 decodedStellarMessage.TxSet = TransactionSet.Decode(stream);
 break;
 case MessageType.MessageTypeEnum.TRANSACTION:
 decodedStellarMessage.Transaction = TransactionEnvelope.Decode(stream);
 break;
 case MessageType.MessageTypeEnum.GET_SCP_QUORUMSET:
 decodedStellarMessage.QSetHash = Uint256.Decode(stream);
 break;
 case MessageType.MessageTypeEnum.SCP_QUORUMSET:
 decodedStellarMessage.QSet = SCPQuorumSet.Decode(stream);
 break;
 case MessageType.MessageTypeEnum.SCP_MESSAGE:
 decodedStellarMessage.Envelope = SCPEnvelope.Decode(stream);
 break;
 case MessageType.MessageTypeEnum.GET_SCP_STATE:
 decodedStellarMessage.GetSCPLedgerSeq = Uint32.Decode(stream);
 break;
 }
   return decodedStellarMessage;
 }