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

Solanav2 upgrade #587

Closed
wants to merge 83 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
83 commits
Select commit Hold shift + click to select a range
63e26bb
refactoring to use BigVec for validator list
kkonevets Jun 22, 2022
73368cb
optimize compute budget in StakeDeposit, Withdraw and Unstake
kkonevets Jun 25, 2022
a2b777f
Merge remote-tracking branch 'upstream/main' into big_vec
kkonevets Jun 27, 2022
8dd4291
refactor and stop removing after first element in big_vec
kkonevets Jun 27, 2022
11fb5b3
BigVec implement get_mut and remove_at, increases performance
kkonevets Jun 27, 2022
8bb1041
Store effective_stake_balance on-chain to optimize compute budget
kkonevets Jun 28, 2022
3feacc7
implement swap_remove for BigVec
kkonevets Jun 28, 2022
df0abce
fix comments and rename some variables
kkonevets Jun 29, 2022
5d3a96b
test check lido version
kkonevets Jun 29, 2022
1eef46c
fix python tests
kkonevets Jun 29, 2022
7b1a022
cleanup client code
kkonevets Jun 30, 2022
5545c1e
reset back to maintainer_list and validator_list accounts
kkonevets Jul 19, 2022
6abab73
add MigrateStateToV2 instruction
kkonevets Jul 19, 2022
7b79160
migrate state to v2 with multisig
kkonevets Jul 20, 2022
d55b01e
multisig silently batch approve instructions in a single transaction
kkonevets Jul 29, 2022
1343e20
Merge remote-tracking branch 'upstream/main' into migrate_v2
kkonevets Aug 8, 2022
2a37e4a
refactor deserialize_account_list_info
kkonevets Aug 8, 2022
1e09785
CLI: get adding account list addresses from solido
kkonevets Aug 10, 2022
24cf05e
Merge remote-tracking branch 'upstream/main' into migrate_v2
kkonevets Aug 10, 2022
a5d62f7
test withdraw from inactive validator
kkonevets Aug 10, 2022
4970b0b
Merge remote-tracking branch 'upstream/main' into migrate_v2
kkonevets Aug 12, 2022
69b92d8
Merge remote-tracking branch 'upstream/main' into main
kkonevets Aug 12, 2022
85e7af5
refactor CLI show-solido output
kkonevets Aug 15, 2022
0376ead
Merge remote-tracking branch 'upstream/main' into migrate_v2
kkonevets Aug 17, 2022
8374053
return funds to signer after program propose-upgrade
kkonevets Aug 18, 2022
db63de8
check first account bytes are uninitialized and zero remaining
kkonevets Aug 21, 2022
78615bc
Fix account confusion error
kkonevets Aug 25, 2022
ca970ed
CLI: print list info on migrate
kkonevets Aug 29, 2022
d9f376d
fix: program log received rewards
kkonevets Aug 31, 2022
0ea7140
return custom error if withdrawing from a validator with no stake
kkonevets Sep 2, 2022
45aec53
fix Solana error MergeTransientStake
kkonevets Sep 4, 2022
f0adf55
refactor scripts
kkonevets Sep 5, 2022
7e2c2c0
fix stake account reviving vulnerability
kkonevets Sep 9, 2022
c064ee8
add some init checks and refactor a little bit
kkonevets Sep 12, 2022
d491bb3
handle vote account closing by node operator
kkonevets Sep 16, 2022
f1a918a
fix 1.9.28 rpc response error
kkonevets Sep 26, 2022
2c1abda
correctly get inactive stake amount for withdraw
kkonevets Sep 27, 2022
9e69bdc
Merge branch 'ChorusOne:main' into main
Shi-eld Sep 29, 2022
9d9bee8
add Emulator for testing
kkonevets Sep 30, 2022
da21e77
add version to CLI options, bump version to 1.3.6
kkonevets Oct 3, 2022
269ea9b
update solana version for docker build
kkonevets Oct 3, 2022
6a44463
revert back 2c1abdad8ef59ad6959e893cdaa04f07f4950bb0
kkonevets Oct 4, 2022
a8e934f
update validator submission check for v2
kkonevets Oct 6, 2022
8eaf2b5
update of 6a44463575b43c2018c3ce1288023c2ebfdc6fea
kkonevets Oct 9, 2022
7ccd608
remove deprecated WithdrawInactiveStake references
kkonevets Oct 9, 2022
a1b4d54
Increase MINIMUM_STAKE_ACCOUNT_BALANCE to 1SOL + rent exempt
kkonevets Oct 10, 2022
203f258
Get rid of Anchor protocol
kkonevets Oct 10, 2022
58634f6
Merge branch 'migrate_v2' into main
kkonevets Oct 10, 2022
552481c
Merge remote-tracking branch 'upstream/main' into migrate_v2
kkonevets Oct 10, 2022
9ab8927
Merge branch 'migrate_v2' into main
kkonevets Oct 10, 2022
8384980
rust toolchain: 1.60.0
kkonevets Oct 10, 2022
8aba3e5
Merge branch 'migrate_v2' into main
kkonevets Oct 10, 2022
4c83c9d
rust toolchain: 1.60.0
kkonevets Oct 10, 2022
3b2efaa
split propose upgrade on two stages
kkonevets Oct 13, 2022
48cbc39
add v2 Neodyme audit
kkonevets Oct 13, 2022
261f72a
split propose migration on two stages, add validators from file
kkonevets Oct 13, 2022
53709c8
set END_OF_EPOCH_THRESHOLD in CLI options
kkonevets Oct 14, 2022
ebf2cae
add reserve balance to show-solido
kkonevets Oct 14, 2022
39addc9
refactor scripts
kkonevets Oct 18, 2022
a1c0178
CLI: check transactions from a file
kkonevets Nov 8, 2022
e69cdad
Implemented transactions verification script
Nov 8, 2022
5da0270
fix ledger output json parsing
kkonevets Nov 8, 2022
e32049b
format scripts
kkonevets Nov 9, 2022
c7d387e
make mypy happy
kkonevets Nov 9, 2022
624a24d
fix scripts to work with ledger
kkonevets Nov 9, 2022
0d109f9
try deploy docker to guyos (temporarily)
kkonevets Sep 30, 2022
e40ca6f
Implemented solido state verification. Refactored verify_transaction …
Nov 10, 2022
03b43b2
Cleanup script
Nov 14, 2022
4d809e8
Implemented path to solido
Nov 15, 2022
588e99b
Added solido_config.json
Nov 15, 2022
954f9aa
Added order verification.
Dec 5, 2022
2bf5478
Corrected scripts format
Dec 5, 2022
e100e63
script fixes
Dec 5, 2022
330293b
Merge pull request #3 from lidofinance/verification_script
Shi-eld Dec 5, 2022
6a9f037
Added install-solido script
Dec 5, 2022
2e01763
Merge pull request #4 from lidofinance/verification_script
Shi-eld Dec 5, 2022
a45f702
all deps to ^
billythedummy Jan 17, 2023
2c85ddf
update deps
ZhengYuTay Sep 12, 2023
bb514d5
fix: remove solido submodule
ZhengYuTay Sep 20, 2023
ec25a9b
remove submodule
ZhengYuTay Sep 20, 2023
a17eade
add lido maintenance script
billythedummy Sep 24, 2024
46e578a
Merge remote-tracking branch 'jup/jupiter' into solanav2-upgrade
billythedummy Nov 20, 2024
f1c5aa1
just remove all breaking code lul since theyre only used in the progr…
billythedummy Nov 20, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 19 additions & 20 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: build

on:
push:
branches: [ main ]
branches: [ main, migrate_v2]
pull_request:
branches: '*'

Expand All @@ -17,6 +17,11 @@ jobs:
- uses: actions/checkout@v2
with:
submodules: true
- uses: actions-rs/toolchain@v1
with:
toolchain: 1.60.0
override: true
components: rustfmt

- name: Check Rust formatting
uses: actions-rs/cargo@v1
Expand All @@ -43,6 +48,10 @@ jobs:
- uses: actions/checkout@v2
with:
submodules: true
- uses: actions-rs/toolchain@v1
with:
toolchain: 1.60.0
override: true

- name: cache-build-artifacts
uses: actions/cache@v2
Expand Down Expand Up @@ -71,7 +80,6 @@ jobs:
- name: Run unit tests
run: |
cargo test --manifest-path program/Cargo.toml
cargo test --manifest-path anker/Cargo.toml
cargo test --manifest-path cli/maintainer/Cargo.toml
cargo test --manifest-path cli/listener/Cargo.toml
cargo test --manifest-path cli/common/Cargo.toml
Expand All @@ -91,7 +99,6 @@ jobs:
# But only run the tests for Solido itself, the SPL tests are already
# executed upstream.
RUST_BACKTRACE=1 cargo test-bpf --manifest-path program/Cargo.toml
RUST_BACKTRACE=1 cargo test-bpf --manifest-path anker/Cargo.toml

- name: Build CLI client
run: cargo build --bin solido
Expand Down Expand Up @@ -122,24 +129,18 @@ jobs:
killall -9 solana-test-validator
rm -r test-ledger

- name: Run Anker integration test
run: |
export PATH="$HOME/.local/share/solana/install/active_release/bin:$PATH"
validator=$(tests/start_test_validator.py)

tests/airdrop_lamports.sh

tests/test_anker.py
killall -9 solana-test-validator
rm -r test-ledger

lint:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
with:
submodules: true
- uses: actions-rs/toolchain@v1
with:
toolchain: 1.60.0
override: true
components: rustfmt, clippy

- name: cache-build-artifacts
uses: actions/cache@v2
Expand Down Expand Up @@ -169,23 +170,21 @@ jobs:
# TODO: Pin the exact version with Nix instead, to make it easier to use
# the same version locally.
sudo pip3 install mypy==0.902
rustup component add clippy
cargo install cargo-license --version 0.4.1

- name: Run Clippy
run: |
cargo clippy --manifest-path anker/Cargo.toml -- --deny warnings
cargo clippy --manifest-path cli/common/Cargo.toml -- --deny warnings
cargo clippy --manifest-path cli/listener/Cargo.toml -- --deny warnings
cargo clippy --manifest-path cli/listener/fuzz/Cargo.toml -- --deny warnings
cargo clippy --manifest-path cli/maintainer/Cargo.toml -- --deny warnings
cargo clippy --manifest-path program/Cargo.toml -- --deny warnings
cargo clippy --manifest-path testlib/Cargo.toml -- --deny warnings

- name: Typecheck Python
run: |
git ls-files | grep '\.py$' | xargs mypy --strict

- name: Check license compatibility
run: |
tests/check_licenses.py

- name: Typecheck Python
run: |
git ls-files | grep '\.py$' | xargs mypy
3 changes: 0 additions & 3 deletions .gitmodules

This file was deleted.

1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ New features:
* Solido no longer requires that validators use a 100%-commission account of which Solido
is the withdraw authority. Any vote account can now be used, as long as its commission does
not exceed Solido’s configured maximum commission percentage.
Anchor protocol integration is removed.

**Compatibility**

Expand Down
Loading
Loading