-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for pox-3 #59
Conversation
Also adds a proposal for ccip-014 which would be the proposal that activates stacking through pox-2.
Codecov Report
@@ Coverage Diff @@
## main #59 +/- ##
==========================================
+ Coverage 84.20% 87.58% +3.38%
==========================================
Files 15 19 +4
Lines 785 1168 +383
Branches 0 170 +170
==========================================
+ Hits 661 1023 +362
- Misses 124 137 +13
- Partials 0 8 +8
... and 6 files with indirect coverage changes Continue to review full report in Codecov by Sentry.
|
Note that the tests are expected to fail at this stage - the pox-3 contract is in this branch but not known to Clarinet yet. |
@friedger do we know the pool address for pox-3 stacking with Friedger Pool yet? Have it marked as TODO right now. |
Probably |
Is that deployed already? Do you have a link? Didn't see it at the fast pool address or in the boomcrypto repo. |
Pox-3 is not yet deployed |
Got ahead of myself 😅
|
Waiting on clarification for Clarinet settings, still showing error with function replace-at? but should be included with Clarity 2 rules.
Also fixes Clarinet.toml to specify correct epoch / clarity version for new contracts.
This requires a custom version of Clarinet built from the feat/devnet-epoch-2.2 branch of clarinet, as well as the feat/2.4-clarity-wasm branch of stacks-blockchain. The link between the two is relative, so the clarinet/ and stacks-blockchain/ directories should be at the same level.
Also renames error constants using proposal number.
…o fix/support-pox-2
These two were failing after upgrading Clarinet, but seems to be a regression as the structure of this function didn't change. ERR_ALREADY_CLAIMED short-circuits before ERR_MINER_NOT_WINNER in these scenarios.
This renames the main function vote-on-ccip014 to the generic vote-on-proposal so it can be reused between contracts.
Also updates the trait to match the SIP text.
Vote value for 500 Stacked CityCoins is showing 43 instead of 438 for MIA.
Also updates a balance check in original mining tests due to CCIP-014 deployment using 8 uSTX
This is pretty much ready to go! Noting that tests still fail in the CI because Clarinet does not support Stacks 2.4 without a custom build. Output from
Note: to build this version of Clarinet, it requires using branch |
The original proposal failed with err u7006 due to cycle 59 not being complete. This would not allow us to stack for cycle 60, so the related code will be removed and saved for a future proposal. The voting functionality will be removed as well and instead of checking internally if it can be executed, it will call the original ccip-014.
CCIP-014 was trying to pay out cycles 56-59 but cycle 59 isn't complete, so we get the error Good news is there's still time left, and we can still use the vote data from CCIP-014 to pass a second proposal that:
|
Kudos for this accomplishment WAB! |
Fixed and updated testing now that Clarinet supports pox-3, also adds some missing tests found along the way and up the code a bit. This should be ready to merge now! |
With the Stacks 2.1 launch the original.pox
contract is now replaced with.pox-2
.There was a bug found in
.pox-2
on the Stacks blockchain that is currently being mitigated by:.pox-2
functionality for at least one cycle.pox-3
as the new stacking protocolMore info on this can be found on the Stacks forum and is being tracked as part of a SIP here.
We now want to target
.pox-3
with any anticipated changes, and ideally time this upgrade with the release of.pox-3
to avoid any additional missed cycles.Remaining Tasks
Treasury:
Proposal:
Mining V2:
get-city-info
with new treasury namedata-var
with DAO-gated setterCommunity Voting:
Testing: