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

Upgrade changes [Close later] #5

Closed
wants to merge 82 commits into from

Conversation

boundless-forest
Copy link
Member

What does it do?

What important points reviewers should know?

Is there something left for follow-up PRs?

What alternative implementations were considered?

Are there relevant PRs or issues in other repositories (Substrate, Polkadot, Frontier, Cumulus)?

What value does it bring to the blockchain users?

crystalin and others added 30 commits August 7, 2023 09:48
* Reduce the ConvictionVoting MaxVotes from 512 to 30

* Set MaxVote to 20
…-foundation#2349)

* remove leave delegator functionality

* remove precompile methods

* return error for removed call indices
* progress on PoV tests

* started precompile migration

* finished author precompile tests

* bn and callpermit precompiles done

* collective precompile done

* beginning conviction voting tests

* Updated to moonwall4

* fix

* added erc20 precompile tests

* progress on local asset precompile

* Added Local assets tests

* modexp tests done

* Added proxy tests

* progress on proxy tests

* finished proxy tests

* updated precompile tests

* added more precompile tests

* progress

* added more precompile tests

* refactored wormhole tests

* added XCM transactor tests

* started xcm utils tests

* Precompile tests done

* done proxy tests

* randomness tests

* randomness tests

* randomness tests

* finished randomness tests

* added receipt tests

* staking tests

* more staking tests

* more staking

* progress

* completed staking tests

* added subscription tests

* added sudo tests

* added treasury tests

* update moonwall config

* added missing conviction tests

* txpool progress

* tx pool tests done

* CI fix

* updated prettier CI

* editorconfig

* pnpm cache

* changed CI

* fix CI

* changes

* fix CI

* fixed some tests

* more test fixes

* fixed tests

* lint

* editor config

* pkg fix

* updated lockfile

* pkg updates

* fix import

* fix import

* archived old-style dev-tests

* lint

* PR comments

* Port ERC20-XCM tests. Add excess gas tests (moonbeam-foundation#2410)

* ERC20XCM tests

* Add tsx

* Moved expect out of xcm helper

* Removed unused imports

* removed old tests

* editorconfig grr

* removed smoke tests

* Upgraded randomness smoketest

* updated randomness comments

* Fix conviction MaxVotes (moonbeam-foundation#2401)

* Reduce the ConvictionVoting MaxVotes from 512 to 30

* Set MaxVote to 20

* Run toml-sort and update repo reference (moonbeam-foundation#2426)

* [MOON-2434] remove deprecated leave delegator functionality (moonbeam-foundation#2349)

* remove leave delegator functionality

* remove precompile methods

* return error for removed call indices

* removed scheduleLeaveDelegators calls

* de-bun 🫓 the CI

* fix

* smoke-fix

* fixed ci

---------

Co-authored-by: Francisco Gamundi <[email protected]>
Co-authored-by: Alan Sapede <[email protected]>
* Add Preimage test cases (moonbeam-foundation#2180)

* Update Preimage test cases (moonbeam-foundation#2180)

* Update Preimage test cases (moonbeam-foundation#2180)

* Add new ConvictionVoting test cases (moonbeam-foundation#2180)

* Update ConvictionVoting test cases (moonbeam-foundation#2180)

* Update ConvictionVoting test cases (moonbeam-foundation#2180)

* Update ConvictionVoting test cases (moonbeam-foundation#2180)

* Add new Referenda test cases (moonbeam-foundation#2180)

* Add new Referenda test case (moonbeam-foundation#2180)

* Changes to cover the review comments

* Refactoring: Extracts ConvictionVoting and ContractCall

* Refactoring: Extracts Preimage class

* Refactoring: Extracts Referenda class

* Fix the type of the gas parameter

* Remove the redundant let

* Fix code formatting
…SETS does not further increase weight (moonbeam-foundation#2424)

Update test/suites/dev/test-xcm/test-xcm-erc20-v3-filter.ts

Co-authored-by: Francisco Gamundi <[email protected]>

chore: lint

Update test/suites/dev/test-xcm/test-xcm-erc20-v3-filter.ts

Co-authored-by: Francisco Gamundi <[email protected]>

doc: update comments
…ndation#2429)

* add tracing test: trace ERC0-XCM transaction

* fix erc20-xcm origin

* fix test trace erc20 xcm: tracing usedGas does not apply gas refund
* progress on PoV tests

* started precompile migration

* finished author precompile tests

* bn and callpermit precompiles done

* collective precompile done

* beginning conviction voting tests

* Updated to moonwall4

* fix

* added erc20 precompile tests

* progress on local asset precompile

* Added Local assets tests

* modexp tests done

* Added proxy tests

* progress on proxy tests

* finished proxy tests

* updated precompile tests

* added more precompile tests

* progress

* added more precompile tests

* refactored wormhole tests

* added XCM transactor tests

* started xcm utils tests

* Precompile tests done

* done proxy tests

* randomness tests

* randomness tests

* randomness tests

* finished randomness tests

* added receipt tests

* staking tests

* more staking tests

* more staking

* progress

* completed staking tests

* added subscription tests

* added sudo tests

* added treasury tests

* update moonwall config

* added missing conviction tests

* txpool progress

* tx pool tests done

* CI fix

* updated prettier CI

* editorconfig

* pnpm cache

* changed CI

* fix CI

* changes

* fix CI

* fixed some tests

* more test fixes

* fixed tests

* lint

* editor config

* pkg fix

* updated lockfile

* pkg updates

* fix import

* fix import

* archived old-style dev-tests

* lint

* PR comments

* Port ERC20-XCM tests. Add excess gas tests (moonbeam-foundation#2410)

* ERC20XCM tests

* Add tsx

* Moved expect out of xcm helper

* Removed unused imports

* removed old tests

* editorconfig grr

* begin xcm migration

* migrate more xcm tests to moonwall using xcmv3

* removed smoke tests

* Upgraded randomness smoketest

* updated randomness comments

* Fix conviction MaxVotes (moonbeam-foundation#2401)

* Reduce the ConvictionVoting MaxVotes from 512 to 30

* Set MaxVote to 20

* Run toml-sort and update repo reference (moonbeam-foundation#2426)

* [MOON-2434] remove deprecated leave delegator functionality (moonbeam-foundation#2349)

* remove leave delegator functionality

* remove precompile methods

* return error for removed call indices

* removed scheduleLeaveDelegators calls

* de-bun 🫓 the CI

* fix

* migrate hrmp-asset-transfer tests

* apply some fixes

* migrate test-mock-hrmp-transact-ethereum

* small fixes

* migrate test-mock-hrmp-transact

* migrate more tests to moonwall

* migrate test-xcmv3-new-instructions and max weight

* create separate folders for v2 and v3

* migrate test-mock-hrmp-transact tests to v3

* migrate mock-hrmp-transact-ethereum tests to v3

* fix network "Any" in tests

* fix order in xcmv2 tests

* fix order in xcmv3 tests

* remove replaceNetworkAny

* prettier

* fmt

* fix orders

* remove "Any" type from test-xcm-erc20-v3-filter

* use proper GLMR constant

* remove cast to any in xcmv2 tests

* remove cast to any in xcmv3 tests and re-org

* small fixes

* add expect messages

* refactor registerForeignAsset

* fixes in test-mock-dmp-queue

* remove BN from AssetMetadata

* use proper readContract function

* use proper deployContract function

* remove BN from requireWeightAtMost

* use sovereignAccountOfSibling helper function

* remove expectOk

---------

Co-authored-by: timbrinded <[email protected]>
Co-authored-by: Francisco Gamundi <[email protected]>
Co-authored-by: Alan Sapede <[email protected]>
* fix tx encoded size estimation

* Working test

* test cleanup

* test cleanup 2

* accont for pallet index + call index+ transaction type enum variant

* pretiier

---------

Co-authored-by: Francisco Gamundi <[email protected]>
* reduce smoke noise

* updated pkgs
* mute nodle

* mute nodle

* mute nodle
* First draft at proposals

* Improve proposals 1 & 2

* Typo

* MBIP-3 and small fixes to 1 and 2

* MIBPS 4 & 5

* MBIP-6: External metric based refund

* Refactor the MBIPs (moonbeam-foundation#2308)

* WIP

* Complete MBIP 1

* Adds a follow-up section

* WIP

* Finishes MBIP 2

* adds MBIP 3

* Refactor MBIP4

* Improve MBIP5

* Suggest TP's algo for dynamic storage fee

* Tweaks

---------

Co-authored-by: notlesh <[email protected]>

* update MBIP-6 for broader scope

* Update statuses

---------

Co-authored-by: Francisco Gamundi <[email protected]>
Co-authored-by: tgmichel <[email protected]>
Co-authored-by: Alan Sapede <[email protected]>
Co-authored-by: notlesh <[email protected]>
* progress

* add unit tests and fix integration tests

* barrier

* add refund xcm_tests to runtimes

* fmt

* add precompile to runtimes

* fix precompile existence

* add xcm-transactor precompile interface

* add xcm-transactor precompile interface

* delete old ForeignChainAliasAccount from tests

* enable XCM Transactor precompile V3 only on Moonbase

* reserve address for XCM Transactor precompile V3

* use then() syntax for appendix

* reduce boilerplate code
…2422)

* Gas limit override and tests

* EOF line

* Handle u64

* Clean

* Update pallets/erc20-xcm-bridge/src/lib.rs

Co-authored-by: Stephen Shelton <[email protected]>

* Custom gas limit on weighter

* fmt

* Working with plain u64

* Refactor gas limit fn

* Remove tests from old suite

* Test comment

* Changed to LE encoded number

* comment

* fix test

---------

Co-authored-by: Stephen Shelton <[email protected]>
* Fixes test using random address in calldata

* lint
* use generated benchmarks

* use locally generated weights

* use generated weights

* use runtime weights

* use local benchmarked weight

* fix xcm benchmarks

* update substrate

* use benchmark server computed weights

* add BenchmarkHelper to pallet assets mock

* fix TARGET_FILL_AMOUNT const

---------

Co-authored-by: Agusrodri <[email protected]>
* Add simple fee mechanism to GMP precompile

* Deduct fee from transfer amount

* Include V2 in user action enum (typescript)

* Extract wormhole infra setup into before()

* Inspect xtokens event for transfer amount

* Test both V1 and V2

* Use ethersjs and call ERC20 to check balances

* Various cleanup, use correct ERC20 wrapper address

* Refactor previous test to use makeTestVAA

* Reduce test timeout

* Remove console.log

* Don't send 0 tokens through XCM

* Add test case for fee=0

* Use is_zero() intsead of into()

* Merge refactors of setup code

* Add in new tests. Getting close

* Reintroduce killswitch kill

* ethers is a fn now

* use writePrecompile()

* Yay bigints

* Remove tmp code

* prettier

* Trim long line

* prettier
* Adds check CI for the licenses

* adds missing checkout

* format
* temporarily pim frontier and evm local changes

* support to record storage growth in precompiles

* add GasLimitStorageGrowth

* add GasLimitStorageGrowth in mocks

* add storage growth for precompiles

* fix tests

* add typescript tests

* update frontier and evm dependencies

* use the moonbeam-foundation org for the evm dependency

* fix tests

* fix formatting

* Update precompiles/utils/src/substrate.rs

Co-authored-by: Agustín Rodriguez <[email protected]>

* fix expected gas for precompile proxy

* Update test/suites/dev/test-storage-growth/test-evm-create-storage-growth.ts

Co-authored-by: Agustín Rodriguez <[email protected]>

* add tests of storage growth for precompiles

* disable MBIP 5 on moonriver and moonbeam

* fix tests

* fix typo

* adds rustls-webpki to accepted licenses

* set storage_growth to 0 for add_proxy precompile

Co-authored-by: Éloïs <[email protected]>

* set growth ratio as a constant

* fix formatting

---------

Co-authored-by: Agustín Rodriguez <[email protected]>
Co-authored-by: Alan Sapede <[email protected]>
Co-authored-by: Crystalin <[email protected]>
Co-authored-by: Éloïs <[email protected]>
* feature complete

* add solidity file

* remove force orgin methods

* add solc tests

* increment idty precompile address

* comply to solidity norm

* use computed db read costs

* saturating math

---------

Co-authored-by: librelois <[email protected]>
ahmadkaouk and others added 29 commits October 6, 2023 10:40
* enable MBIP-5 on Moonriver

* add rust test to check if constant matchs the formula

* add some comments
* Avoid pushing to S3 for external PRs

* better check
…ds (moonbeam-foundation#2259)

* begin manual mark-offline

* remove CandidateLastActive

* fix precompile staking

* comments and fmt

* fix do_go_offline() weight

* make it compile

* apply some suggestions

* test case MaxOfflineRounds < RewardPaymentDelay

* fix test

* add killswitch for marking offline feature

* fix mock config in parachain staking precompile

* add benchmark for notify_inactive_collator extrinsic

* refactor benchmark

* fix call to select_top_candidates in benchmark

* minor changes in benchmark

* add killswitch as a storage item

* fmt

* remove ConstBool

* enable killswitch in benchmark

* add enable_marking_offline extrinsic

* optmize collators_len read and benchmark

* Add locally-generated benchmark for notify_inactive_collator

* Hook up newly added benchmark to pallet call

* add extra check for current round

* minor changes in tests

* add test

* modify rounds_to_check syntax

---------

Co-authored-by: Stephen Shelton <[email protected]>
…2508)

* Set LocalAsset ForceOrigin to never

* Set for Moonriver and Moonbeam

* Removed ts tests

* clean & fmt
* `check --release`

* `check --tests`

* Fixes build errors.

* Fix xcm tests

* Fix benchmark tests build errors

* Simplify the native runtime version extraction

* Remove unused imports

* Fix tests

* Fixes a clippy issue

* Update sources

* Fix formatting

* `try-runtime` subcommand has been migrated

* Fix ts tests

* Include precompile-wasm subcommand

* Add  subcommand

* update polkadot-sdk pin

* enable wasmtime precompiled feature

* Adds compile wasm script for dev CI

* Forces git patch to use ssh support

* Prettier :)

* Removes QEMU for docker support

* Fix the tests failing after the breaking change in `Eth::new` api

* Revert the changes in the moonwall config related to precompiled wasm

* Fix CI pipeline

* Add the repo for the polkadot binaries

* Fix part of the test and restore wasm for testing

* Fix github actions

* Upgrade moonwall-cli version

* Update pnpm-lock.yaml

* Fix moonwall config

* Set log level to debug for zombie upgrade

* Reduce some test

* Extract the author nimbus id from the previous block header

* Debug zombie upgrade

* Fix democracy duplicated logic

* Fix handling of the relay chain mode

* Remove unused import

* Clean up

* Fix chopsticks tests

* Changes after review comments

* Fix the polkadot release extraction
---------

Co-authored-by: librelois <[email protected]>
Co-authored-by: crystalin <[email protected]>
…foundation#2513)

* xcm precompile v3 in moonbeam and moonriver

* add typescript tests for xcm transactor v3
…2517)

* Fix the errors in typescript-tracing-tests

* Disable multithreading for tracing tests

* Enable precompiled wasm execution for tracing tests too
* do not install protoc on bare-metal runners
…ndation#2520)

* fix gas consumption in tracing tests for solc-0.8.21
* always run the tracing tests 
* re-enable moonbase for runtime upgrade
* update weights

* fix tests

* fix test

* fix test

---------

Co-authored-by: Andrea Giacobino <[email protected]>
* Fix Scrape Script

* update some CI versions
* Bump frontier commit

* Impl can_withdraw
* fix incorrect parent hashes

* apply to moonbase

* use correct block hash
…2518)

* add new config for ParachainMinFee and tests

* minor changes in tests

* add ParachainMinFee config to moonbase
* turn on multithreading

* fix

* removing test file

* re-enabled multi threads

* Using atomics

* moonscope timeout

* added chopsticks retries

* removed script

* fix retries

* fix CI

* fix chopsticks CI

* chopsticks fix

* Given retries to tracing tests

* changed thread config

* testing single-threads

* restored multithreads

* pkg update

* pkg update

* update pkgs

* lint

* restore wormhole test

* fixing type errors

* lint

* Changed prettier format task

* skip actions requiring secrets if comning from forks

PRs filed from forks do not have access to secrets

* added linting to helper files

* fix ci

* enable lint for test files

* Tidied import statements on test specs

---------

Co-authored-by: Andrea Giacobino <[email protected]>
* Fix coverage report in coverage CI

* Fix coverage CI typo

* Add master coverage for this PR (must be rollback)

* Add upload to s3 to push correct coverage files for master

* Rollback to fixed CI

* Test running python3 instead of python on bare-metal

* Fix coverage report generation

* Add missing coverage report job if conditional

* Add ignore .cargo libraries in coverage

* Add missing ignore .cargo for coverage

* Add coverage for master (must be rollback)

* Restore previous commit

* Add link to html in files table

* Fix base html url for coverage files
* init with storage item for indices but did not include call structure in the pallet

* start testing discussed approach

* messy encoding but test does pass will clean code

* cleaner by making storage value not optional

* move encoder impls to pallet so CommonEncoder is no longer necessary

* impl Emcoder traits for pallet xcm transactor to use it as CommonEncoder

* common migration such that configured input will be hardcoded value with tests to verify correctnesss in relay encoder todo

* clean

* clean

* save some tests may need to partially revert dep mess

* westend test common encoder impl

* refactor to DRY and init kusama encoder tests

* finish relay encoder backwards compat test changes and use tdd to resolve storage indices for each network

* update xcm runtime tests

* clean

* update default encoder impl for cancel open request hrmp

* toml sort

* editorconfig

* remove HrmpEncoder associated type and MockHrmpEncoder types

* fix pallet unit tests

* clean

* replace encoder in relay encoder precompile with pallet xcm transactor encoder impls based on stored indices

* rm old comment

* try impl without having local compilation errors report output in comment

* try imports for relay encoder

* try fix

* try fix

* fix

* try fix

* try fix

* fmt const var name

* try fix

* try

* fix hacky encoding of accountid lookups

* remove runtime dep on hardcoded relay encoder crate and move relay indices to each runtime

* add relay indices storage item to xcm transactor

* configure moonbase genesis for TS tests try

* cargo lock

* fix

* DRY for encode account id lookups

* Revert "DRY for encode account id lookups"

This reverts commit 5d6058f.

* fix

* Fixes imports

* typo

* Fix formatting and clippy issues

* Fix test failures

* Move XXXEncodeCall impls to the new encode.rs file

* use WESTEND_RELAY_INDICES in the test

* Move relay indices const definitions to moonbeam_relay_encoder

* Fix for the breaking change from polkadot v1.1.0

* Revert "use WESTEND_RELAY_INDICES in the test"

This reverts commit 21d87d1.

* Update Cargo.lock

* Flatten RelayChainIndices struct

* Fix file doc

* Fix file doc

* Flatten RelayChainIndices struct

* Fix unit test build error

---------

Co-authored-by: crystalin <[email protected]>
Co-authored-by: Alan Sapede <[email protected]>
Co-authored-by: Cem Eliguzel <[email protected]>
* Try fix compile

* Replace dep path
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.