decode method Null safety

XdrConfigSettingEntry decode(
  1. XdrDataInputStream stream
)

Implementation

static XdrConfigSettingEntry decode(XdrDataInputStream stream) {
  XdrConfigSettingEntry decoded =
      XdrConfigSettingEntry(XdrConfigSettingID.decode(stream));
  switch (decoded.configSettingID) {
    case XdrConfigSettingID.CONFIG_SETTING_CONTRACT_MAX_SIZE_BYTES:
      decoded.contractMaxSizeBytes = XdrUint32.decode(stream);
      break;
    case XdrConfigSettingID.CONFIG_SETTING_CONTRACT_COMPUTE_V0:
      decoded.contractCompute =
          XdrConfigSettingContractComputeV0.decode(stream);
      break;
    case XdrConfigSettingID.CONFIG_SETTING_CONTRACT_LEDGER_COST_V0:
      decoded.contractLedgerCost =
          XdrConfigSettingContractLedgerCostV0.decode(stream);
      break;
    case XdrConfigSettingID.CONFIG_SETTING_CONTRACT_HISTORICAL_DATA_V0:
      decoded.contractMetaData =
          XdrConfigSettingContractMetaDataV0.decode(stream);
      break;
    case XdrConfigSettingID.CONFIG_SETTING_CONTRACT_META_DATA_V0:
      decoded.contractHistoricalData =
          XdrConfigSettingContractHistoricalDataV0.decode(stream);
      break;
    case XdrConfigSettingID.CONFIG_SETTING_CONTRACT_BANDWIDTH_V0:
      decoded.contractBandwidth =
          XdrConfigSettingContractBandwidthV0.decode(stream);
      break;
    case XdrConfigSettingID
        .CONFIG_SETTING_CONTRACT_COST_PARAMS_CPU_INSTRUCTIONS:
      decoded.contractCostParamsCpuInsns =
          XdrContractCostParams.decode(stream);
      break;
    case XdrConfigSettingID.CONFIG_SETTING_CONTRACT_COST_PARAMS_MEMORY_BYTES:
      decoded.contractCostParamsMemBytes =
          XdrContractCostParams.decode(stream);
      break;
    case XdrConfigSettingID.CONFIG_SETTING_CONTRACT_DATA_KEY_SIZE_BYTES:
      decoded.contractDataKeySizeBytes = XdrUint32.decode(stream);
      break;
    case XdrConfigSettingID.CONFIG_SETTING_CONTRACT_DATA_ENTRY_SIZE_BYTES:
      decoded.contractDataEntrySizeBytes = XdrUint32.decode(stream);
      break;
  }
  return decoded;
}