Skip to content

Conversation

@camfairchild
Copy link
Contributor

@camfairchild camfairchild commented Jan 9, 2025

Description

Right now, we only try to charge the key swap cost after a coldkey is already scheduled to be swapped. This means the scheduled swap will fail if there is not enough balance in the coldkey for the cost.

However, we still let them schedule the swap.

This PR checks for the cost upfront so we don't need to worry about this anymore. Also adds a test for preventing the schedule call if the cost can't be paid.

This PR also provides the swap cost via the swap_coldkey call, so this can break any existing scheduled calls.
This is meant to preserve the cost at the time of scheduling, while still charging if the swap_coldkey call is called directly.

Related Issue(s)

  • Closes #[issue number]

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Other (please describe):

Breaking Change

If this PR introduces a breaking change, please provide a detailed description of the impact and the migration path for existing applications.

Checklist

  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have run cargo fmt and cargo clippy to ensure my code is formatted and linted correctly
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream modules

@camfairchild camfairchild requested a review from unconst as a code owner January 9, 2025 02:25
@camfairchild camfairchild requested a review from sam0x17 January 13, 2025 18:56
@camfairchild camfairchild added no-spec-version-bump PR does not contain changes that requires bumping the spec version skip-cargo-audit This PR fails cargo audit but needs to be merged anyway labels Jan 13, 2025
@sam0x17
Copy link
Contributor

sam0x17 commented Jan 14, 2025

clippy + test

sam0x17
sam0x17 previously approved these changes Jan 21, 2025
@camfairchild camfairchild removed the no-spec-version-bump PR does not contain changes that requires bumping the spec version label Jan 21, 2025
@camfairchild camfairchild merged commit 2bb5e20 into devnet-ready Jan 21, 2025
11 of 15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip-cargo-audit This PR fails cargo audit but needs to be merged anyway

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants