public static SCPQuorumSet Decode(XdrDataInputStream stream) { SCPQuorumSet decodedSCPQuorumSet = new SCPQuorumSet(); decodedSCPQuorumSet.Threshold = Uint32.Decode(stream); int validatorssize = stream.ReadInt(); decodedSCPQuorumSet.Validators = new PublicKey[validatorssize]; for (int i = 0; i < validatorssize; i++) { decodedSCPQuorumSet.Validators[i] = PublicKey.Decode(stream); } int innerSetssize = stream.ReadInt(); decodedSCPQuorumSet.InnerSets = new SCPQuorumSet[innerSetssize]; for (int i = 0; i < innerSetssize; i++) { decodedSCPQuorumSet.InnerSets[i] = Decode(stream); } return(decodedSCPQuorumSet); }
public static void Encode(XdrDataOutputStream stream, SCPHistoryEntryV0 encodedSCPHistoryEntryV0) { var quorumSetssize = encodedSCPHistoryEntryV0.QuorumSets.Length; stream.WriteInt(quorumSetssize); for (var i = 0; i < quorumSetssize; i++) { SCPQuorumSet.Encode(stream, encodedSCPHistoryEntryV0.QuorumSets[i]); } LedgerSCPMessages.Encode(stream, encodedSCPHistoryEntryV0.LedgerMessages); }
public static void Encode(IByteWriter stream, SCPHistoryEntryV0 encodedSCPHistoryEntryV0) { int quorumSetssize = encodedSCPHistoryEntryV0.QuorumSets.Length; XdrEncoding.EncodeInt32(quorumSetssize, stream); for (int i = 0; i < quorumSetssize; i++) { SCPQuorumSet.Encode(stream, encodedSCPHistoryEntryV0.QuorumSets[i]); } LedgerSCPMessages.Encode(stream, encodedSCPHistoryEntryV0.LedgerMessages); }
public static void Encode(IByteWriter stream, SCPQuorumSet encodedSCPQuorumSet) { Uint32.Encode(stream, encodedSCPQuorumSet.Threshold); int validatorssize = encodedSCPQuorumSet.Validators.Length; XdrEncoding.EncodeInt32(validatorssize, stream); for (int i = 0; i < validatorssize; i++) { PublicKey.Encode(stream, encodedSCPQuorumSet.Validators[i]); } int innerSetssize = encodedSCPQuorumSet.InnerSets.Length; XdrEncoding.EncodeInt32(innerSetssize, stream); for (int i = 0; i < innerSetssize; i++) { SCPQuorumSet.Encode(stream, encodedSCPQuorumSet.InnerSets[i]); } }
public static SCPHistoryEntryV0 Decode(XdrDataInputStream stream) { var decodedSCPHistoryEntryV0 = new SCPHistoryEntryV0(); var quorumSetssize = stream.ReadInt(); decodedSCPHistoryEntryV0.QuorumSets = new SCPQuorumSet[quorumSetssize]; for (var i = 0; i < quorumSetssize; i++) { decodedSCPHistoryEntryV0.QuorumSets[i] = SCPQuorumSet.Decode(stream); } decodedSCPHistoryEntryV0.LedgerMessages = LedgerSCPMessages.Decode(stream); return(decodedSCPHistoryEntryV0); }
public static SCPHistoryEntryV0 Decode(IByteReader stream) { SCPHistoryEntryV0 decodedSCPHistoryEntryV0 = new SCPHistoryEntryV0(); int quorumSetssize = XdrEncoding.DecodeInt32(stream); decodedSCPHistoryEntryV0.QuorumSets = new SCPQuorumSet[quorumSetssize]; for (int i = 0; i < quorumSetssize; i++) { decodedSCPHistoryEntryV0.QuorumSets[i] = SCPQuorumSet.Decode(stream); } decodedSCPHistoryEntryV0.LedgerMessages = LedgerSCPMessages.Decode(stream); return(decodedSCPHistoryEntryV0); }
public static SCPQuorumSet Decode(IByteReader stream) { SCPQuorumSet decodedSCPQuorumSet = new SCPQuorumSet(); decodedSCPQuorumSet.Threshold = Uint32.Decode(stream); int validatorssize = XdrEncoding.DecodeInt32(stream); decodedSCPQuorumSet.Validators = new PublicKey[validatorssize]; for (int i = 0; i < validatorssize; i++) { decodedSCPQuorumSet.Validators[i] = PublicKey.Decode(stream); } int innerSetssize = XdrEncoding.DecodeInt32(stream); decodedSCPQuorumSet.InnerSets = new SCPQuorumSet[innerSetssize]; for (int i = 0; i < innerSetssize; i++) { decodedSCPQuorumSet.InnerSets[i] = SCPQuorumSet.Decode(stream); } return decodedSCPQuorumSet; }
public static void Encode(XdrDataOutputStream stream, SCPQuorumSet encodedSCPQuorumSet) { Uint32.Encode(stream, encodedSCPQuorumSet.Threshold); var validatorssize = encodedSCPQuorumSet.Validators.Length; stream.WriteInt(validatorssize); for (var i = 0; i < validatorssize; i++) { PublicKey.Encode(stream, encodedSCPQuorumSet.Validators[i]); } var innerSetssize = encodedSCPQuorumSet.InnerSets.Length; stream.WriteInt(innerSetssize); for (var i = 0; i < innerSetssize; i++) { Encode(stream, encodedSCPQuorumSet.InnerSets[i]); } }
public static SCPQuorumSet Decode(IByteReader stream) { SCPQuorumSet decodedSCPQuorumSet = new SCPQuorumSet(); decodedSCPQuorumSet.Threshold = Uint32.Decode(stream); int validatorssize = XdrEncoding.DecodeInt32(stream); decodedSCPQuorumSet.Validators = new PublicKey[validatorssize]; for (int i = 0; i < validatorssize; i++) { decodedSCPQuorumSet.Validators[i] = PublicKey.Decode(stream); } int innerSetssize = XdrEncoding.DecodeInt32(stream); decodedSCPQuorumSet.InnerSets = new SCPQuorumSet[innerSetssize]; for (int i = 0; i < innerSetssize; i++) { decodedSCPQuorumSet.InnerSets[i] = SCPQuorumSet.Decode(stream); } return(decodedSCPQuorumSet); }
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); }