Impl WeightTrader for tuple (#3601)

* Impl WeightTrader for tuple.

* fmt

* Renaming.

* add tracing for buy_weight

* Add comment clarifying the default behavior of a WeightTrader tuple

Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
16 jobs for master in 19 minutes and 30 seconds (queued for 6 seconds)
Name Stage Failure
failed
check-transaction-versions Build
2021-08-18 01:10:57 👶 Creating empty BABE epoch changes on what appears to be first startup.    
2021-08-18 01:10:57 🏷 Local node identity is: 12D3KooWSERmRXd9F4zqde9T45Uvp6xESwF7jiqYGo1q3EaqY3bW
2021-08-18 01:10:57 📦 Highest known block at #0
2021-08-18 01:10:57 〽️ Prometheus server started at 127.0.0.1:9615
2021-08-18 01:10:57 Listening for new connections on 127.0.0.1:9945.
2021-08-18 01:11:02 💤 Idle (0 peers), best: #0 (0xe953…69ff), finalized #0 (0xe953…69ff), ⬇ 0 ⬆ 0
[!] Both nodes not listening after 5 seconds. Exiting
Cleaning up file based variables
ERROR: Job failed: exit code 1
failed
test-build-linux-stable Test

For more information about this error, try `rustc --explain E0308`.
error: build failed

real 6m52.243s
user 34m44.730s
sys 4m18.206s
Cleaning up file based variables
ERROR: Job failed: exit code 1