select static method

CoinSelection select({
  1. required List<SpendableUtxo> utxos,
  2. required BigInt target,
  3. required BigInt feePerUtxo,
  4. required BigInt baseFee,
  5. CoinSelectionStrategy strategy = CoinSelectionStrategy.largestFirst,
  6. Random? rng,
  7. BigInt? dustThreshold,
})

Implementation

static CoinSelection select({
  required List<SpendableUtxo> utxos,
  required BigInt target,
  required BigInt feePerUtxo,
  required BigInt baseFee,
  CoinSelectionStrategy strategy = CoinSelectionStrategy.largestFirst,
  Random? rng,
  BigInt? dustThreshold,
}) {
  switch (strategy) {
    case CoinSelectionStrategy.largestFirst:
      return _largestFirst(utxos, target, feePerUtxo, baseFee, dustThreshold);
    case CoinSelectionStrategy.smallestFirst:
      return _smallestFirst(
          utxos, target, feePerUtxo, baseFee, dustThreshold);
    case CoinSelectionStrategy.random:
      return _random(
          utxos, target, feePerUtxo, baseFee, rng ?? Random.secure(),
          dustThreshold);
    case CoinSelectionStrategy.branchAndBound:
      return _branchAndBound(
          utxos, target, feePerUtxo, baseFee, dustThreshold);
  }
}