-
Notifications
You must be signed in to change notification settings - Fork 5
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
Cost figures generated on standard spec #858
Cost figures generated on standard spec #858
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 👍
Note: We should probably run cost validation tests on every CI.
For example, if any of the costs exceed the current costs by a defined margin (say 10%) then CI would fail.
^ This would also help us quickly catch changes in EVM functionality, detrimental changes to precompiles and weight changes.
^ Could be in another PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Interesting, I kind of expected a bigger change. Nevertheless, good to have a solid baseline
* pallet-evm benchmarks * Switch to BLOCK_GAS_LIMIT. * Remove redundant code. * Increase BLOCK_GAS_LIMIT to 150mil * Update the BLOCK_GAS_LIMIT to 14_800_000 * Add new cost figures. * Update the BLOCK_GAS_LIMIT to 15m * Cost figures added. * Add cost numbers. (#858)
* Update substrate deps to point to polkadot-v1.0.0 * Update frontier deps to point to polkadot-v1.0.0-TRN * sc-consensus-uncles, sp-authorship removed * sc-finality-grandpa -> sc-consensus-grandpa * rpc_binary_search_estimate -> rpc-binary-search-estimate * remote-externalities -> frame-remote-externalities * remove feat wasmtime * update toolchain file to nightly-2023-05-22 * point clap to 4.4.18 precise * Update block_weights.rs to weight v2 manually for now * Update code to support PrecompileSet::is_precompile() gas return changes. * Remove BlockNumber, Header from frame_system::Config, Add Block inside the config. * Update code to support AssetId trait removals #12740, new type aliases in pallet_assets::Config * temp - get rid of weight v2 errors for now * use BlockNumberFor instead of BlockNumber, #14437 * Use explicit call index #12891 * BlockNumber -> BlockNumberFor round 2 * GenesisBuild -> BuildGenesisConfig * Index -> Nonce, #14290 * Bump ethabi v18.0.0, ethereum v14.0.0, ethereum-types v0.14.1 * Multicurrency handling updates to support #12951 (#823) * GenesisBuild -> BuildGenesisConfig * Index -> Nonce, #14290 * Bump ethabi v18.0.0, ethereum v14.0.0, ethereum-types v0.14.1 * Transfer merge to Mutate, use of fungibles::metadata::Inspect instead of fungibles::InspectMetadata round 1. * Update Inspect, Mutate, Unbalanced, TransferExt trait implementations for pallet-assets-ext, update the extrinsics to use new trait updates. * Update fungible::Inspect, Currency trait implementations for AssetCurrency. * Update mocks and tests * Update Multicurrency usage * fmt * Update Multicurrency use tests * weight 2 arithmatic. * Multicurrency more. * Precompile remaining_gas more changes * BlockNumber -> BlockHash in runtime apis * Weight 2 introduction in evm changes, frontier-#1039 * pallet_evm::Config, pallet_ethereum::Config add new type aliases. * Updates for Keystore overhaul. * Updates for Syncing protocol extraction from sc-network * fix iterative FinalityNotification dispatch due to introduction of UnpinHandle #13157 * Fix other errors in ethy-gadget * Fix pallet_evm::AccountCodes access * Fix Percent::from_rational for usize * Fix pallet-erc20-peg build errors. * Fix pallet-ethy build errors. * Fix pallet-crowdsale build errors. * Fix seed-runtime * client fixes so far * Fix ethy gadget syncing service build failures. * Fix frontier essential task spawning build errors. * Fix service * Fix RPC * Fix cli, command * Update pending_create_inherent_data_providers. * Update pending_consensus_data_provider with BABE * Fix RunCmd nested use. * Update MaxSetIdSessionEntries * Update pending_block runtime api * Add rocksdb to default flags * Fix ethy-gadget testing. * Feat/substrate v1.0.0 Fix Tests (#836) * Fix AssetsExt tests * Fix Crowdsale tests * Fix Dex tests * Fix Doughnut tests * Fix Erc20-Peg tests * Fix Evm Chain Id tests * Fix FeeControl tests * Fix FeeProxy tests * Fix MaintenanceMode tests * Fix Marketplace tests * Fix NFT tests * Fix SFT tests * Fix VTXDistribution tests * Fix XLS20 tests * Fix XRPLBridge tests * Fix Echo tests * Fix Futurepass tests * Fix Ethy tests * Update cargo.toml files to support benchmarking tests * Fix benchmark tests * Fix assets Config * Update Futurepass tests * Fix further test build errors * Fix runtime and client tests * Add ignore flags for pallet-xrpl failing tests * Fix fund_authorities_and_accounts test * Fix multiplier_can_grow_from_zero test * Add assetsExt fix * Move AssetsExt fix to EVMCurrencyScaler * try-runtime back again. * Fix last test * Fix some warnings * Fix some more warnings --------- Co-authored-by: surangap <19677661+surangap@users.noreply.github.com> * frame-benchmarking required, fmt * Update benchmark script * Fix benchmark script pallet naming for good and fix pallet benchmarking. * Add an exception for pallet-vortex non-standard dir name in benchmarking script. * New weights 🏋️ * Add a benchmark for XRPLBridge::set_xrp_source_tag() * Fix merge issues * Add migrations, bump spec versions * Fix weight v2 lte comparisons and tests. * Ignore xrpl ed25519 test for now * Update all benchmarks on feat/substrate-v1.0.0 * Add --skip-exculded-check flag to benchmarking script, Now supports running benchmarking for Exculded list pallets. * Local weights for missing pallets * Update benchmark workflow to use updated script. * minor * Update benchmarks for frame-benchmarking pallet-assets pallet-im-online pallet-election-provider-multi-phase on feat/substrate-v1.0.0 * Update benchmarks for pallet-im-online on feat/substrate-v1.0.0 * Update benchmarks for pallet-assets on feat/substrate-v1.0.0 * Update benchmarks for frame-benchmarking on feat/substrate-v1.0.0 * Feat/substrate v1.0.0 test 2 (#844) * Use storage_alias instead of unsafe storage getters in ethy * Fix tests for Futurepass * Add benchmark for pallet-vortex * Fix Futurepass tests * Add extra tests to marketplace and tidy up SFT --------- Co-authored-by: surangap <19677661+surangap@users.noreply.github.com> * Feat/substrate v1.0.0 e2e tests (#845) * removed references to port 9933, replaced with 9944 * using new rpc port * fixed crowdsale e2e test * fixed doughnut e2e test * fixed evm gas costs e2e test * fixed and consolidated fee preferences e2e test * fixed pallet xrpl e2e test * fixed and updated (made more reliable) dex rpc e2e test * fixed futurepass precompile e2e tests * pool address fixes * updated precompile tx costs tables * fixed pallet xrpl e2e test * cargo fmt --all * yarn format and lint * updated @PolkaDot packages - required to support partialFee calls and updated substrate version * yarn format * bump rust version in docker files and workflows * disable security checks * Revert "disable security checks" This reverts commit 0530058. * removed dead code, cargo.toml client improvements * upd fork state dockerfile * added poolAddress function comment * Review suggestions * Set pallet_evm create, create2, call function validate = true * Review suggestions * Index -> Nonce * Update correct weights for OnChainSeqPhragmen * Add correct weights for pallet_sudo * review suggestions * vortex-distribution -> vortex * Update benchmarks for pallet-vortex on feat/substrate-v1.0.0 * Update benchmarks for pallet-sudo on feat/substrate-v1.0.0 * Update benchmarks for frame-election-provider-support on feat/substrate-v1.0.0 * EVM Weight V2 handling * Add extra cost to is_precompile check for PrecompileSets (#848) * Add extra cost to is_precompile check for PrecompileSets * Update txCosts for 3 affected precompiles * Address PR comments * Address Substrate 1.0.0 Test comments (#846) * Address PR comments * Fix some XRPL tests * Fix ED25519 test * minor * Updated MAXIMUM_BLOCK_WEIGHT to 1s. Cost files generated. (#849) * Prettier 🦋 * Bump seed-client to 8.0.0 * Add disable-eth-p2p flag to cli (#852) * Add disable-eth-p2p flag to cli * Remove TODO * Rename to eth_p2p and add default as true * Simplify clap rules * Rename flag to ethy_p2p * Cargo workspace dependency migration (#851) * futurepass_registrat -> futurepass-registrat dir * pallet_vertex -> pallet_vortex_distribution * pallet-vortex -> pallet-vortex-distribution * updated root cargo.toml with workspace features and all deps * client crate cargo workspace support * ethy-gadget crate cargo workspace support * ethy-gadget-rpc crate cargo workspace support * evm-precompile crates cargo workspace support * evm-precompile macro utils updates due to updated sha3 dep * pallet crates cargo workspace support * pallet rpc crates cargo workspace support * pallet rpc runtime-api crates cargo workspace support * seed-primitives crate cargo workspace support * seed-runtime-constants crate cargo workspace support * seed-runtime crate cargo workspace support * updated CI to test all crates and all features * updated Cargo.lock file * updated readme file * ethy-gadget added back original authors * seed-runtime default features false all dev deps * removed redundant dependency primitive-types * Skip Staking storage when generating the fork state. * CLI options for frontier sqlite backend (#855) * structs for frontier sqlite backend * cli options for frontier sqlite backend * impl support for frontier sqlite backend cli opts * XRPL e2e test improvements (#854) * added function to get prefix length * using getPrefixLength function to strip prefix length for extrinsic signing * can submit fee-proxy extrinsic xrpl test robustness, using dynamic asset id * updated xrpl ed25519 based signature e2e test * xrpl xaman futurepass fee-proxy proxy-extrinsic e2e test updated to use evm inner call * additional test to validate prefix length bounds * Update FeeControl values as same as the mainnet (#856) * Update FeeControl configs as same as the mainnet. * Add cost figures * Eth `BLOCK_GAS_LIMIT` Optimizations (#853) * pallet-evm benchmarks * Switch to BLOCK_GAS_LIMIT. * Remove redundant code. * Increase BLOCK_GAS_LIMIT to 150mil * Update the BLOCK_GAS_LIMIT to 14_800_000 * Add new cost figures. * Update the BLOCK_GAS_LIMIT to 15m * Cost figures added. * Add cost numbers. (#858) * Update Substrate deps for native support (#857) * Update deps to custom Substrate branch * Move all deps to workspace cargo.toml * Add patch for substrate branch * Update nightly version to 2024-04-29 (First build for Rust 1.80.0) * Update nightly to latest, remove default-features from patch * Update transaction-payment default (#859) * Add transaction payment to Genesis config and update ERC721 costs * Update TxCosts and add temporary package.json script * Update txCosts * fmt * Bump spec version to 56 * Fix tests * Fix warnings. * Update spec version to 55 * Revert version changes for now. --------- Co-authored-by: JasonT <50426640+JasonTulp@users.noreply.github.com> Co-authored-by: JasonTulp <jason.j.tulp@gmail.com> Co-authored-by: GitHub Action <action@github.com> Co-authored-by: zees-dev <dev.786zshan@gmail.com>
Changelog