Skip to content

feat: Tech Collective for Runtime Upgrades#12

Merged
czareko merged 21 commits intomainfrom
feat/basic_collective
May 21, 2025
Merged

feat: Tech Collective for Runtime Upgrades#12
czareko merged 21 commits intomainfrom
feat/basic_collective

Conversation

@czareko
Copy link
Collaborator

@czareko czareko commented May 14, 2025

No description provided.

@czareko czareko marked this pull request as ready for review May 14, 2025 11:00
@czareko czareko requested a review from n13 May 14, 2025 11:00
Copy link
Collaborator

@n13 n13 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some comments... magic numbers needed? Transaction extension needed?

@czareko czareko requested review from dastansam, illuzen, n13 and vrom911 May 15, 2025 04:58
@czareko czareko marked this pull request as draft May 15, 2025 23:42
@czareko czareko marked this pull request as ready for review May 19, 2025 04:57
@czareko czareko requested a review from dastansam May 19, 2025 04:58
@illuzen illuzen requested a review from Copilot May 20, 2025 03:49
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR implements runtime upgrades for Tech Collective referenda and governance logic with updated balance requirements, revised proposal origins, and updated track configurations. Key changes include updating account balance setups for proposers and voters, switching proposal origins from Root to Signed in various tests, and integrating a new Tech Collective extension with corresponding track configurations.

Reviewed Changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
runtime/tests/governance_logic.rs Updated test setups with increased balances, revised origin usage, and adjusted track index assertions.
runtime/tests/governance_engine.rs Changed proposal origin from Root to Signed and updated balance setups.
runtime/tests/common.rs Added allow(dead_code) attributes to suppress warnings.
runtime/src/transaction_extensions.rs Added a new TechCollectiveExtension to intercept voting on track 0.
runtime/src/lib.rs Introduced new type aliases for TechCollective and TechReferenda.
runtime/src/governance.rs Revised track configurations and track_for functions for community and Tech Collective referenda.
runtime/src/genesis_config_presets.rs Refactored genesis config preset functions and account setup helpers.
runtime/src/configs/mod.rs Updated Tracks implementation and pallet_ranked_collective configuration.
Cargo.toml & runtime/Cargo.toml Added pallet-ranked-collective crate dependency.
pallets/qpow/src/tests.rs Removed commented-out tests for nonce event handling.
Comments suppressed due to low confidence (1)

runtime/src/governance.rs:214

  • In TechCollectiveTracksInfo::track_for, returning Ok(2) for RawOrigin::None is inconsistent since the tracks array only contains track id 0. Consider updating the return value to one that exists in the TRACKS array (e.g., Ok(0)) to avoid mismatches.
frame_system::RawOrigin::None => return Ok(2), // None origin uses track 2

@czareko czareko requested review from dastansam and illuzen May 20, 2025 06:42
@czareko czareko merged commit 0861d33 into main May 21, 2025
2 checks passed
dastansam added a commit that referenced this pull request Jun 4, 2025
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* remove caching

* Only allow airdrop creators to delete it

* Allow creators to claim remain balance when delete

* Clean up docs

* Remove unsignedValidation, add tests

* Remove unnecessary error

* Generate weights from the nenchmarking

* Use the existing weights template

* Use unsigned acc for claims

---------

Co-authored-by: illuzen <github.handheld844@passmail.net>

feat: Tech Collective for Runtime Upgrades (#12)

* feat: Membership configuration

* feat: Founders in genesis config

* feat: First community test

* feat: TxExtension - only members can vote for track 0

* feat: Track 0 for members only without token support validation

* feat: Proposals for track 0 limited to tech collective members

* fix: TxExt rename in node

* feat: Genesis presets - tech collective members

* chore: Tracks params update

* feat: Separate referenda with submit limited

* feat: Separate tracks - ready for test fix

* feat: Membership removed

* feat: First test for TechCollective

* feat: Tests for new collective ready

* feat: All tests fixed and cleaned

* clean: TxExtension

* fix: Review comments + formatting

* chore: MaxRankOfClass - additional comments

Add windows build to release process (#17)

windows takes 30 minutes to release...

remove special case for 0.0.0 - just use it (#18)

Bump poseidon-resonance to 0.4.0 (#20)

* Bump poseidon-resonance to 0.4.0

* Update to 0.5.0

chore: Chain-spec JSON - refreshed (#24)

feat: vest airdrop rewards (#22)

* Replace vesting pallet

* Vest airdrops

* Update runtime

* Resolve comments

* Add insufficient balance check

move rusty-crystals to github (#26)

* move rusty-crystals to github

* poseidon-resonance 0.5.0

CLI Updates  (#27)

* move rusty-crystals to github

* CLI updates

* moved test data to file

* remove redundant comments

* poseidon-resonance 0.5.0

* merge from main

* Update readme for new CLI commands

Make benchmarks compile (#29)

feat: explicit reverser for reversible accounts (#8)

* Add explicit reverser for reversible transfers

* Make reverser get reserved funds, update benchmarks

* Add more tests

updated storage hasher for transfer proofs (#25)

* updated storage hasher for transfer proofs

* minor cleanup

* fixed some tests

* tests compile now

* Pass AccountId for storage hashing (#30)

* tests fixed

---------

Co-authored-by: illuzen <github.handheld844@passmail.net>
Co-authored-by: Dastan <88332432+dastansam@users.noreply.github.com>

cargo fmt (#31)

applied cargo fmt to codebase

Update ci.yml (#32)

add cargo fmt check

don't cache on linux (#33)

prevents out of disk space errors

Fix compile errors

Run fmt

Mostly passing tests
dastansam added a commit that referenced this pull request Jun 4, 2025
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* remove caching

* Only allow airdrop creators to delete it

* Allow creators to claim remain balance when delete

* Clean up docs

* Remove unsignedValidation, add tests

* Remove unnecessary error

* Generate weights from the nenchmarking

* Use the existing weights template

* Use unsigned acc for claims

---------

Co-authored-by: illuzen <github.handheld844@passmail.net>

feat: Tech Collective for Runtime Upgrades (#12)

* feat: Membership configuration

* feat: Founders in genesis config

* feat: First community test

* feat: TxExtension - only members can vote for track 0

* feat: Track 0 for members only without token support validation

* feat: Proposals for track 0 limited to tech collective members

* fix: TxExt rename in node

* feat: Genesis presets - tech collective members

* chore: Tracks params update

* feat: Separate referenda with submit limited

* feat: Separate tracks - ready for test fix

* feat: Membership removed

* feat: First test for TechCollective

* feat: Tests for new collective ready

* feat: All tests fixed and cleaned

* clean: TxExtension

* fix: Review comments + formatting

* chore: MaxRankOfClass - additional comments

Add windows build to release process (#17)

windows takes 30 minutes to release...

remove special case for 0.0.0 - just use it (#18)

Bump poseidon-resonance to 0.4.0 (#20)

* Bump poseidon-resonance to 0.4.0

* Update to 0.5.0

chore: Chain-spec JSON - refreshed (#24)

feat: vest airdrop rewards (#22)

* Replace vesting pallet

* Vest airdrops

* Update runtime

* Resolve comments

* Add insufficient balance check

move rusty-crystals to github (#26)

* move rusty-crystals to github

* poseidon-resonance 0.5.0

CLI Updates  (#27)

* move rusty-crystals to github

* CLI updates

* moved test data to file

* remove redundant comments

* poseidon-resonance 0.5.0

* merge from main

* Update readme for new CLI commands

Make benchmarks compile (#29)

feat: explicit reverser for reversible accounts (#8)

* Add explicit reverser for reversible transfers

* Make reverser get reserved funds, update benchmarks

* Add more tests

updated storage hasher for transfer proofs (#25)

* updated storage hasher for transfer proofs

* minor cleanup

* fixed some tests

* tests compile now

* Pass AccountId for storage hashing (#30)

* tests fixed

---------

Co-authored-by: illuzen <github.handheld844@passmail.net>
Co-authored-by: Dastan <88332432+dastansam@users.noreply.github.com>

cargo fmt (#31)

applied cargo fmt to codebase

Update ci.yml (#32)

add cargo fmt check

don't cache on linux (#33)

prevents out of disk space errors

Fix compile errors

Run fmt

Mostly passing tests
dastansam pushed a commit that referenced this pull request Jun 4, 2025
chore: Only more logs - no changes

chore: Less logs

fix: O3 solution

fix: Finalization triggered often

make difficulty actually difficulty

removed unused code, added chain_height to prometheus

add difficulty back

improved logging, clamped difficulty adjustments, raised max_distance, fixed pct calculation, changed block history to 10 and adjustment period to 1

fix: Spec JSON + QUAN token

fixed difficulty reporting to prometheuss

changed license to MIT

fixed 3 tests

cleaned up logs

Update external-miner/src/lib.rs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

fixed external miner

chore: ChainSpec refresh + rename to Quantus

chore: Resonance as our testnet name

ci: github workflow build, test

rename node

chore: CLI: Resonance Key -> Quantus Key (#13)

Use clippy (#11)

* Apply clippy autofix

* Fix comparison_chain & doc_lazy_continuation

* Fix more warnings

Update README.md

Update README.md

Automated release workflow (#16)

* added create release workflow

* shell script added

* rename

* remove caching

Merkle airdrop pallet (#10)

* Implement initial structure of merkle-airdrop

* Improve structure, add all template modules

* Implement create_airdrop and fix tests and mock

* Implement verify merkle proof, add tests

* Use binary_merkle_tree instead of custom function

* Implement fund function with tests

* implement claim function

* Clean up

* Use poseidon hasher in verify fn

* Try to create merkle root for testing

* Add doc for testing

* Remove rust-toolchain.toml from git tracking

* Remove js script

* Make claim recipient be anyone

* Revert the signer-receiver change, add test fns

* changed hash fn to blake2

* Apply fmt

* Fix tests

* Add validate_unsigned

* Fix link to merkle-airdrop-cli

* Address review comments

* Remove MaxAirdrops

* Add UnsignedClaimPriority in the config

* Add delete airdrop functionality

* Replace deprecated Currency

* Only allow airdrop creators to delete it

* Allow creators to claim remain balance when delete

* Clean up docs

* Remove unsignedValidation, add tests

* Remove unnecessary error

* Generate weights from the nenchmarking

* Use the existing weights template

* Use unsigned acc for claims

---------

Co-authored-by: illuzen <github.handheld844@passmail.net>

feat: Tech Collective for Runtime Upgrades (#12)

* feat: Membership configuration

* feat: Founders in genesis config

* feat: First community test

* feat: TxExtension - only members can vote for track 0

* feat: Track 0 for members only without token support validation

* feat: Proposals for track 0 limited to tech collective members

* fix: TxExt rename in node

* feat: Genesis presets - tech collective members

* chore: Tracks params update

* feat: Separate referenda with submit limited

* feat: Separate tracks - ready for test fix

* feat: Membership removed

* feat: First test for TechCollective

* feat: Tests for new collective ready

* feat: All tests fixed and cleaned

* clean: TxExtension

* fix: Review comments + formatting

* chore: MaxRankOfClass - additional comments

Add windows build to release process (#17)

windows takes 30 minutes to release...

remove special case for 0.0.0 - just use it (#18)

Bump poseidon-resonance to 0.4.0 (#20)

* Bump poseidon-resonance to 0.4.0

* Update to 0.5.0

chore: Chain-spec JSON - refreshed (#24)

feat: vest airdrop rewards (#22)

* Replace vesting pallet

* Vest airdrops

* Update runtime

* Resolve comments

* Add insufficient balance check

move rusty-crystals to github (#26)

* move rusty-crystals to github

* poseidon-resonance 0.5.0

CLI Updates  (#27)

* move rusty-crystals to github

* CLI updates

* moved test data to file

* remove redundant comments

* poseidon-resonance 0.5.0

* merge from main

* Update readme for new CLI commands

Replace scheduler in reversible transfers

Make benchmarks compile (#29)

feat: explicit reverser for reversible accounts (#8)

* Add explicit reverser for reversible transfers

* Make reverser get reserved funds, update benchmarks

* Add more tests

updated storage hasher for transfer proofs (#25)

* updated storage hasher for transfer proofs

* minor cleanup

* fixed some tests

* tests compile now

* Pass AccountId for storage hashing (#30)

* tests fixed

---------

Co-authored-by: illuzen <github.handheld844@passmail.net>
Co-authored-by: Dastan <88332432+dastansam@users.noreply.github.com>

cargo fmt (#31)

applied cargo fmt to codebase

Update ci.yml (#32)

add cargo fmt check

don't cache on linux (#33)

prevents out of disk space errors

Compiling node

Make legacy tests work

Fix compile errors

Run fmt

Mostly passing tests
@n13 n13 deleted the feat/basic_collective branch September 25, 2025 02:24
@n13 n13 mentioned this pull request Mar 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants