decode static method

Implementation

static XdrOperationBody decode(XdrDataInputStream stream) {
  XdrOperationBody decodedOperationBody =
      XdrOperationBody(XdrOperationType.decode(stream));
  switch (decodedOperationBody.discriminant) {
    case XdrOperationType.CREATE_ACCOUNT:
      decodedOperationBody.createAccountOp =
          XdrCreateAccountOp.decode(stream);
      break;
    case XdrOperationType.PAYMENT:
      decodedOperationBody.paymentOp = XdrPaymentOp.decode(stream);
      break;
    case XdrOperationType.PATH_PAYMENT_STRICT_RECEIVE:
      decodedOperationBody.pathPaymentStrictReceiveOp =
          XdrPathPaymentStrictReceiveOp.decode(stream);
      break;
    case XdrOperationType.MANAGE_SELL_OFFER:
      decodedOperationBody.manageSellOfferOp =
          XdrManageSellOfferOp.decode(stream);
      break;
    case XdrOperationType.CREATE_PASSIVE_SELL_OFFER:
      decodedOperationBody.createPassiveOfferOp =
          XdrCreatePassiveSellOfferOp.decode(stream);
      break;
    case XdrOperationType.SET_OPTIONS:
      decodedOperationBody.setOptionsOp = XdrSetOptionsOp.decode(stream);
      break;
    case XdrOperationType.CHANGE_TRUST:
      decodedOperationBody.changeTrustOp = XdrChangeTrustOp.decode(stream);
      break;
    case XdrOperationType.ALLOW_TRUST:
      decodedOperationBody.allowTrustOp = XdrAllowTrustOp.decode(stream);
      break;
    case XdrOperationType.ACCOUNT_MERGE:
      decodedOperationBody.destination = XdrMuxedAccount.decode(stream);
      break;
    case XdrOperationType.INFLATION:
      break;
    case XdrOperationType.MANAGE_DATA:
      decodedOperationBody.manageDataOp = XdrManageDataOp.decode(stream);
      break;
    case XdrOperationType.BUMP_SEQUENCE:
      decodedOperationBody.bumpSequenceOp = XdrBumpSequenceOp.decode(stream);
      break;
    case XdrOperationType.MANAGE_BUY_OFFER:
      decodedOperationBody.manageBuyOfferOp =
          XdrManageBuyOfferOp.decode(stream);
      break;
    case XdrOperationType.PATH_PAYMENT_STRICT_SEND:
      decodedOperationBody.pathPaymentStrictSendOp =
          XdrPathPaymentStrictSendOp.decode(stream);
      break;
    case XdrOperationType.CREATE_CLAIMABLE_BALANCE:
      decodedOperationBody.createClaimableBalanceOp =
          XdrCreateClaimableBalanceOp.decode(stream);
      break;
    case XdrOperationType.CLAIM_CLAIMABLE_BALANCE:
      decodedOperationBody.claimClaimableBalanceOp =
          XdrClaimClaimableBalanceOp.decode(stream);
      break;
    case XdrOperationType.BEGIN_SPONSORING_FUTURE_RESERVES:
      decodedOperationBody.beginSponsoringFutureReservesOp =
          XdrBeginSponsoringFutureReservesOp.decode(stream);
      break;
    case XdrOperationType.END_SPONSORING_FUTURE_RESERVES:
      break;
    case XdrOperationType.REVOKE_SPONSORSHIP:
      decodedOperationBody.revokeSponsorshipOp =
          XdrRevokeSponsorshipOp.decode(stream);
      break;
    case XdrOperationType.CLAWBACK:
      decodedOperationBody.clawbackOp = XdrClawbackOp.decode(stream);
      break;
    case XdrOperationType.CLAWBACK_CLAIMABLE_BALANCE:
      decodedOperationBody.clawbackClaimableBalanceOp =
          XdrClawbackClaimableBalanceOp.decode(stream);
      break;
    case XdrOperationType.SET_TRUST_LINE_FLAGS:
      decodedOperationBody.setTrustLineFlagsOp =
          XdrSetTrustLineFlagsOp.decode(stream);
      break;
    case XdrOperationType.LIQUIDITY_POOL_DEPOSIT:
      decodedOperationBody.liquidityPoolDepositOp =
          XdrLiquidityPoolDepositOp.decode(stream);
      break;
    case XdrOperationType.LIQUIDITY_POOL_WITHDRAW:
      decodedOperationBody.liquidityPoolWithdrawOp =
          XdrLiquidityPoolWithdrawOp.decode(stream);
      break;
    case XdrOperationType.INVOKE_HOST_FUNCTION:
      decodedOperationBody.invokeHostFunctionOp =
          XdrInvokeHostFunctionOp.decode(stream);
      break;
    case XdrOperationType.EXTEND_FOOTPRINT_TTL:
      decodedOperationBody.bumpExpirationOp =
          XdrExtendFootprintTTLOp.decode(stream);
      break;
    case XdrOperationType.RESTORE_FOOTPRINT:
      decodedOperationBody.restoreFootprintOp =
          XdrRestoreFootprintOp.decode(stream);
      break;
  }
  return decodedOperationBody;
}