bittensor
bittensor copied to clipboard
Change extrinsic submission flow
This changes the flow of extrinsic submission.
Currently, the flow suffers from a double-compose issue.
Current flow if the submission has an exception
(assume the initial submission is included in the chain, regardless of the client exception):
- call
_do_transfer - create new transfer extrinsic
- sign extrinsic using new nonce
- submit extrinsic
- ERROR!
- retry from 2.
- SUCCESS!
In the above example, now there have been 2 valid transfer extrinsics submitted (and included) to the chain This is bad, this is a double-send by the Python API
This PR changes the flow to retry only the submission portion. (i.e., 6. retries from 4.)