Skip to content

Commit b19a911

Browse files
authored
Fix coinselection (#329)
* Fix coinselection * Fix skipping coin if coin is 0
1 parent 041e785 commit b19a911

File tree

1 file changed

+7
-10
lines changed

1 file changed

+7
-10
lines changed

pycardano/coinselection.py

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -183,22 +183,19 @@ def _random_select_subset(
183183
@staticmethod
184184
def _split_by_asset(value: Value) -> List[Value]:
185185
# Extract ADA
186-
assets = [Value(value.coin)]
186+
assets = [Value(value.coin)] if value.coin else []
187187

188188
# Extract native assets
189-
for policy_id in value.multi_asset:
190-
for asset_name in value.multi_asset[policy_id]:
189+
for policy_id, d in value.multi_asset.items():
190+
for asset_name, amount in d.items():
191+
if not amount:
192+
# skip 0 amounts
193+
continue
191194
assets.append(
192195
Value.from_primitive(
193196
[
194197
0,
195-
{
196-
policy_id.payload: {
197-
asset_name.payload: value.multi_asset[policy_id][
198-
asset_name
199-
]
200-
}
201-
},
198+
{policy_id.payload: {asset_name.payload: amount}},
202199
]
203200
)
204201
)

0 commit comments

Comments
 (0)