encode method Null safety

void encode(
  1. XdrDataOutputStream stream,
  2. XdrLedgerKey encodedLedgerKey
)

Implementation

static void encode(
    XdrDataOutputStream stream, XdrLedgerKey encodedLedgerKey) {
  stream.writeInt(encodedLedgerKey.discriminant.value);
  switch (encodedLedgerKey.discriminant) {
    case XdrLedgerEntryType.ACCOUNT:
      XdrLedgerKeyAccount.encode(stream, encodedLedgerKey.account!);
      break;
    case XdrLedgerEntryType.TRUSTLINE:
      XdrLedgerKeyTrustLine.encode(stream, encodedLedgerKey.trustLine!);
      break;
    case XdrLedgerEntryType.OFFER:
      XdrLedgerKeyOffer.encode(stream, encodedLedgerKey.offer!);
      break;
    case XdrLedgerEntryType.DATA:
      XdrLedgerKeyData.encode(stream, encodedLedgerKey.data!);
      break;
    case XdrLedgerEntryType.CLAIMABLE_BALANCE:
      XdrClaimableBalanceID.encode(stream, encodedLedgerKey.balanceID!);
      break;
    case XdrLedgerEntryType.LIQUIDITY_POOL:
      XdrHash.encode(stream, encodedLedgerKey.liquidityPoolID!);
      break;
    case XdrLedgerEntryType.CONTRACT_DATA:
      XdrHash.encode(stream, encodedLedgerKey.contractID!);
      XdrSCVal.encode(stream, encodedLedgerKey.contractDataKey!);
      break;
    case XdrLedgerEntryType.CONTRACT_CODE:
      XdrHash.encode(stream, encodedLedgerKey.contractCodeHash!);
      break;
    case XdrLedgerEntryType.CONFIG_SETTING:
      XdrConfigSettingID.encode(stream, encodedLedgerKey.configSetting!);
  }
}