inputAddresses property

List<String> get inputAddresses

Implementation

List<String> get inputAddresses => () {
      List<String> inputAddresses = [];
      for (int i = 0; i < inputs.length; i++) {
        PsbtInput input = inputs[i];

        if (input.witnessUtxo != null) {
          //  witnessUtxo (PSBT key type 01)
          inputAddresses.add(input.witnessUtxo!.getAddress());
        } else if (input.previousTransaction != null) {
          // nonWitnessUtxo (PSBT key type 00)
          Transaction prevTx = input.previousTransaction!;
          int outputIndex = unsignedTransaction!.inputs[i].index;
          if (outputIndex < prevTx.outputs.length) {
            inputAddresses.add(prevTx.outputs[outputIndex].getAddress());
          } else {
            throw Exception(
                'Invalid output index $outputIndex in previous transaction');
          }
        } else {
          throw Exception('No UTXO information found for input $i');
        }
      }
      return inputAddresses;
    }();