public static void Encode(XdrDataOutputStream stream, LedgerKey encodedLedgerKey) { stream.WriteInt((int)encodedLedgerKey.Discriminant.InnerValue); switch (encodedLedgerKey.Discriminant.InnerValue) { case LedgerEntryType.LedgerEntryTypeEnum.ACCOUNT: LedgerKeyAccount.Encode(stream, encodedLedgerKey.Account); break; case LedgerEntryType.LedgerEntryTypeEnum.TRUSTLINE: LedgerKeyTrustLine.Encode(stream, encodedLedgerKey.TrustLine); break; case LedgerEntryType.LedgerEntryTypeEnum.OFFER: LedgerKeyOffer.Encode(stream, encodedLedgerKey.Offer); break; case LedgerEntryType.LedgerEntryTypeEnum.DATA: LedgerKeyData.Encode(stream, encodedLedgerKey.Data); break; case LedgerEntryType.LedgerEntryTypeEnum.CLAIMABLE_BALANCE: LedgerKeyClaimableBalance.Encode(stream, encodedLedgerKey.ClaimableBalance); break; } }
public static void Encode(IByteWriter stream, LedgerKey encodedLedgerKey) { XdrEncoding.EncodeInt32((int)encodedLedgerKey.Discriminant.InnerValue, stream); switch (encodedLedgerKey.Discriminant.InnerValue) { case LedgerEntryType.LedgerEntryTypeEnum.ACCOUNT: LedgerKeyAccount.Encode(stream, encodedLedgerKey.Account); break; case LedgerEntryType.LedgerEntryTypeEnum.TRUSTLINE: LedgerKeyTrustLine.Encode(stream, encodedLedgerKey.TrustLine); break; case LedgerEntryType.LedgerEntryTypeEnum.OFFER: LedgerKeyOffer.Encode(stream, encodedLedgerKey.Offer); break; case LedgerEntryType.LedgerEntryTypeEnum.DATA: LedgerKeyData.Encode(stream, encodedLedgerKey.Data); break; } }