Westend: Fellowship Treasury (#2532)

Treasury Pallet Instance for the Fellowship in Westend Collectives.

In this update, we present a Treasury Pallet Instance that is under the
control of the Fellowship body, with oversight from the Root and
Treasurer origins. Here's how it is governed:
- the Root origin have the authority to reject or approve spend
proposals, with no amount limit for approvals.
- the Treasurer origin have the authority to reject or approve spend
proposals, with approval limits of up to 10,000,000 DOT.
- Voice of all Fellows ranked at 3 or above can reject or approve spend
proposals, with a maximum approval limit of 10,000 DOT.
- Voice of Fellows ranked at 4 or above can also reject or approve spend
proposals, with a maximum approval limit of 10,000,000 DOT.

Additionally, we introduce the Asset Rate Pallet Instance to establish
conversion rates from asset A to B. This is used to determine if a
proposed spend amount involving a non-native asset is permissible by the
commanding origin. The rates can be set up by the Root, Treasurer
origins, or Voice of all Fellows.

---------

Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
Co-authored-by: joepetrowski <joe@parity.io>
This commit is contained in:
Muharem
2023-12-08 14:02:09 +01:00
committed by GitHub
parent 1bdfb29587
commit da40d97a23
26 changed files with 827 additions and 27 deletions
@@ -13,4 +13,5 @@ emulated-integration-tests-common = { path = "../../common", default-features =
westend-emulated-chain = { path = "../../chains/relays/westend", default-features = false }
asset-hub-westend-emulated-chain = { path = "../../chains/parachains/assets/asset-hub-westend" }
bridge-hub-westend-emulated-chain = { path = "../../chains/parachains/bridges/bridge-hub-westend" }
collectives-westend-emulated-chain = { path = "../../chains/parachains/collectives/collectives-westend" }
penpal-emulated-chain = { path = "../../chains/parachains/testing/penpal" }
@@ -15,11 +15,13 @@
pub use asset_hub_westend_emulated_chain;
pub use bridge_hub_westend_emulated_chain;
pub use collectives_westend_emulated_chain;
pub use penpal_emulated_chain;
pub use westend_emulated_chain;
use asset_hub_westend_emulated_chain::AssetHubWestend;
use bridge_hub_westend_emulated_chain::BridgeHubWestend;
use collectives_westend_emulated_chain::CollectivesWestend;
use penpal_emulated_chain::{PenpalA, PenpalB};
use westend_emulated_chain::Westend;
@@ -35,6 +37,7 @@ decl_test_networks! {
parachains = vec![
AssetHubWestend,
BridgeHubWestend,
CollectivesWestend,
PenpalA,
PenpalB,
],
@@ -46,6 +49,7 @@ decl_test_sender_receiver_accounts_parameter_types! {
WestendRelay { sender: ALICE, receiver: BOB },
AssetHubWestendPara { sender: ALICE, receiver: BOB },
BridgeHubWestendPara { sender: ALICE, receiver: BOB },
CollectivesWestendPara { sender: ALICE, receiver: BOB },
PenpalAPara { sender: ALICE, receiver: BOB },
PenpalBPara { sender: ALICE, receiver: BOB }
}