-
Notifications
You must be signed in to change notification settings - Fork 59
Open
Description
Implementation of the new validator onboarding workflow
- Add integration test with 1 SV & 1 validator
- directly against Canton: bootstrap synchronizer in permissioned mode
- reference
SV1Initializer:bootstrapDomain(orConsoleMacros:synchronizerbut probably too inflexible)
- reference
- start SV app, should detect that synchronizer is already initialized
- directly against Canton: create
ParticipantSynchronizerPermissionforaliceValidator - start aliceValidator
- directly against Canton: bootstrap synchronizer in permissioned mode
- Extend integration test to at least 2 SVs
- basically the same flow but now when creating the
ParticipantSynchronizerPermissionforaliceyou will need two signatures
- basically the same flow but now when creating the
- Extend
SvAppBackendConfigwith a feature flag forpermissionedSynchronizer, defaults to false - Change
Sv1Initializerto initialize synchronizer in permissioned mode ifpermissionedSynchronizer = true- Replace manual call in integration test by just starting the SV app
- Write Daml code for
ValidatorPermission+ tests - Add endpoint to SV app to create
ValidatorPermissioninstead of a secret- existing endpoint for creating a secret is
prepareValidatorOnboarding - All endpoints should also be behind the feature flag
- existing endpoint for creating a secret is
- Add trigger to SV app that creates
ParticipantSynchronizerPermissiontopology txs based onValidatorPermissionDaml contracts - Extend trigger in SV app to create
ParticipantSynchronizerPermissionforSvOnboardingRequest- needs double checking that this works, if not add a second step before that which just creates the
ParticipantSynchronizerPermission - integration tests should have no manual stops to create topology txs anymore
- needs double checking that this works, if not add a second step before that which just creates the
- Change validator app to create
ValidatorLicenseRequestif feature flag is set - Add automation to SV app to look for
ValidatorLicenseRequestand createValidatorLicense - Add scan endpoint to lookup if a given participant id is permissioned
- Change validator app to poll scan until it is permissioned
- Add UI to SV app to permission validator through new flow
DevNet validator onboarding workflow
- (a) Implement SV UI and App support to save public keys (config or database).
- (b) Implement SV App changes to automate onboarding requests from key-known validators
Implementation of new validator revocation workflow
- Extend Daml code to support revocation by setting flag on
ValidatorPermission - Add SV app endpoints to vote on those flags
- if the existing one is not sufficiently generic
- Add automation to revoke
ParticipantSynchronizerPermissionbased onValidatorPermisionflags - Add UI to trigger the vote
Implementation of workflow to change the DynamicSynchronizerParameters OnboardingRestriction to RestrictedOpen
- Integration test
- bootstrap network with 4 SVs and aliceVaildator in unrestricted open mode
- directly through Canton: issue
ParticipantSynchronizerPermissionfor the 5 existing nodes - directly through Canton: change to permissioned mode
- check that a new unpermissioned node fails to onboard
- consider just starting the participant
- check that SV1 can permission bobValidator and it works™
- extend Daml models with a flag on whether sync is permissioned
- add automation to SV app to issue
ParticipantSynchronizerPermissionfor all existing nodes once flag is se - add automation to SV app to switch to restricted open once flag is set + ParticipantSyncPermission has been created for all existing nodes
Metadata
Metadata
Assignees
Labels
No labels