fromTxRep static method

XdrOperationBody fromTxRep(
  1. Map<String, String> map,
  2. String prefix
)

Implementation

static XdrOperationBody fromTxRep(Map<String, String> map, String prefix) {
  XdrOperationType disc = XdrOperationType.fromTxRepName(
    TxRepHelper.getValue(map, '$prefix.type') ?? '',
  );
  XdrOperationBody result = XdrOperationBody(disc);
  switch (result.discriminant) {
    case XdrOperationType.CREATE_ACCOUNT:
      result._createAccountOp = XdrCreateAccountOp.fromTxRep(
        map,
        '$prefix.createAccountOp',
      );
      break;
    case XdrOperationType.PAYMENT:
      result._paymentOp = XdrPaymentOp.fromTxRep(map, '$prefix.paymentOp');
      break;
    case XdrOperationType.PATH_PAYMENT_STRICT_RECEIVE:
      result._pathPaymentStrictReceiveOp =
          XdrPathPaymentStrictReceiveOp.fromTxRep(
            map,
            '$prefix.pathPaymentStrictReceiveOp',
          );
      break;
    case XdrOperationType.MANAGE_SELL_OFFER:
      result._manageSellOfferOp = XdrManageSellOfferOp.fromTxRep(
        map,
        '$prefix.manageSellOfferOp',
      );
      break;
    case XdrOperationType.CREATE_PASSIVE_SELL_OFFER:
      result._createPassiveSellOfferOp =
          XdrCreatePassiveSellOfferOp.fromTxRep(
            map,
            '$prefix.createPassiveSellOfferOp',
          );
      break;
    case XdrOperationType.SET_OPTIONS:
      result._setOptionsOp = XdrSetOptionsOp.fromTxRep(
        map,
        '$prefix.setOptionsOp',
      );
      break;
    case XdrOperationType.CHANGE_TRUST:
      result._changeTrustOp = XdrChangeTrustOp.fromTxRep(
        map,
        '$prefix.changeTrustOp',
      );
      break;
    case XdrOperationType.ALLOW_TRUST:
      result._allowTrustOp = XdrAllowTrustOp.fromTxRep(
        map,
        '$prefix.allowTrustOp',
      );
      break;
    case XdrOperationType.ACCOUNT_MERGE:
      result._destination = TxRepHelper.parseMuxedAccount(
        TxRepHelper.getValue(map, '$prefix.destination') ?? '',
      );
      break;
    case XdrOperationType.INFLATION:
      break;
    case XdrOperationType.MANAGE_DATA:
      result._manageDataOp = XdrManageDataOp.fromTxRep(
        map,
        '$prefix.manageDataOp',
      );
      break;
    case XdrOperationType.BUMP_SEQUENCE:
      result._bumpSequenceOp = XdrBumpSequenceOp.fromTxRep(
        map,
        '$prefix.bumpSequenceOp',
      );
      break;
    case XdrOperationType.MANAGE_BUY_OFFER:
      result._manageBuyOfferOp = XdrManageBuyOfferOp.fromTxRep(
        map,
        '$prefix.manageBuyOfferOp',
      );
      break;
    case XdrOperationType.PATH_PAYMENT_STRICT_SEND:
      result._pathPaymentStrictSendOp = XdrPathPaymentStrictSendOp.fromTxRep(
        map,
        '$prefix.pathPaymentStrictSendOp',
      );
      break;
    case XdrOperationType.CREATE_CLAIMABLE_BALANCE:
      result._createClaimableBalanceOp =
          XdrCreateClaimableBalanceOp.fromTxRep(
            map,
            '$prefix.createClaimableBalanceOp',
          );
      break;
    case XdrOperationType.CLAIM_CLAIMABLE_BALANCE:
      result._claimClaimableBalanceOp = XdrClaimClaimableBalanceOp.fromTxRep(
        map,
        '$prefix.claimClaimableBalanceOp',
      );
      break;
    case XdrOperationType.BEGIN_SPONSORING_FUTURE_RESERVES:
      result._beginSponsoringFutureReservesOp =
          XdrBeginSponsoringFutureReservesOp.fromTxRep(
            map,
            '$prefix.beginSponsoringFutureReservesOp',
          );
      break;
    case XdrOperationType.END_SPONSORING_FUTURE_RESERVES:
      break;
    case XdrOperationType.REVOKE_SPONSORSHIP:
      result._revokeSponsorshipOp = XdrRevokeSponsorshipOp.fromTxRep(
        map,
        '$prefix.revokeSponsorshipOp',
      );
      break;
    case XdrOperationType.CLAWBACK:
      result._clawbackOp = XdrClawbackOp.fromTxRep(map, '$prefix.clawbackOp');
      break;
    case XdrOperationType.CLAWBACK_CLAIMABLE_BALANCE:
      result._clawbackClaimableBalanceOp =
          XdrClawbackClaimableBalanceOp.fromTxRep(
            map,
            '$prefix.clawbackClaimableBalanceOp',
          );
      break;
    case XdrOperationType.SET_TRUST_LINE_FLAGS:
      result._setTrustLineFlagsOp = XdrSetTrustLineFlagsOp.fromTxRep(
        map,
        '$prefix.setTrustLineFlagsOp',
      );
      break;
    case XdrOperationType.LIQUIDITY_POOL_DEPOSIT:
      result._liquidityPoolDepositOp = XdrLiquidityPoolDepositOp.fromTxRep(
        map,
        '$prefix.liquidityPoolDepositOp',
      );
      break;
    case XdrOperationType.LIQUIDITY_POOL_WITHDRAW:
      result._liquidityPoolWithdrawOp = XdrLiquidityPoolWithdrawOp.fromTxRep(
        map,
        '$prefix.liquidityPoolWithdrawOp',
      );
      break;
    case XdrOperationType.INVOKE_HOST_FUNCTION:
      result._invokeHostFunctionOp = XdrInvokeHostFunctionOp.fromTxRep(
        map,
        '$prefix.invokeHostFunctionOp',
      );
      break;
    case XdrOperationType.EXTEND_FOOTPRINT_TTL:
      result._extendFootprintTTLOp = XdrExtendFootprintTTLOp.fromTxRep(
        map,
        '$prefix.extendFootprintTTLOp',
      );
      break;
    case XdrOperationType.RESTORE_FOOTPRINT:
      result._restoreFootprintOp = XdrRestoreFootprintOp.fromTxRep(
        map,
        '$prefix.restoreFootprintOp',
      );
      break;
    default:
      break;
  }
  return result;
}