Skip to content
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

ACP77 PoS Validator removal #2321

Open
wants to merge 130 commits into
base: main
Choose a base branch
from
Open

ACP77 PoS Validator removal #2321

wants to merge 130 commits into from

Conversation

arturrez
Copy link
Collaborator

@arturrez arturrez commented Nov 7, 2024

Why this should be merged

it adds removeValidator command
it also improves UX for falied tx traces as it display original error to user

How this works

if Valildator is bootstrap Validatro it forces removal. POS uses more parameters for validatorRemoval. We rely on network for uptime calc for now

How this was tested

added e2e.
also
you can use test-defaults and ewoq key everywhere for etna-devnet

 ./bin/avalanche blockchain create pos7 --proof-of-stake  --force
 ./bin/avalanche blockchain deploy pos7
 ./bin/avalanche blockchain removeValidator pos7  --cluster pos7-local-node --node-endpoint http://127.0.0.1:9654 --key ewoq

How is this documented

not yet

sukantoraymond and others added 30 commits September 9, 2024 10:36
* prompt addresses

* fix lint

* fix lint

* fix lint

* fix lint

* add flags

* address comments

* fix test

* address comments

* fix lint

---------

Signed-off-by: sukantoraymond <[email protected]>
* prompt addresses

* fix lint

* fix lint

* fix lint

* fix lint

* add flags

* validator prompt

* bootstrap validators

* add mock

* fix lint

* update prompt validator

* update prompt validator

* implement prompts

* fix prompt mock

* update sidecar

* update prompts

* update prompts

* refactor

* update prompts

* update prompts

* use default balance and weight

* generate new node ids and bls

* fix lint

* add flags

* add flags

* address comments

* address comments

* address comments

* move validator prompt to deploy

* address comments

* address comments

* fix lint

* address comments

* address comments

* fix test

* address comments

* fix lint

* address coments

* address coments

* fix test

* fix test

* fix test

* fix lint

---------

Signed-off-by: sukantoraymond <[email protected]>
* adding teleporter contract to genesis

* fixes for icm on genesis

* add icm from a given embedded file

* add function to deploy ICM registry

* creating mapping values

* add consts

* make local deploy to work

* do not print info for icm support addrs

* nit

* nit

* fix wiz stuff

* address PR comments

* filter based on balance

* add unit tests

* Update cmd/blockchaincmd/describe.go

Co-authored-by: Michael Kaplan <[email protected]>
Signed-off-by: felipemadero <[email protected]>

* lint

---------

Signed-off-by: felipemadero <[email protected]>
Co-authored-by: Michael Kaplan <[email protected]>
* prompt addresses

* fix lint

* fix lint

* fix lint

* fix lint

* add flags

* adding teleporter contract to genesis

* validator prompt

* bootstrap validators

* add mock

* fix lint

* update prompt validator

* update prompt validator

* fixes for icm on genesis

* add icm from a given embedded file

* add function to deploy ICM registry

* creating mapping values

* add consts

* make local deploy to work

* do not print info for icm support addrs

* nit

* implement prompts

* fix prompt mock

* update sidecar

* update prompts

* update prompts

* refactor

* nit

* update prompts

* fix wiz stuff

* update prompts

* use default balance and weight

* generate new node ids and bls

* fix lint

* add flags

* add flags

* add a function to initialize PoA manager

* add lib folder

* address comments

* address comments

* address comments

* move validator prompt to deploy

* address comments

* address comments

* fix lint

* address comments

* address comments

* fix test

* address PR comments

* basic PoA manager setting

* lint

* address comments

* fix lint

* fix e2e

* fix merge

* fix merge

* filter based on balance

* add unit tests

* nit

* address PR comments

* Update cmd/blockchaincmd/describe.go

Co-authored-by: Michael Kaplan <[email protected]>
Signed-off-by: felipemadero <[email protected]>

* nit

* address PR comments

* lint

---------

Signed-off-by: sukantoraymond <[email protected]>
Signed-off-by: felipemadero <[email protected]>
Co-authored-by: Raymond Sukanto <[email protected]>
Co-authored-by: Michael Kaplan <[email protected]>
* wip

* go mod tidy

* use awm-relayer@main

* fixes

* use latest awm-relayer pkg  which caused upgrade on coreth and avago  - has to be resolved

* use latest anr and rm prometheus metrics

* check for errors

* lint

* mv to sdk/interchain

* some refactoring and added unittests

* fix license

* fix unittest for now

* fix lint

* allow empty subnetID
add usage working example

* rm error msg from example

* refactor to address felipe feedback

* we should remove this from the test in favour of https://github.com/ava-labs/awm-relayer/blob/main/signature-aggregator/aggregator/aggregator_test.go - we just use exposed API

* update readme example

* rm goconst fix CI

* put `- goconst` back

* resolve conficts

---------

Co-authored-by: Raymond Sukanto <[email protected]>
* use latest anr main

* tidy

* bump e2e avago version to be dynamic fee compatible

* fix e2e for dynamic fees

* lint
* prompt addresses

* fix lint

* fix lint

* fix lint

* fix lint

* add flags

* adding teleporter contract to genesis

* validator prompt

* bootstrap validators

* add mock

* fix lint

* update prompt validator

* update prompt validator

* fixes for icm on genesis

* add icm from a given embedded file

* add function to deploy ICM registry

* creating mapping values

* add consts

* make local deploy to work

* do not print info for icm support addrs

* nit

* implement prompts

* fix prompt mock

* update sidecar

* update prompts

* update prompts

* refactor

* nit

* update prompts

* fix wiz stuff

* update prompts

* use default balance and weight

* generate new node ids and bls

* fix lint

* add flags

* add flags

* add a function to initialize PoA manager

* add lib folder

* address comments

* address comments

* address comments

* move validator prompt to deploy

* address comments

* address comments

* fix lint

* address comments

* address comments

* fix test

* address PR comments

* basic PoA manager setting

* lint

* address comments

* fix lint

* fix e2e

* fix merge

* fix merge

* convert Subnet Tx

* convert subnet

* register validator

* add validator

* mock

* remove validator

* update weight

* update weight

* add flags add validator

* remove validator update

* refactor addvalidator

* use node id as arg in addvalidator

* fix change weight arg

* resolve merge conflict

* fix lint

* address comments

* fix lint

* Enable non sov subnets (#2203)

* subnet create non sov

* support non sov blockchain

* update test

* update tests

* update tests

* update test

* update tests

* update tests

* fix test

* update tests

* Rename Subnet to L1 for new commands ACP77 (#2209)

* rename convert subnet

* rename to l1

* fix lint

* fix lint

* fix lint

* fix lint

* Integrate ConvertSubnetTx AvalancheGo  (#2213)

* complete implementation of avalanche go convertsubnet

* update relayer

* update convertsubnettx

* update avalanchego

* update avalanche go

* update avalanche go

* dont prompt control key for sov

* add tx cases for convert subnet tx (#2218)

* Poa integration (#2212)

* use latest contract

* point to latest convert subnet avago PR

* nit

* use fixed anr

* nit

* add subnet conversion id calculation

* created unsigned warp message

* fixed local network deploy

* added signing

* now this is working

* using latest avago master + awm relayer

* working pretty well

* ready

* lint

* address PR comments

* nit

---------

Signed-off-by: sukantoraymond <[email protected]>
Co-authored-by: sukantoraymond <[email protected]>

* fix lint

* reverse sidecar sov logic

* fix merge

* add poa setup to blockchain deploy (#2219)

* add setup poa to blockchain deploy

* add command

* add proposervm update

* proposervm flag for nodes

* nit

* nit

* fixed dynamic fees params calculation

* only adding tracked apis to apis in sidecar

* improve prompts

* fixing various stuff

* add upgrade file

* use anr etna enabled

* keep upgrade on sync

* workin

* almost working

* working1

* Update cmd/keycmd/transfer.go

Co-authored-by: Meaghan FitzGerald <[email protected]>
Signed-off-by: felipemadero <[email protected]>

* fix some lint

* address PR comments

* missing file

* nit

---------

Signed-off-by: felipemadero <[email protected]>
Signed-off-by: sukantoraymond <[email protected]>
Co-authored-by: Meaghan FitzGerald <[email protected]>
Co-authored-by: sukantoraymond <[email protected]>

---------

Signed-off-by: sukantoraymond <[email protected]>
Signed-off-by: felipemadero <[email protected]>
Co-authored-by: felipemadero <[email protected]>
Co-authored-by: Meaghan FitzGerald <[email protected]>

* fix lint

---------

Signed-off-by: sukantoraymond <[email protected]>
Signed-off-by: felipemadero <[email protected]>
Co-authored-by: felipemadero <[email protected]>
Co-authored-by: Meaghan FitzGerald <[email protected]>

---------

Signed-off-by: sukantoraymond <[email protected]>
Signed-off-by: felipemadero <[email protected]>
Co-authored-by: Felipe Madero <[email protected]>
Co-authored-by: Meaghan FitzGerald <[email protected]>
Signed-off-by: sukantoraymond <[email protected]>
* refactor subnet sync

* fix lint

* Remove redundancies (#2229)

* remove redundant code

* fix lint

* fix lint

* Convert Subnet in  1 command (#2230)

* one command deploy

* use default private key to deploy validator manager contract

* fix lint

* remove redundant code

* address comments

---------

Signed-off-by: sukantoraymond <[email protected]>

---------

Signed-off-by: sukantoraymond <[email protected]>
* generate new node id

* fix lint
Signed-off-by: sukantoraymond <[email protected]>
* node local init

* hardcode etna devnet config

* wip

* rm not needed utils

* ready for draft PR

* nits
rm unused struct

* refactor - wip

* make sure we can resume without prompts

* add custom network and local cluster

* devnet instead of custom network, rm custom

* go mod tidy

* upgrade.json for etna devnet

* more local cluster

* separate between local network and local cluster

* working

* nit

* fix plugin

* nit

* improve snapshot management

* fix bug

* nit

* proper etna devnet boostrappers

* fix bug with local rootdir

* remove global node config stuff

* destroy node data and processes if bad start

* nit

* always use fresh staking keys

* nit

* so less flags

* add back fast boot time

* add checks for local cluster. minor refactor (#2239)

* add checks for local cluster
minor refactoring

* fix test

* addressed Felipe feedback

---------

Signed-off-by: arturrez <[email protected]>

* bump anr

* fixes for convert flow

* add check for already initialized error on PoA init

* nit

* use anr main

* fix merge

* Local mkdir rootdir (#2245)

* make sure rootDir exists

* mv it to proper location

* it's done before the start

* update anr

* Integrate local devnet (#2254)

* integrate deploy

* integrate deploy

* Fix lint

* address comments

* address comments

* Integrate start (#2262)

* integrate start

* integrate start

* update etna network

* integrate start

* integrate start

* finish integrate start

* fix lint

* stop existing local avalanchego

* more robust

---------

Signed-off-by: arturrez <[email protected]>
Signed-off-by: sukantoraymond <[email protected]>
Co-authored-by: Felipe Madero <[email protected]>
Co-authored-by: sukantoraymond <[email protected]>
@arturrez arturrez added the DO NOT MERGE This PR is not meant to be merged in its current state label Nov 15, 2024
Base automatically changed from acp-77-sdk-pos to acp-77 November 20, 2024 02:20
Base automatically changed from acp-77 to main November 23, 2024 01:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
DO NOT MERGE This PR is not meant to be merged in its current state
Projects
Status: Backlog 🗄️
Development

Successfully merging this pull request may close these issues.

3 participants