-
Notifications
You must be signed in to change notification settings - Fork 12
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
BLOCKCHAIN-463 - Judiciary Phase 1 #388
base: develop
Are you sure you want to change the base?
Conversation
8a0d625
to
8dd2b2b
Compare
}, | ||
}; | ||
let transfer_to = match to { | ||
LLMAccount::Liquid(account) => account, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This means that Courts are able to instantly unlock staked LLM. Is that OK or do we want only staked -> staked moves?
ef6c3d9
to
d05db42
Compare
#[derive(Default)] | ||
pub struct LiberlandExtension; | ||
|
||
impl LiberlandExtension { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Turns out we could do phase 1 with no chain extension using call_runtime. However:
- I found this after this chain extension was written 🤷
- it can only dispatch calls, not read any data. And we will need to read data in the future (asset balances, llm politipool). So enough for phase 1, but not for later.
7234ccc
to
c8068f7
Compare
c8068f7
to
7e7c27c
Compare
#[cfg_attr(feature = "std", derive(ink::storage::traits::StorageLayout))] | ||
pub enum Proposal { | ||
LLMForceTransfer(LLMForceTransferArguments), | ||
SetGovernance { threshold: u32, judges: Vec<AccountId> }, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's no such thing as sudo/root for contracts. So instead, adding/removing judges can be made by current judges, just like any other proposal.
If that's not OK and we want sudo, we can add a contract owner, set it to some address with no private key then use sudo.sudoAs to trigger it. Let me know what you prefer and I'll adjust if needed.
Process from merging to forcing move of some staked llm on real chain:
propose
withProposal::LLMForceTranfer {...}
on the contractapprove