decode static method

XdrLedgerKey decode(
  1. XdrDataInputStream stream
)

Implementation

static XdrLedgerKey decode(XdrDataInputStream stream) {
  XdrLedgerEntryType discriminant = XdrLedgerEntryType.decode(stream);
  XdrLedgerKey decodedLedgerKey = XdrLedgerKey(discriminant);
  switch (decodedLedgerKey.discriminant) {
    case XdrLedgerEntryType.ACCOUNT:
      decodedLedgerKey.account = XdrLedgerKeyAccount.decode(stream);
      break;
    case XdrLedgerEntryType.TRUSTLINE:
      decodedLedgerKey.trustLine = XdrLedgerKeyTrustLine.decode(stream);
      break;
    case XdrLedgerEntryType.OFFER:
      decodedLedgerKey.offer = XdrLedgerKeyOffer.decode(stream);
      break;
    case XdrLedgerEntryType.DATA:
      decodedLedgerKey.data = XdrLedgerKeyData.decode(stream);
      break;
    case XdrLedgerEntryType.CLAIMABLE_BALANCE:
      decodedLedgerKey.balanceID = XdrClaimableBalanceID.decode(stream);
      break;
    case XdrLedgerEntryType.LIQUIDITY_POOL:
      decodedLedgerKey.liquidityPoolID = XdrHash.decode(stream);
      break;
    case XdrLedgerEntryType.CONTRACT_DATA:
      decodedLedgerKey.contractData = XdrLedgerKeyContractData.decode(stream);
      break;
    case XdrLedgerEntryType.CONTRACT_CODE:
      decodedLedgerKey.contractCode = XdrLedgerKeyContractCode.decode(stream);
      break;
    case XdrLedgerEntryType.CONFIG_SETTING:
      decodedLedgerKey.configSetting = XdrConfigSettingID.decode(stream);
      break;
    case XdrLedgerEntryType.TTL:
      decodedLedgerKey.ttl = XdrLedgerKeyTTL.decode(stream);
      break;
  }
  return decodedLedgerKey;
}