Skip to content

Commit 63bd0b6

Browse files
committed
Fix coin selection
1 parent 1606eee commit 63bd0b6

File tree

2 files changed

+16
-16
lines changed

2 files changed

+16
-16
lines changed

pycardano/certificate.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,11 @@
55

66
from pycardano.exception import DeserializeException
77
from pycardano.hash import PoolKeyHash, ScriptHash, VerificationKeyHash
8-
from pycardano.serialization import ArrayCBORSerializable, limit_primitive_type, ArrayBase
8+
from pycardano.serialization import (
9+
ArrayCBORSerializable,
10+
limit_primitive_type,
11+
ArrayBase,
12+
)
913

1014
__all__ = [
1115
"Certificate",

pycardano/coinselection.py

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -186,22 +186,18 @@ def _split_by_asset(value: Value) -> List[Value]:
186186
assets = [Value(value.coin)]
187187

188188
# Extract native assets
189-
for policy_id in value.multi_asset:
190-
for asset_name in value.multi_asset[policy_id]:
191-
assets.append(
192-
Value.from_primitive(
193-
[
194-
0,
195-
{
196-
policy_id.payload: {
197-
asset_name.payload: value.multi_asset[policy_id][
198-
asset_name
199-
]
200-
}
201-
},
202-
]
203-
)
189+
for policy_id, policy_id_dict in value.multi_asset.items():
190+
for asset_name, amount in policy_id_dict.items():
191+
if not amount:
192+
# skip 0 amounts
193+
continue
194+
value = Value.from_primitive(
195+
[
196+
0,
197+
{policy_id.payload: {asset_name.payload: amount}},
198+
]
204199
)
200+
assets.append(value)
205201

206202
return assets
207203

0 commit comments

Comments
 (0)