Skip to content

Refactor transaction payment#1864

Merged
Neopallium merged 9 commits intodevelop_v8from
refactor_transaction_payment
Jan 9, 2026
Merged

Refactor transaction payment#1864
Neopallium merged 9 commits intodevelop_v8from
refactor_transaction_payment

Conversation

@Neopallium
Copy link
Copy Markdown
Contributor

@Neopallium Neopallium commented Jan 2, 2026

changelog

new features

  • Split our forked pallet-transaction-payment into two pallets TransactionPayment (original Substrate code) and PolymeshTransactionPayment (holds our custom ChargeTransactionPayment tx extension).

@Neopallium Neopallium changed the base branch from develop to develop_v8 January 2, 2026 18:00
@Neopallium Neopallium changed the title [WIP] Refactor transaction payment Refactor transaction payment Jan 2, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR refactors the transaction payment system by splitting the forked pallet-transaction-payment into two separate pallets to improve code organization and maintainability.

Purpose: Separate Polymesh-specific transaction payment logic from the upstream Substrate pallet, allowing easier maintenance and updates of the base pallet while keeping custom functionality isolated.

Key Changes:

  • Split transaction payment into two pallets: TransactionPayment (Substrate) and PolymeshTransactionPayment (custom)
  • Removed custom types and payment logic from the forked pallet
  • Added new benchmarking support for the custom pallet
  • Updated all runtime configurations and tests to use the new pallet structure

Reviewed changes

Copilot reviewed 25 out of 26 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
pallets/transaction-payment/src/lib.rs Refactored to contain only Polymesh-specific ChargeTransactionPayment extension
pallets/transaction-payment/src/benchmarking.rs Added benchmarking for the custom transaction payment extension
pallets/transaction-payment/Cargo.toml Renamed package and added dependency on upstream pallet
pallets/weights/src/polymesh_transaction_payment.rs New weight file for Polymesh transaction payment pallet
pallets/weights/src/pallet_transaction_payment.rs Removed (replaced by upstream implementation)
pallets/runtime/*/src/runtime.rs Added PolymeshTransactionPayment pallet to all runtimes
pallets/runtime/common/src/runtime.rs Updated config to use both pallets with proper separation
Test files Updated imports and references to use new pallet structure

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@Neopallium Neopallium merged commit d4e9977 into develop_v8 Jan 9, 2026
17 of 19 checks passed
@Neopallium Neopallium deleted the refactor_transaction_payment branch January 9, 2026 09:14
Neopallium added a commit that referenced this pull request Jan 29, 2026
* Reuse pallet-transaction-payment from Substrate, split our ChargeTransactionPayment code out.

* Use improved transaction priority calculation from Substrate.

* Implement support for disable fees.

* Add benchmark of ChargeTransactionPayment tx extension.

* Benchmark ChargeTransactionPayment extension.

* Return the extension weight.

* Use git paths instead of version for Substrate deps.

* Update to Substrate release polkadot-stable2512.

* Fix tests build.
Neopallium added a commit that referenced this pull request Feb 23, 2026
* Refactor our changes out of the core Staking code. (#1802)

* Start moving our changes out of the core Staking code.

* Refactor chill/nominate code.

* Refactor slashing switch.

* Add missing "Polymesh added" notes.

* FIXUP

* Access Polymesh staking logic through an associated type.

* Impl PermissionedStaking on the pallet.

* Refactor some of our logic out of the benchmarking and testing code.

* Avoid using our User type.

* Add ED check to trait.

* Staking split (#1813)

* Revert benchmarking and testing utils to Substrate code.

* Port our staking benchmarks onto the Substrate code.

* Split the permissioned validator logic into a different pallet.

* Update tests.

* cargo fmt

* Move Polymesh types out of staking pallet.

* Cleanup

* Clean and revert some changes.

* Import Substrate mock/tests.

* Use staking pallet from Substrate.

* Fix tests.

* Remove old PolymeshStorageVersion.

* Remove unused events.

* Add migration.

* Switch Substrate branches.

* FIXUP: weights.

* Update balance pallet (#1833)

* Remove pallet-balances

* Fix benchmarks

* Remove cdd check; Fix bench

* Fix bench and integration tests

* Add polymesh_v8 feature to polymesh-api

* Update ci commands

* Change ci flag

* Remove error

* Update substrate stable2503 7 (#1845)

* Add workspace dependency

* Update Substrate

* Update WeightMeter

* Deprecated GenesisBuild, use BuildGenesisConfig

* Use Weight::from_parts instead of Weight::from_ref_time

* T::BlockNumber update

* Fix chrono deprecated warnings.

* Fix deprecated check_accrue call.

* Add TypeInfo to Runtime API types.

* System pallet renamed Index -> Nonce.

* Update contracts

* Update weights

* Bump recursion_limit

* Update Babe and Grandpa.

* Update staking pallet

* Update im-online.

* Require serde.

* no_std GenesisConfig.

* Update node binary service/command code.

* Add missing runtime_version attribute.

* Fix wasm-builder

* Remove old test.

* Fix warnings.

* Fix warnings about OldWeight.

* Fix benchmark build.

* Fix RPC port number.

* System.set_code doesn't use max block weight anymore.

* Use sensible maths for `from_rational`.

paritytech/substrate#13660

* Bump contract gas fees.

* Add NoopMigration for v10 contracts pallet.

* Add feature flag for ed; Fix tests and runtime

* Update Weights

* Fix integration tests

* Update .toml and .lock; Update rustc --version; Remove old testing feature

* Fix compilation errors - part I

* Fix compilation errors - part II

* Fix compilation errors - part III

* Fix compilation errors - part IV

* Fix compilation errors - Tx payment

* Fix compilation errors - Remove deprecated scheduler

* Fix compilation erros - Impl TransactionExtension for pallet_permissions

* Fix compilation errors - Remove deprecated scheduler

* Remove deprecated calls - pallet_sudo pallet_validators

* Fix compilation errors - pallet_tx_payments currency adapter

* Fix compilation errors - Update dependency; add Preimage

* Update develop runtime

* Update mainnet and testnet runtime

* Fix rpc-protocol-fee - part I

* Fix node-rpc errors - part I

* Fix node-rpc errors

* Fix group and protocol rpc build

* Updating node part I

* Update node part II

* Update chain_spec - part I

* Update chain spec - part II

* Update node - part III

* Remove warnings; Remove local dependecies

* Impl TransactionExtension

* Add missing GenesisBuilder impl; Use camel case for json genesis; Add validators genesis config

* Remove duplicated chainspec merge; Update toml; Cargo fmt

* Update rust version

* Add ci_runtime

* Fix sudo mock

* Fix tests - part I; Fix storage and builder

* Fix tests - part I

* Fix tests - pips committee

* Fix settlement tests; Add subsidiser to tx_payment pallet

* Fix relayer tests

* Fix tx_payment tests

* Fix Utility tests

* Compile staking tests

* Fix staking tests - UseNominatorsAndValidatorsMap does not sort

* Fix toml files missing runtime-benchmark feature

* Fix toml files for benchmarks part II

* Fix benchmarks - part III

* Order toml dependencies

* Update .lock; Change rust-toolchain

* Change rust version

* Fix benchmarks build

* Change rust version for ci

* Run cargo fmt

* Fix the ci pipeline; Remove contracts from benchmarks temporarily

* FIx manual_slash benchmark

* Build docker temporarily

* Add CA certs to debian docker image.

* FIXUP: ca cert install

* Remove unimplemented call

* Add migrations (#1850)

* update Cargo.lock

* Fix CI pipeline.

* FIXUP: ci pipeline.

* Add missing pallet_contract migrations.

* Fix Rust integration build with v8 chain metadata.

* Update tests to use TransferWithMemo event.

* Update TS integration tests.

* Fix Rust integration build against v8.

* Fix initial funding amounts.

* Update Substrate to fix CheckNonce.

* Fix proofSize limit for contract calls.

* Bump transaction version to 8.

---------

Co-authored-by: Robert G. Jakabosky <rjakabosky+neopallium@neoawareness.com>

* Update to Substrate stable2512 (#1857)

* Update Substrate deps to stable2512.

* Fix runtime_interface for benchmark host functions.

* Fix runtime build errors.

* Fix runtime compile errors.

* Fix staking tests.

* Fix node services code.

* Use polymesh builder tool again.

* cargo update.  Update non-substrate deps.

* Use the Sudo pallet from Substrate instead of our forked version.

* Move Substrate Staking tests to Validators pallet.

* Don't rustfmt the Staking test code.

* Cleanup some TODOs.

* Update branches in CI pipeline.

* Store runtimes as artifacts of CI jobs.

* Fix CI pipeline config.

* Remove PR branch from CI pipeline.

* Fix validators migration (#1858)

* Fix migration of permissioned validators from Staking pallet.

* Bump spec.

* Fix tx_payment `TransactionExtensions`; Use `call_weight` instead of `total_weight` (#1863)

* Fix fee withdraw

* Fix tests; Improve validate and prepare code

* Change total_weight to call_weight

* Remove duplicated check in tx extension; Fix call_weight usage

* Another call_weight -> total_weight fix.

---------

Co-authored-by: Robert G. Jakabosky <rjakabosky+neopallium@neoawareness.com>

* Refactor transaction payment (#1864)

* Reuse pallet-transaction-payment from Substrate, split our ChargeTransactionPayment code out.

* Use improved transaction priority calculation from Substrate.

* Implement support for disable fees.

* Add benchmark of ChargeTransactionPayment tx extension.

* Benchmark ChargeTransactionPayment extension.

* Return the extension weight.

* Use git paths instead of version for Substrate deps.

* Update to Substrate release polkadot-stable2512.

* Fix tests build.

* Add Beefy, Beefy-MMR and MMR pallets.

* Add migration for SessionKeys.  Allow Beefy to be disabled.

* Add AuthorizedCall and CheckNonZeroSender tx extensions.

* Add WeightReclaim tx extension.

* Add support for CheckMetadataHash tx extension.

* Fix Rust integration tests to support CheckMetadataHash tx extension.

* Support metadata-hash.

* Migrate to FungibleAdapter.

* Fix staking election in Genesis block for dev chains.

* Add Beefy, Beefy-MMR and MMR pallets.

* Add migration for SessionKeys.  Allow Beefy to be disabled.

* Add AuthorizedCall and CheckNonZeroSender tx extensions.

* Add WeightReclaim tx extension.

* Add support for CheckMetadataHash tx extension.

* Fix Rust integration tests to support CheckMetadataHash tx extension.

* Support metadata-hash.

* Migrate to FungibleAdapter.

* Fix staking election in Genesis block for dev chains.

* replace cdd claim checks with did checks, rename errors/types, remove unused code

* rename CddServiceProviders to DidRegistrars

* add register_did extrinsic, deprecate old extrinsics

* add register_did tests and update naming in tests

* rename cdd provider leftovers in benchmarking and tests

* cleanup and check did active in benchmark

* rename SystematicIssuers::CDDProvider to DIDRegistrar

* update polymesh_schema.json and chain spec files

* update cli types

* update tests

* cleanup unused imports + fix ts integration tests

* Revert "rename SystematicIssuers::CDDProvider to DIDRegistrar"

This reverts commit 5b43d03.

* deprecate AttestPrimaryKeyRotation

* rename error IdentityIsMissingDID to IdentityDoesNotExist + revert CddId comment

* allow deprecated

* remove did check for sender and add is_did_locked stub

* cleanup duplicate code

* add storage migration for CddServiceProviders -> DidRegistrars

* cleanup

* fix ci

---------

Co-authored-by: Robert Gabriel Jakabosky <rjakabosky+neopallium@neoawareness.com>
Co-authored-by: Henrique Nogara <nogara.henrique@gmail.com>
Neopallium added a commit that referenced this pull request Feb 27, 2026
* Reuse pallet-transaction-payment from Substrate, split our ChargeTransactionPayment code out.

* Use improved transaction priority calculation from Substrate.

* Implement support for disable fees.

* Add benchmark of ChargeTransactionPayment tx extension.

* Benchmark ChargeTransactionPayment extension.

* Return the extension weight.

* Use git paths instead of version for Substrate deps.

* Update to Substrate release polkadot-stable2512.

* Fix tests build.
Neopallium added a commit that referenced this pull request Feb 27, 2026
* Refactor our changes out of the core Staking code. (#1802)

* Start moving our changes out of the core Staking code.

* Refactor chill/nominate code.

* Refactor slashing switch.

* Add missing "Polymesh added" notes.

* FIXUP

* Access Polymesh staking logic through an associated type.

* Impl PermissionedStaking on the pallet.

* Refactor some of our logic out of the benchmarking and testing code.

* Avoid using our User type.

* Add ED check to trait.

* Staking split (#1813)

* Revert benchmarking and testing utils to Substrate code.

* Port our staking benchmarks onto the Substrate code.

* Split the permissioned validator logic into a different pallet.

* Update tests.

* cargo fmt

* Move Polymesh types out of staking pallet.

* Cleanup

* Clean and revert some changes.

* Import Substrate mock/tests.

* Use staking pallet from Substrate.

* Fix tests.

* Remove old PolymeshStorageVersion.

* Remove unused events.

* Add migration.

* Switch Substrate branches.

* FIXUP: weights.

* Update balance pallet (#1833)

* Remove pallet-balances

* Fix benchmarks

* Remove cdd check; Fix bench

* Fix bench and integration tests

* Add polymesh_v8 feature to polymesh-api

* Update ci commands

* Change ci flag

* Remove error

* Update substrate stable2503 7 (#1845)

* Add workspace dependency

* Update Substrate

* Update WeightMeter

* Deprecated GenesisBuild, use BuildGenesisConfig

* Use Weight::from_parts instead of Weight::from_ref_time

* T::BlockNumber update

* Fix chrono deprecated warnings.

* Fix deprecated check_accrue call.

* Add TypeInfo to Runtime API types.

* System pallet renamed Index -> Nonce.

* Update contracts

* Update weights

* Bump recursion_limit

* Update Babe and Grandpa.

* Update staking pallet

* Update im-online.

* Require serde.

* no_std GenesisConfig.

* Update node binary service/command code.

* Add missing runtime_version attribute.

* Fix wasm-builder

* Remove old test.

* Fix warnings.

* Fix warnings about OldWeight.

* Fix benchmark build.

* Fix RPC port number.

* System.set_code doesn't use max block weight anymore.

* Use sensible maths for `from_rational`.

paritytech/substrate#13660

* Bump contract gas fees.

* Add NoopMigration for v10 contracts pallet.

* Add feature flag for ed; Fix tests and runtime

* Update Weights

* Fix integration tests

* Update .toml and .lock; Update rustc --version; Remove old testing feature

* Fix compilation errors - part I

* Fix compilation errors - part II

* Fix compilation errors - part III

* Fix compilation errors - part IV

* Fix compilation errors - Tx payment

* Fix compilation errors - Remove deprecated scheduler

* Fix compilation erros - Impl TransactionExtension for pallet_permissions

* Fix compilation errors - Remove deprecated scheduler

* Remove deprecated calls - pallet_sudo pallet_validators

* Fix compilation errors - pallet_tx_payments currency adapter

* Fix compilation errors - Update dependency; add Preimage

* Update develop runtime

* Update mainnet and testnet runtime

* Fix rpc-protocol-fee - part I

* Fix node-rpc errors - part I

* Fix node-rpc errors

* Fix group and protocol rpc build

* Updating node part I

* Update node part II

* Update chain_spec - part I

* Update chain spec - part II

* Update node - part III

* Remove warnings; Remove local dependecies

* Impl TransactionExtension

* Add missing GenesisBuilder impl; Use camel case for json genesis; Add validators genesis config

* Remove duplicated chainspec merge; Update toml; Cargo fmt

* Update rust version

* Add ci_runtime

* Fix sudo mock

* Fix tests - part I; Fix storage and builder

* Fix tests - part I

* Fix tests - pips committee

* Fix settlement tests; Add subsidiser to tx_payment pallet

* Fix relayer tests

* Fix tx_payment tests

* Fix Utility tests

* Compile staking tests

* Fix staking tests - UseNominatorsAndValidatorsMap does not sort

* Fix toml files missing runtime-benchmark feature

* Fix toml files for benchmarks part II

* Fix benchmarks - part III

* Order toml dependencies

* Update .lock; Change rust-toolchain

* Change rust version

* Fix benchmarks build

* Change rust version for ci

* Run cargo fmt

* Fix the ci pipeline; Remove contracts from benchmarks temporarily

* FIx manual_slash benchmark

* Build docker temporarily

* Add CA certs to debian docker image.

* FIXUP: ca cert install

* Remove unimplemented call

* Add migrations (#1850)

* update Cargo.lock

* Fix CI pipeline.

* FIXUP: ci pipeline.

* Add missing pallet_contract migrations.

* Fix Rust integration build with v8 chain metadata.

* Update tests to use TransferWithMemo event.

* Update TS integration tests.

* Fix Rust integration build against v8.

* Fix initial funding amounts.

* Update Substrate to fix CheckNonce.

* Fix proofSize limit for contract calls.

* Bump transaction version to 8.

---------

Co-authored-by: Robert G. Jakabosky <rjakabosky+neopallium@neoawareness.com>

* Update to Substrate stable2512 (#1857)

* Update Substrate deps to stable2512.

* Fix runtime_interface for benchmark host functions.

* Fix runtime build errors.

* Fix runtime compile errors.

* Fix staking tests.

* Fix node services code.

* Use polymesh builder tool again.

* cargo update.  Update non-substrate deps.

* Use the Sudo pallet from Substrate instead of our forked version.

* Move Substrate Staking tests to Validators pallet.

* Don't rustfmt the Staking test code.

* Cleanup some TODOs.

* Update branches in CI pipeline.

* Store runtimes as artifacts of CI jobs.

* Fix CI pipeline config.

* Remove PR branch from CI pipeline.

* Fix validators migration (#1858)

* Fix migration of permissioned validators from Staking pallet.

* Bump spec.

* Fix tx_payment `TransactionExtensions`; Use `call_weight` instead of `total_weight` (#1863)

* Fix fee withdraw

* Fix tests; Improve validate and prepare code

* Change total_weight to call_weight

* Remove duplicated check in tx extension; Fix call_weight usage

* Another call_weight -> total_weight fix.

---------

Co-authored-by: Robert G. Jakabosky <rjakabosky+neopallium@neoawareness.com>

* Refactor transaction payment (#1864)

* Reuse pallet-transaction-payment from Substrate, split our ChargeTransactionPayment code out.

* Use improved transaction priority calculation from Substrate.

* Implement support for disable fees.

* Add benchmark of ChargeTransactionPayment tx extension.

* Benchmark ChargeTransactionPayment extension.

* Return the extension weight.

* Use git paths instead of version for Substrate deps.

* Update to Substrate release polkadot-stable2512.

* Fix tests build.

* Add Beefy, Beefy-MMR and MMR pallets.

* Add migration for SessionKeys.  Allow Beefy to be disabled.

* Add AuthorizedCall and CheckNonZeroSender tx extensions.

* Add WeightReclaim tx extension.

* Add support for CheckMetadataHash tx extension.

* Fix Rust integration tests to support CheckMetadataHash tx extension.

* Support metadata-hash.

* Migrate to FungibleAdapter.

* Fix staking election in Genesis block for dev chains.

* Add Beefy, Beefy-MMR and MMR pallets.

* Add migration for SessionKeys.  Allow Beefy to be disabled.

* Add AuthorizedCall and CheckNonZeroSender tx extensions.

* Add WeightReclaim tx extension.

* Add support for CheckMetadataHash tx extension.

* Fix Rust integration tests to support CheckMetadataHash tx extension.

* Support metadata-hash.

* Migrate to FungibleAdapter.

* Fix staking election in Genesis block for dev chains.

* replace cdd claim checks with did checks, rename errors/types, remove unused code

* rename CddServiceProviders to DidRegistrars

* add register_did extrinsic, deprecate old extrinsics

* add register_did tests and update naming in tests

* rename cdd provider leftovers in benchmarking and tests

* cleanup and check did active in benchmark

* rename SystematicIssuers::CDDProvider to DIDRegistrar

* update polymesh_schema.json and chain spec files

* update cli types

* update tests

* cleanup unused imports + fix ts integration tests

* Revert "rename SystematicIssuers::CDDProvider to DIDRegistrar"

This reverts commit 5b43d03.

* deprecate AttestPrimaryKeyRotation

* rename error IdentityIsMissingDID to IdentityDoesNotExist + revert CddId comment

* allow deprecated

* remove did check for sender and add is_did_locked stub

* cleanup duplicate code

* add storage migration for CddServiceProviders -> DidRegistrars

* cleanup

* fix ci

---------

Co-authored-by: Robert Gabriel Jakabosky <rjakabosky+neopallium@neoawareness.com>
Co-authored-by: Henrique Nogara <nogara.henrique@gmail.com>
Neopallium added a commit that referenced this pull request Mar 10, 2026
* Reuse pallet-transaction-payment from Substrate, split our ChargeTransactionPayment code out.

* Use improved transaction priority calculation from Substrate.

* Implement support for disable fees.

* Add benchmark of ChargeTransactionPayment tx extension.

* Benchmark ChargeTransactionPayment extension.

* Return the extension weight.

* Use git paths instead of version for Substrate deps.

* Update to Substrate release polkadot-stable2512.

* Fix tests build.
Neopallium added a commit that referenced this pull request Mar 10, 2026
* Refactor our changes out of the core Staking code. (#1802)

* Start moving our changes out of the core Staking code.

* Refactor chill/nominate code.

* Refactor slashing switch.

* Add missing "Polymesh added" notes.

* FIXUP

* Access Polymesh staking logic through an associated type.

* Impl PermissionedStaking on the pallet.

* Refactor some of our logic out of the benchmarking and testing code.

* Avoid using our User type.

* Add ED check to trait.

* Staking split (#1813)

* Revert benchmarking and testing utils to Substrate code.

* Port our staking benchmarks onto the Substrate code.

* Split the permissioned validator logic into a different pallet.

* Update tests.

* cargo fmt

* Move Polymesh types out of staking pallet.

* Cleanup

* Clean and revert some changes.

* Import Substrate mock/tests.

* Use staking pallet from Substrate.

* Fix tests.

* Remove old PolymeshStorageVersion.

* Remove unused events.

* Add migration.

* Switch Substrate branches.

* FIXUP: weights.

* Update balance pallet (#1833)

* Remove pallet-balances

* Fix benchmarks

* Remove cdd check; Fix bench

* Fix bench and integration tests

* Add polymesh_v8 feature to polymesh-api

* Update ci commands

* Change ci flag

* Remove error

* Update substrate stable2503 7 (#1845)

* Add workspace dependency

* Update Substrate

* Update WeightMeter

* Deprecated GenesisBuild, use BuildGenesisConfig

* Use Weight::from_parts instead of Weight::from_ref_time

* T::BlockNumber update

* Fix chrono deprecated warnings.

* Fix deprecated check_accrue call.

* Add TypeInfo to Runtime API types.

* System pallet renamed Index -> Nonce.

* Update contracts

* Update weights

* Bump recursion_limit

* Update Babe and Grandpa.

* Update staking pallet

* Update im-online.

* Require serde.

* no_std GenesisConfig.

* Update node binary service/command code.

* Add missing runtime_version attribute.

* Fix wasm-builder

* Remove old test.

* Fix warnings.

* Fix warnings about OldWeight.

* Fix benchmark build.

* Fix RPC port number.

* System.set_code doesn't use max block weight anymore.

* Use sensible maths for `from_rational`.

paritytech/substrate#13660

* Bump contract gas fees.

* Add NoopMigration for v10 contracts pallet.

* Add feature flag for ed; Fix tests and runtime

* Update Weights

* Fix integration tests

* Update .toml and .lock; Update rustc --version; Remove old testing feature

* Fix compilation errors - part I

* Fix compilation errors - part II

* Fix compilation errors - part III

* Fix compilation errors - part IV

* Fix compilation errors - Tx payment

* Fix compilation errors - Remove deprecated scheduler

* Fix compilation erros - Impl TransactionExtension for pallet_permissions

* Fix compilation errors - Remove deprecated scheduler

* Remove deprecated calls - pallet_sudo pallet_validators

* Fix compilation errors - pallet_tx_payments currency adapter

* Fix compilation errors - Update dependency; add Preimage

* Update develop runtime

* Update mainnet and testnet runtime

* Fix rpc-protocol-fee - part I

* Fix node-rpc errors - part I

* Fix node-rpc errors

* Fix group and protocol rpc build

* Updating node part I

* Update node part II

* Update chain_spec - part I

* Update chain spec - part II

* Update node - part III

* Remove warnings; Remove local dependecies

* Impl TransactionExtension

* Add missing GenesisBuilder impl; Use camel case for json genesis; Add validators genesis config

* Remove duplicated chainspec merge; Update toml; Cargo fmt

* Update rust version

* Add ci_runtime

* Fix sudo mock

* Fix tests - part I; Fix storage and builder

* Fix tests - part I

* Fix tests - pips committee

* Fix settlement tests; Add subsidiser to tx_payment pallet

* Fix relayer tests

* Fix tx_payment tests

* Fix Utility tests

* Compile staking tests

* Fix staking tests - UseNominatorsAndValidatorsMap does not sort

* Fix toml files missing runtime-benchmark feature

* Fix toml files for benchmarks part II

* Fix benchmarks - part III

* Order toml dependencies

* Update .lock; Change rust-toolchain

* Change rust version

* Fix benchmarks build

* Change rust version for ci

* Run cargo fmt

* Fix the ci pipeline; Remove contracts from benchmarks temporarily

* FIx manual_slash benchmark

* Build docker temporarily

* Add CA certs to debian docker image.

* FIXUP: ca cert install

* Remove unimplemented call

* Add migrations (#1850)

* update Cargo.lock

* Fix CI pipeline.

* FIXUP: ci pipeline.

* Add missing pallet_contract migrations.

* Fix Rust integration build with v8 chain metadata.

* Update tests to use TransferWithMemo event.

* Update TS integration tests.

* Fix Rust integration build against v8.

* Fix initial funding amounts.

* Update Substrate to fix CheckNonce.

* Fix proofSize limit for contract calls.

* Bump transaction version to 8.

---------

Co-authored-by: Robert G. Jakabosky <rjakabosky+neopallium@neoawareness.com>

* Update to Substrate stable2512 (#1857)

* Update Substrate deps to stable2512.

* Fix runtime_interface for benchmark host functions.

* Fix runtime build errors.

* Fix runtime compile errors.

* Fix staking tests.

* Fix node services code.

* Use polymesh builder tool again.

* cargo update.  Update non-substrate deps.

* Use the Sudo pallet from Substrate instead of our forked version.

* Move Substrate Staking tests to Validators pallet.

* Don't rustfmt the Staking test code.

* Cleanup some TODOs.

* Update branches in CI pipeline.

* Store runtimes as artifacts of CI jobs.

* Fix CI pipeline config.

* Remove PR branch from CI pipeline.

* Fix validators migration (#1858)

* Fix migration of permissioned validators from Staking pallet.

* Bump spec.

* Fix tx_payment `TransactionExtensions`; Use `call_weight` instead of `total_weight` (#1863)

* Fix fee withdraw

* Fix tests; Improve validate and prepare code

* Change total_weight to call_weight

* Remove duplicated check in tx extension; Fix call_weight usage

* Another call_weight -> total_weight fix.

---------

Co-authored-by: Robert G. Jakabosky <rjakabosky+neopallium@neoawareness.com>

* Refactor transaction payment (#1864)

* Reuse pallet-transaction-payment from Substrate, split our ChargeTransactionPayment code out.

* Use improved transaction priority calculation from Substrate.

* Implement support for disable fees.

* Add benchmark of ChargeTransactionPayment tx extension.

* Benchmark ChargeTransactionPayment extension.

* Return the extension weight.

* Use git paths instead of version for Substrate deps.

* Update to Substrate release polkadot-stable2512.

* Fix tests build.

* Add Beefy, Beefy-MMR and MMR pallets.

* Add migration for SessionKeys.  Allow Beefy to be disabled.

* Add AuthorizedCall and CheckNonZeroSender tx extensions.

* Add WeightReclaim tx extension.

* Add support for CheckMetadataHash tx extension.

* Fix Rust integration tests to support CheckMetadataHash tx extension.

* Support metadata-hash.

* Migrate to FungibleAdapter.

* Fix staking election in Genesis block for dev chains.

* Add Beefy, Beefy-MMR and MMR pallets.

* Add migration for SessionKeys.  Allow Beefy to be disabled.

* Add AuthorizedCall and CheckNonZeroSender tx extensions.

* Add WeightReclaim tx extension.

* Add support for CheckMetadataHash tx extension.

* Fix Rust integration tests to support CheckMetadataHash tx extension.

* Support metadata-hash.

* Migrate to FungibleAdapter.

* Fix staking election in Genesis block for dev chains.

* replace cdd claim checks with did checks, rename errors/types, remove unused code

* rename CddServiceProviders to DidRegistrars

* add register_did extrinsic, deprecate old extrinsics

* add register_did tests and update naming in tests

* rename cdd provider leftovers in benchmarking and tests

* cleanup and check did active in benchmark

* rename SystematicIssuers::CDDProvider to DIDRegistrar

* update polymesh_schema.json and chain spec files

* update cli types

* update tests

* cleanup unused imports + fix ts integration tests

* Revert "rename SystematicIssuers::CDDProvider to DIDRegistrar"

This reverts commit 5b43d03.

* deprecate AttestPrimaryKeyRotation

* rename error IdentityIsMissingDID to IdentityDoesNotExist + revert CddId comment

* allow deprecated

* remove did check for sender and add is_did_locked stub

* cleanup duplicate code

* add storage migration for CddServiceProviders -> DidRegistrars

* cleanup

* fix ci

---------

Co-authored-by: Robert Gabriel Jakabosky <rjakabosky+neopallium@neoawareness.com>
Co-authored-by: Henrique Nogara <nogara.henrique@gmail.com>
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.

3 participants