operator - method

Assets operator -(
  1. Assets other
)

Implementation

Assets operator -(Assets other) {
  final values = Map<AssetName, BigInt>.from(assets);
  for (final i in other.assets.entries) {
    if (!values.containsKey(i.key)) continue;
    final val = values[i.key]! - i.value;
    if (val <= BigInt.zero) {
      values.remove(i.key);
    } else {
      values[i.key] = val;
    }
  }
  return Assets(values);
}