Skip to content

Support eth account subsidy - #1995

Open
Neopallium wants to merge 13 commits into
developfrom
support_eth_account_subsidy
Open

Support eth account subsidy#1995
Neopallium wants to merge 13 commits into
developfrom
support_eth_account_subsidy

Conversation

@Neopallium

@Neopallium Neopallium commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

changelog

new features

  • Support ETH wallets in the Subsidizer (Relayer pallet).
  • Support ETH wallets as MultiSig signers.
  • ETH wallets accepting authorizations (like Identity.join_identity_as_key, MultiSig.accept_multisig_signer, etc..) do not pay the tx fee. Just like Substrate keys the authorization creator pays the fees.

other

  • DidRegistrars (formally CDDProviders) can not use transaction tipping. Only GC members are allowed to using tipping.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Adds Ethereum-account support to Polymesh fee subsidization and MultiSig flows by routing ETH-originated calls through pallet_revive, extending transaction-payment/subsidy accounting to include pre-charged storage deposits, and tightening operational tipping permissions (GC-only).

Changes:

  • Extend ChargeTransactionPayment to account for (ETH) pre-charged storage deposits when reserving/settling subsidy usage.
  • Update runtime call routing / filtering to handle nested Revive::eth_substrate_call and add ETH extrinsic conversion logic.
  • Update tests (runtime + integration) to cover ETH wallet subsidy usage and ETH MultiSig signer behavior; remove DID-registrar tipping support.

Reviewed changes

Copilot reviewed 9 out of 10 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
pallets/transaction-payment/src/lib.rs Track storage deposit alongside fee/tip for subsidy reserve/settlement and remove DID-registrar-based tipping.
pallets/transaction-payment/src/benchmarking.rs Update bounds to account for new credit/imbalance types.
pallets/transaction-payment/Cargo.toml Dependency formatting + add log.
pallets/runtime/tests/src/transaction_payment_test.rs Adjust tipping tests to GC-only behavior.
pallets/runtime/tests/src/signed_extra.rs Add GC membership genesis setup for tipping rules in tests.
pallets/runtime/common/src/runtime.rs Handle nested Revive::eth_substrate_call, call filtering, and ETH extrinsic decoding/fee+storage precharge plumbing.
pallets/permissions/Cargo.toml Dependency formatting + add log.
integration/tests/relayer.rs Add coverage for subsidized calls and ETH wallet subsidy flow.
integration/tests/multisig_permissions.rs Add integration test verifying ETH wallet can act as a MultiSig signer via pallet_revive interface.
Cargo.lock Lockfile updates for dependency revisions.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread pallets/runtime/common/src/runtime.rs Outdated
Comment thread pallets/runtime/common/src/runtime.rs
@Neopallium
Neopallium force-pushed the support_eth_account_subsidy branch from 4045e6f to a96b998 Compare August 21, 2026 17:29
@Neopallium
Neopallium requested a review from F-OBrien August 21, 2026 18:09
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.

2 participants