* fix: avoid duplicate connection
* ignore the duplicate connecting to same peer within 10 seconds
* refactor: use hashmap instead of vector for connecting history
* remove the double checking for already connected peer on connect
* add previous connecting time to the log
* fix a mistake on shrink
* move the now() into the inter loop for accurate time
* change the minimum allowed inverval time from 10s to 30s
Trying to cheat with range proofs to make sure it still fails at
the block level. Defense in depth, belt and suspenders and all that
good stuff.
* rustfmt
* Revert bad carry-over
* Prevent reward overflow
Without this, a miner could cause a crash by including a kernel
with an insane fee directly in the block.
* Plus and minus, not so similar
* Can't be trusted with more code today
* adding optional mmr index to key ids
* rustfmt
* update index
* add mmr index to output display
* change restore to match on commit instead of ID, add extensive restore/check tests for multiple wallets using same seed
* rustfmt
* ensure check restores unknown accounts as well
* rustfmt
* remove storage of commit from wallet
Fixes#2317 in the least intrusive way. I believe that given a slightly more
rigorous refactor could improve the readability quite a bit. Will suggest a
follow up PR.
* Refuse duplicate peer IPs
* Explicitly mentioning NAT in code comment
* Well of course that would mess with tests. Only trigger using IP test when on the wild internet (~DNS seeding).
* Break out of main peer loop on error
* Force client conn shutdown on error
* Fix borrow error
* Ban peers that fail handshake
* Fix add_peer for ban, remove useless disconnect
* Print block hash in TUI partially
* Implement fmt::Display for core::Hash
* Show first 12 digits of Hash
* Show full hex string of hash in fmt::Debug for core::Hash
* Strip hash in fmt::Debug and use fmt::Debug for fmt::Display
* Only update outputs with unconfirmed transactions outstanding
* add further check for Unspent output that have been spent to check_repair
* rename to
* make updating all outputs optional API parameter. do full update before a wallet check, remove unspent->spent check from check process
* rustfmt
* typo
* add recover from phrase option to init
* rustfmt
* don't panic if recover is cancelled, grin-wallet.toml is created but wallet_data dir doesn't yet exits
* rustfmt