Joystream / joystream

Joystream Monorepo
http://www.joystream.org
GNU General Public License v3.0
1.42k stars 115 forks source link

QN: Validator profile scope changes #4905

Closed thesan closed 4 months ago

thesan commented 11 months ago

Follow-up to #4823

Context

After discussing the Pioneer validator page it appeared that the initial scope was wrong:

  1. The Validator accounts are bound to a membership profile using the members.addStakingAccountCandidate / members.confirmStakingAccount extrinsics. As a result the accounts are not stored in the QN (they should be just retrieved directly from the chain). So both QN and protobufs validatorAccount fields introduced in #4849 should be removed.
  2. The membership profile is what is being verified not the validator account. So the isVerifiedValidator from #4849 should be kept but it should be reset to false whenever any membership metadata field is changed.
  3. The verification is the membership working group responsibility (not the HR group).

Scope

eshark9312 commented 10 months ago

@thesan

  1. The membership profile is what is being verified not the validator account. So the isVerifiedValidator from https://github.com/Joystream/joystream/pull/4849 should be kept but it should be reset to false whenever any membership metadata field is changed.
  2. The verification is the membership working group responsibility (not the HR group).

AFAIK, there is no tx to verify the validator membership with membership working group role. Do we need to update the runtime? Can we name the transaction api.tx.membershipWorkingGroup.verifyValidatorMembership or verifyValidatorProfile?

thesan commented 10 months ago

AFAIK, there is no tx to verify the validator membership with membership working group role. Do we need to update the runtime? Can we name the transaction api.tx.membershipWorkingGroup.verifyValidatorMembership or verifyValidatorProfile?

No need to modify the runtime because this verification is pure metadata (it only leaves in the QN). Here's the issue for it: https://github.com/Joystream/joystream/issues/4824 and here's the PR https://github.com/Joystream/joystream/pull/4868.

In short these extrinsics will be used: api.tx.operationsWorkingGroupBeta.workerRemark(workerId, msg) api.tx.membershipWorkingGroup.workerRemark(workerId, msg) and api.tx.operationsWorkingGroupBeta.leadRemark(msg) api.tx.membershipWorkingGroup.leadRemark(msg)