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

ACP 77 #2140

Merged
merged 103 commits into from
Nov 23, 2024
Merged

ACP 77 #2140

merged 103 commits into from
Nov 23, 2024

Conversation

sukantoraymond
Copy link
Collaborator

@sukantoraymond sukantoraymond commented Sep 9, 2024

Base PR for all ACP 77 related PRs to be merged into

@sukantoraymond sukantoraymond requested a review from a team as a code owner September 9, 2024 14:37
@sukantoraymond sukantoraymond requested review from arturrez and removed request for a team September 9, 2024 14:37
@sukantoraymond sukantoraymond added this to the ACP 77 milestone Sep 9, 2024
@michaelkaplan13
Copy link
Collaborator

🔥

Just one high level comment: All L1s will still use Avalanche (technically Snowman++ consensus) for now. PoS vs PoA is just the mechanism for determining how validators are added/removed (ie. sybil resistance). Could we make that clear here by having the prompts ask for the "validator manager" type, rather than the "consensus" type?

@sukantoraymond
Copy link
Collaborator Author

Details

Will clarify the prompt

Copy link
Collaborator

@michaelkaplan13 michaelkaplan13 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 makes sense to me, though we may want to wait to merge this until the value is actually used for the validator manager contract deployment.

@sukantoraymond
Copy link
Collaborator Author

👍 makes sense to me, though we may want to wait to merge this until the value is actually used for the validator manager contract deployment.

Yup this will be the PR for all acp 77 pr to be merged into, will not be merged until acp 77 implementation is released in avalanchego

pkg/models/sidecar.go Outdated Show resolved Hide resolved
pkg/models/validator_management.go Show resolved Hide resolved
tests/e2e/testcases/subnet/local/suite.go Show resolved Hide resolved
cmd/blockchaincmd/create.go Outdated Show resolved Hide resolved
cmd/blockchaincmd/create.go Outdated Show resolved Hide resolved
cmd/blockchaincmd/create.go Outdated Show resolved Hide resolved
cmd/blockchaincmd/create.go Outdated Show resolved Hide resolved
cmd/blockchaincmd/create.go Outdated Show resolved Hide resolved
cmd/blockchaincmd/create.go Outdated Show resolved Hide resolved
Copy link
Collaborator

@felipemadero felipemadero left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM as a base branch

sukantoraymond and others added 12 commits September 20, 2024 12:54
* 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
felipemadero and others added 6 commits November 14, 2024 15:49
* fix contexts and signals

* add fuji cluster

* lint

* point to anr main

* address PR comments

* remove unused function

* address PR comments

* add flags for partial sync to local and remote

* fix panic

* fix e2e
* update tag

* update relayer

* update tag

* fixes

---------

Signed-off-by: sukantoraymond <[email protected]>
Co-authored-by: Felipe Madero <[email protected]>
* use avago 1.11.13 to support evm 0.6.12

* fix avago dep

* lint

* use anr main
* mv changes frrom pos

* move from pos branch

* mocks

* sync with latest pos/ refactor PoS to sdk approach

* wip

* fix lint. get rid of example in var names, fix sdk<->pkg for validatormanager to make it DRY

* fix err in sdk

* PoS default values

* use sidecar for pos detection with force flag

* rename sc validatorManager

* use proxy for poa

* bugfixes and improve add validator for pos

* proper errors from validator manager smart contract

* rename cmd input

* add PoS e2e
add support for proxy Contract for PoA

* fix lint

* e2e fix arg

* fix typo and non needed check

* rm unneeded check

* fix lint

* fixes for the flow PoS vs PoA

* fix pos sidecar case

* refactor add validator add cmd params for inputs

* adjust e2e params

* use test-defaults for e2e POS

* fix bug. disable validator removal for now

* fix e2e

* address Raymond feedback

* add default value for delegation fee

* use stake-period for PoS

* read balance

* force uint64

* 100s

* add validatorManagerSettings to sdk

* provide default params for PoS and move networkBalance to utils

* add prompt verification for token amount input

* fix PromptChain. not sure how it was included into this PR and where this change is coming from

* address latest feedback

* lint

* improve user output

* Acp77 PoS Validator removal without proof of uptime  (#2338)

* add pos validator removal
debug

* continue debugging pos validator removal

* r4r

* lint

* fix e2e Error: failure initializing validator removal: min stake duration not passed (tx failed to be submitted)

* wait 90sec for min validation period

* min stake duration is 100

* update sidecar after bootstrap validator removed

* disable e2e for removing PoS bootstrap validator

* use 100s

* remove pos non bootstrap validator e2e

* add validator and remove it

* use 60s staking period

* go back to 90 and 120s

* small refactor

* fix duration prompt

* use minimum 100s

* add prompt check for minimum validator staking timr

* fix etna duration input

* use etna for name

* add debug info

* rm debug
force validator removal for PoS

* no need to updatePchainHeight

---------

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

* fix PosManager init

* use clusterNameFlagValue

* rm debug

* remove incorrect available balance

* fix lint

* update avalanchego

* update merge

* lint

* update merge

* fix lint

* update acp 77

---------

Signed-off-by: arturrez <[email protected]>
Co-authored-by: Raymond Sukanto <[email protected]>
cmd/blockchaincmd/add_validator.go Dismissed Show dismissed Hide dismissed
arturrez and others added 14 commits November 19, 2024 20:53
* use avago v1.12.0-fuji on etna e2e

* update avalanchego

---------

Co-authored-by: Raymond Sukanto <[email protected]>
* reuse prompted addr as a change owner address for blockchain deploy

* mv code closer to SoV

* consistent address display to user

* we should not return err as we will ask in separate prompt later in the flow if provided key didn't work
* replace initPoAValidatormanager and initPoSValidatorManager with single initValidatorManager cmd

* lint
* fix l1 status for node local

* add e2e for node local cluster status

* add node local status for PoA

* add sleep and fix regex

* missed regex change

* add e2e for status

* simplify regex
* fix pattern

* nit
* filter network

* address comments

* fix case

* allow cluster in flags

* allow cluster in flags

---------

Co-authored-by: arturrez <[email protected]>
* dont force users to add local build

* remove avalanche go binary in test

* update test

* fix lint

* update test

* update node create

* update node create

* update node create

* update node create

* update pos test

* custom endponit etna (#2354)

* update test

* address comments

* undo avalanche go dir change

* fix lint
@sukantoraymond sukantoraymond removed the DO NOT MERGE This PR is not meant to be merged in its current state label Nov 22, 2024
@sukantoraymond sukantoraymond merged commit 6debe41 into main Nov 23, 2024
40 checks passed
@sukantoraymond sukantoraymond deleted the acp-77 branch November 23, 2024 01:20
@meaghanfitzgerald
Copy link
Collaborator

🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Done ✅
Development

Successfully merging this pull request may close these issues.

5 participants