public static LedgerEntryData Decode(XdrDataInputStream stream) { LedgerEntryData decodedLedgerEntryData = new LedgerEntryData(); LedgerEntryType discriminant = LedgerEntryType.Decode(stream); decodedLedgerEntryData.Discriminant = discriminant; switch (decodedLedgerEntryData.Discriminant.InnerValue) { case LedgerEntryType.LedgerEntryTypeEnum.ACCOUNT: decodedLedgerEntryData.Account = AccountEntry.Decode(stream); break; case LedgerEntryType.LedgerEntryTypeEnum.TRUSTLINE: decodedLedgerEntryData.TrustLine = TrustLineEntry.Decode(stream); break; case LedgerEntryType.LedgerEntryTypeEnum.OFFER: decodedLedgerEntryData.Offer = OfferEntry.Decode(stream); break; case LedgerEntryType.LedgerEntryTypeEnum.DATA: decodedLedgerEntryData.Data = DataEntry.Decode(stream); break; case LedgerEntryType.LedgerEntryTypeEnum.CLAIMABLE_BALANCE: decodedLedgerEntryData.ClaimableBalance = ClaimableBalanceEntry.Decode(stream); break; } return(decodedLedgerEntryData); }
public static LedgerEntryData Decode(IByteReader stream) { LedgerEntryData decodedLedgerEntryData = new LedgerEntryData(); decodedLedgerEntryData.Discriminant = LedgerEntryType.Decode(stream); switch (decodedLedgerEntryData.Discriminant.InnerValue) { case LedgerEntryType.LedgerEntryTypeEnum.ACCOUNT: decodedLedgerEntryData.Account = AccountEntry.Decode(stream); break; case LedgerEntryType.LedgerEntryTypeEnum.TRUSTLINE: decodedLedgerEntryData.TrustLine = TrustLineEntry.Decode(stream); break; case LedgerEntryType.LedgerEntryTypeEnum.OFFER: decodedLedgerEntryData.Offer = OfferEntry.Decode(stream); break; case LedgerEntryType.LedgerEntryTypeEnum.DATA: decodedLedgerEntryData.Data = DataEntry.Decode(stream); break; } return(decodedLedgerEntryData); }