XrpTxData.fromJson constructor

XrpTxData.fromJson(
  1. Map<String, dynamic> txJson
)

Implementation

factory XrpTxData.fromJson(Map<String, dynamic> txJson) {
  if (txJson['TransactionType'] == XrpTransactionType.trustSet) {
    final limitAmount = XrpTokenAmount(
        currency: txJson['LimitAmount']['currency'],
        issuer: txJson['LimitAmount']['issuer'],
        value: txJson['LimitAmount']['value']);
    return XrpTxData(
        account: txJson['Account'],
        transactionType: txJson['TransactionType'],
        sequence: txJson['Sequence'],
        fee: txJson['Fee'],
        lastLedgerSequence: txJson['LastLedgerSequence'],
        limitAmount: limitAmount,
        flags: txJson['Flags']);
  } else if (txJson['Amount'] is String) {
    final XrpAmountType xrpAmount = XrpAmount(amount: txJson['Amount']);
    return XrpTxData(
        account: txJson['Account'],
        transactionType: txJson['TransactionType'],
        sequence: txJson['Sequence'],
        fee: txJson['Fee'],
        lastLedgerSequence: txJson['LastLedgerSequence'],
        destination: txJson['Destination'],
        amount: xrpAmount,
        flags: txJson['Flags']);
  } else if (txJson['Amount'] is Object) {
    final XrpAmountType tokenAmount = XrpTokenAmount(
        currency: txJson['Amount']['currency'],
        issuer: txJson['Amount']['issuer'],
        value: txJson['Amount']['value']);
    return XrpTxData(
        account: txJson['Account'],
        transactionType: txJson['TransactionType'],
        sequence: txJson['Sequence'],
        fee: txJson['Fee'],
        lastLedgerSequence: txJson['LastLedgerSequence'],
        destination: txJson['Destination'],
        amount: tokenAmount,
        flags: txJson['Flags']);
  } else {
    throw Exception('Error transaction type');
  }
}