You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, our runtime does not properly handle fee-free transactions using the pallet_skip_feeless_payment module. This leads to inconsistencies and potential issues with transaction processing, as free transactions now require a fee.. The recent upgrade to Polkadot v1.10 removed the previous functionality, causing a regression in our system. In essence , Pays=No becomes a noop.
Acceptance Criteria
Integrate the pallet_skip_feeless_payment module into the runtime.
Define the necessary associated types and implement the required traits for the SkipFeelessPaymentConfig.
Update the RuntimeEvent enum to include the SkipFeelessPayment variant.
Ensure that fee-free transactions, including the faucet functionality, are correctly identified and processed.
Tasks
Update the runtime's Cargo.toml file to include the pallet-skip-feeless-payment dependency.
Implement the pallet_skip_feeless_payment::Config trait for the runtime:
impl pallet_skip_feeless_payment::ConfigforRuntime{typeRuntimeEvent = RuntimeEvent;fnis_fee_free(call:&Self::RuntimeCall) -> bool{// Add logic to determine if a call is fee-free// ...}}
Update the RuntimeEvent enum in runtime/src/lib.rs:
According to my investigation, the root cause is the account.providers.is_zero() && account.sufficients.is_zero() check added when nonce check in extrinsic extension. We can't fix in via introduce the feeless trait for some extrinsic. Feeless is the machenism in transaction payment pallet, to check accept the transaction or not. But the added check happens before it, the extrinsic fails when check extrinsic extension.
Description
Currently, our runtime does not properly handle fee-free transactions using the pallet_skip_feeless_payment module. This leads to inconsistencies and potential issues with transaction processing, as free transactions now require a fee.. The recent upgrade to Polkadot v1.10 removed the previous functionality, causing a regression in our system. In essence ,
Pays=No
becomes a noop.Acceptance Criteria
SkipFeelessPaymentConfig
.Tasks
pallet-skip-feeless-payment
dependency.pallet_skip_feeless_payment::Config
trait for the runtime:RuntimeEvent
enum inruntime/src/lib.rs
:construct_runtime!
macro to include theSkipFeelessPayment
module.Related Links
The text was updated successfully, but these errors were encountered: