Skip to content

[Consolidate] --source-public-keys ignored when --target-public-key not provided #641

@eiabea

Description

@eiabea

I tried to consolidate more than one key and found a cool feature, but also some strange behavior 🤔

Passing no key information to the consolidate command results in request to consolidate all 0x01 keys into 0x02 keys

/app$ python src/main.py consolidate --vault 0x663580b3edad914d0b59cea88616f06278d42xxx --network mainnet
2026-01-24 10:09:05,244 INFO     Fetching vault validators...
Consolidating from validator with index 1629xxx to validator with index 2189xxx
Consolidating from validator with index 1629xxx to validator with index 2189xxx
Consolidating from validator with index 1648xxx to validator with index 2189xxx
Consolidating from validator with index 1658xxx to validator with index 2189xxx
Consolidating from validator with index 1688xxx to validator with index 2189xxx
Consolidating from validator with index 1846xxx to validator with index 2189xxx
Consolidating from validator with index 1858xxx to validator with index 2189xxx
Consolidating from validator with index 1858xxx to validator with index 2189xxx
Consolidating from validator with index 1858xxx to validator with index 2189xxx
Consolidating from validator with index 1858xxx to validator with index 2189xxx
Consolidating from validator with index 1858xxx to validator with index 2189xxx
Consolidating from validator with index 1858xxx to validator with index 2189xxx
Consolidating from validator with index 1858xxx to validator with index 2189xxx
Consolidating from validator with index 1858xxx to validator with index 2189xxx
Consolidating from validator with index 1858xxx to validator with index 2189xxx
Consolidating from validator with index 1858xxx to validator with index 2189xxx
Consolidating from validator with index 1858xxx to validator with index 2189xxx
Consolidating from validator with index 1858xxx to validator with index 2189xxx
Consolidating from validator with index 1858xxx to validator with index 2189xxx
Consolidating from validator with index 1858xxx to validator with index 2189xxx
Consolidating from validator with index 1858xxx to validator with index 2189xxx
Consolidating from validator with index 1858xxx to validator with index 2189xxx
Consolidating from validator with index 1947xxx to validator with index 2189xxx
Consolidating from validator with index 1988xxx to validator with index 2189xxx
Consolidating from validator with index 1989xxx to validator with index 2189xxx
Consolidating from validator with index 2071xxx to validator with index 2189xxx
Consolidating from validator with index 2071xxx to validator with index 2189xxx
Consolidating from validator with index 2071xxx to validator with index 2189xxx
Consolidating from validator with index 2071xxx to validator with index 2189xxx
Consolidating from validator with index 2180xxx to validator with index 2189xxx

Pretty nice!

My goal is to consolidate only 3 keys into our single 0x02 key, so i tried this command:

app$ python src/main.py consolidate --vault 0x663580b3edad914d0b59cea88616f06278d42xxx --network mainnet --source-public-keys 0x8a81712897e1139ec1026c969df91252169cacc7858abf9b2454f02fe282e338cd8150d83a34cb70b190e93ea90b0xxx,0x8f5a0633718fec3203be706911f16728634cb437ac8f6b2294fe5d75c8a4e6f4edce5e9af775b017a223d2617f53exxx,0xa70a600c5236cdb961de211c05fb4a9c0ea8b9d3ef8a9756ef09e765077fb86b3646c71cc4091b6c0a8ecaf7a473cxxx
2026-01-24 10:02:47,809 INFO     Fetching vault validators...
Consolidating from validator with index 1629xxx to validator with index 2189xxx
Consolidating from validator with index 1629xxx to validator with index 2189xxx
Consolidating from validator with index 1648xxx to validator with index 2189xxx
Consolidating from validator with index 1658xxx to validator with index 2189xxx
Consolidating from validator with index 1688xxx to validator with index 2189xxx
Consolidating from validator with index 1846xxx to validator with index 2189xxx
Consolidating from validator with index 1858xxx to validator with index 2189xxx
Consolidating from validator with index 1858xxx to validator with index 2189xxx
Consolidating from validator with index 1858xxx to validator with index 2189xxx
Consolidating from validator with index 1858xxx to validator with index 2189xxx
Consolidating from validator with index 1858xxx to validator with index 2189xxx
Consolidating from validator with index 1858xxx to validator with index 2189xxx
Consolidating from validator with index 1858xxx to validator with index 2189xxx
Consolidating from validator with index 1858xxx to validator with index 2189xxx
Consolidating from validator with index 1858xxx to validator with index 2189xxx
Consolidating from validator with index 1858xxx to validator with index 2189xxx
Consolidating from validator with index 1858xxx to validator with index 2189xxx
Consolidating from validator with index 1858xxx to validator with index 2189xxx
Consolidating from validator with index 1858xxx to validator with index 2189xxx
Consolidating from validator with index 1858xxx to validator with index 2189xxx
Consolidating from validator with index 1858xxx to validator with index 2189xxx
Consolidating from validator with index 1858xxx to validator with index 2189xxx
Consolidating from validator with index 1947xxx to validator with index 2189xxx
Consolidating from validator with index 1988xxx to validator with index 2189xxx
Consolidating from validator with index 1989xxx to validator with index 2189xxx
Consolidating from validator with index 2071xxx to validator with index 2189xxx
Consolidating from validator with index 2071xxx to validator with index 2189xxx
Consolidating from validator with index 2071xxx to validator with index 2189xxx
Consolidating from validator with index 2071xxx to validator with index 2189xxx
Consolidating from validator with index 2180xxx to validator with index 2189xxx

I expected the command to only consolidate the given keys into the target key, but the --source-public-keys seemed to be ignored

Only also setting the --target-public-key gave me the expected result:

/app$ python src/main.py consolidate --vault 0x663580b3edad914d0b59cea88616f06278d42xxx --network mainnet --source-public-keys 0x8a81712897e1139ec1026c969df91252169cacc7858abf9b2454f02fe282e338cd8150d83a34cb70b190e93ea90b0xxx,0x8f5a0633718fec3203be706911f16728634cb437ac8f6b2294fe5d75c8a4e6f4edce5e9af775b017a223d2617f53exxx,0xa70a600c5236cdb961de211c05fb4a9c0ea8b9d3ef8a9756ef09e765077fb86b3646c71cc4091b6c0a8ecaf7a473cxxx --target-public-key 0x81129ecaa6cd5334ee54a77359b73ae79cb9b98680ca2d60610b02b5b2c86b2e366188431e8818c1e40c306f7a8c0xxx
2026-01-24 10:04:22,799 INFO     Checking selected validators for consolidation...
2026-01-24 10:04:23,478 INFO     Fetching vault validators...
Consolidating from validator with index 1989xxx to validator with index 2189xxx
Consolidating from validator with index 1858xxx to validator with index 2189xxx
Consolidating from validator with index 1846xxx to validator with index 2189xxx

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions