This PR replaces the peer connection code with a new event-based system. It's not complete and there's some things that will be changed in the future. Some changes will be made in a future PR as they're waiting on another thing to happen. A rebase will be needed after the new integration test framework is merged.
TODO:
[x] Connecting to peers, listening for connections
[x] Fully persistent peer ids
[x] Disconnecting
[ ] DB stuff
[x] Storing/loading PeerInfo
[ ] Wallet database (outpoints to watch, spendable utxos, etc.)
[ ] Channel info
[ ] DLC stuff
[x] Connecting through a proxy
[x] NAT holepunching, etc.
(Crossed out items are likely postponed until other refactors have been done.)
This PR replaces the peer connection code with a new event-based system. It's not complete and there's some things that will be changed in the future. Some changes will be made in a future PR as they're waiting on another thing to happen. A rebase will be needed after the new integration test framework is merged.
TODO:
DB stuffPeerInfo
Wallet database (outpoints to watch, spendable utxos, etc.)Channel infoDLC stuff(Crossed out items are likely postponed until other refactors have been done.)