public static LedgerCloseMetaV0 Decode(XdrDataInputStream stream) { LedgerCloseMetaV0 decodedLedgerCloseMetaV0 = new LedgerCloseMetaV0(); decodedLedgerCloseMetaV0.LedgerHeader = LedgerHeaderHistoryEntry.Decode(stream); decodedLedgerCloseMetaV0.TxSet = TransactionSet.Decode(stream); int txProcessingsize = stream.ReadInt(); decodedLedgerCloseMetaV0.TxProcessing = new TransactionResultMeta[txProcessingsize]; for (int i = 0; i < txProcessingsize; i++) { decodedLedgerCloseMetaV0.TxProcessing[i] = TransactionResultMeta.Decode(stream); } int upgradesProcessingsize = stream.ReadInt(); decodedLedgerCloseMetaV0.UpgradesProcessing = new UpgradeEntryMeta[upgradesProcessingsize]; for (int i = 0; i < upgradesProcessingsize; i++) { decodedLedgerCloseMetaV0.UpgradesProcessing[i] = UpgradeEntryMeta.Decode(stream); } int scpInfosize = stream.ReadInt(); decodedLedgerCloseMetaV0.ScpInfo = new SCPHistoryEntry[scpInfosize]; for (int i = 0; i < scpInfosize; i++) { decodedLedgerCloseMetaV0.ScpInfo[i] = SCPHistoryEntry.Decode(stream); } return(decodedLedgerCloseMetaV0); }
public static void Encode(XdrDataOutputStream stream, LedgerCloseMetaV0 encodedLedgerCloseMetaV0) { LedgerHeaderHistoryEntry.Encode(stream, encodedLedgerCloseMetaV0.LedgerHeader); TransactionSet.Encode(stream, encodedLedgerCloseMetaV0.TxSet); int txProcessingsize = encodedLedgerCloseMetaV0.TxProcessing.Length; stream.WriteInt(txProcessingsize); for (int i = 0; i < txProcessingsize; i++) { TransactionResultMeta.Encode(stream, encodedLedgerCloseMetaV0.TxProcessing[i]); } int upgradesProcessingsize = encodedLedgerCloseMetaV0.UpgradesProcessing.Length; stream.WriteInt(upgradesProcessingsize); for (int i = 0; i < upgradesProcessingsize; i++) { UpgradeEntryMeta.Encode(stream, encodedLedgerCloseMetaV0.UpgradesProcessing[i]); } int scpInfosize = encodedLedgerCloseMetaV0.ScpInfo.Length; stream.WriteInt(scpInfosize); for (int i = 0; i < scpInfosize; i++) { SCPHistoryEntry.Encode(stream, encodedLedgerCloseMetaV0.ScpInfo[i]); } }
public static TransactionHistoryEntry Decode(XdrDataInputStream stream) { TransactionHistoryEntry decodedTransactionHistoryEntry = new TransactionHistoryEntry(); decodedTransactionHistoryEntry.LedgerSeq = Uint32.Decode(stream); decodedTransactionHistoryEntry.TxSet = TransactionSet.Decode(stream); decodedTransactionHistoryEntry.Ext = TransactionHistoryEntryExt.Decode(stream); return(decodedTransactionHistoryEntry); }
public static void Encode(XdrDataOutputStream stream, TransactionSet encodedTransactionSet) { Hash.Encode(stream, encodedTransactionSet.PreviousLedgerHash); int txssize = encodedTransactionSet.Txs.Length; stream.WriteInt(txssize); for (int i = 0; i < txssize; i++) { TransactionEnvelope.Encode(stream, encodedTransactionSet.Txs[i]); } }
public static TransactionSet Decode(XdrDataInputStream stream) { TransactionSet decodedTransactionSet = new TransactionSet(); decodedTransactionSet.PreviousLedgerHash = Hash.Decode(stream); int txssize = stream.ReadInt(); decodedTransactionSet.Txs = new TransactionEnvelope[txssize]; for (int i = 0; i < txssize; i++) { decodedTransactionSet.Txs[i] = TransactionEnvelope.Decode(stream); } return(decodedTransactionSet); }
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); }
public static void Encode(XdrDataOutputStream stream, TransactionHistoryEntry encodedTransactionHistoryEntry) { Uint32.Encode(stream, encodedTransactionHistoryEntry.LedgerSeq); TransactionSet.Encode(stream, encodedTransactionHistoryEntry.TxSet); TransactionHistoryEntryExt.Encode(stream, encodedTransactionHistoryEntry.Ext); }