Skip to content

v0.4.1 — a rejected extrinsic was being recorded as a success

Latest

Choose a tag to compare

@crabbytt crabbytt released this 21 Jul 17:49
af5fb39

v0.4.1 — a rejected extrinsic was being recorded as a success

UPGRADE IF YOU ARE ON 0.4.0. A validator on 0.4.0 that logged
set_weights(...) -> True may have submitted nothing at all.

bittensor 10.x returns an ExtrinsicResponse from set_weights. It mimics a
tuple but is not one, and defines no bool, so every rejection read as
success: state advanced, the loop waited out a full resubmit interval before
retrying, and no weights reached the chain while the container stayed
healthy.

Seen in production against a hotkey with no validator permit - the log said
True while its on-chain weights stayed empty and last_update never moved.

The rejection reason is now logged with it:

[chain] set_weights(1 uids) -> False (No validator permit)

Introduced in 0.4.0 with the bittensor 9 -> 10 upgrade.

If you ran 0.4.0, check last_update and your weights on chain rather than
trusting the log.