diff --git a/runtime/acala/src/lib.rs b/runtime/acala/src/lib.rs index 26addc905a..4459a92e99 100644 --- a/runtime/acala/src/lib.rs +++ b/runtime/acala/src/lib.rs @@ -39,7 +39,7 @@ use sp_runtime::{ create_runtime_str, generic, impl_opaque_keys, traits::{ AccountIdConversion, AccountIdLookup, BadOrigin, BlakeTwo256, Block as BlockT, Convert, SaturatedConversion, - StaticLookup, Verify, + StaticLookup, }, transaction_validity::{TransactionSource, TransactionValidity}, ApplyExtrinsicResult, DispatchResult, FixedPointNumber, Perbill, Percent, Permill, Perquintill, @@ -2179,23 +2179,25 @@ impl Convert<(Call, SignedExtra), Result<(EthereumTransactionMessage, SignedExtr pub struct PayerSignatureVerification; impl Convert<(Call, SignedExtra), Result<(), InvalidTransaction>> for PayerSignatureVerification { - fn convert((call, extra): (Call, SignedExtra)) -> Result<(), InvalidTransaction> { + fn convert((call, _extra): (Call, SignedExtra)) -> Result<(), InvalidTransaction> { if let Call::TransactionPayment(module_transaction_payment::Call::with_fee_paid_by { - call, - payer_addr, - payer_sig, + call: _, + payer_addr: _, + payer_sig: _, }) = call { - let payer_account: [u8; 32] = payer_addr - .encode() - .as_slice() - .try_into() - .map_err(|_| InvalidTransaction::BadSigner)?; - // payer signature is aim at inner call of `with_fee_paid_by` call. - let raw_payload = SignedPayload::new(*call, extra).map_err(|_| InvalidTransaction::BadSigner)?; - if !raw_payload.using_encoded(|payload| payer_sig.verify(payload, &payer_account.into())) { - return Err(InvalidTransaction::BadProof); - } + // Disabled for now + return Err(InvalidTransaction::BadProof); + // let payer_account: [u8; 32] = payer_addr + // .encode() + // .as_slice() + // .try_into() + // .map_err(|_| InvalidTransaction::BadSigner)?; + // // payer signature is aim at inner call of `with_fee_paid_by` call. + // let raw_payload = SignedPayload::new(*call, extra).map_err(|_| + // InvalidTransaction::BadSigner)?; if !raw_payload.using_encoded(|payload| + // payer_sig.verify(payload, &payer_account.into())) { return Err(InvalidTransaction:: + // BadProof); } } Ok(()) } diff --git a/runtime/karura/src/lib.rs b/runtime/karura/src/lib.rs index f2f0127a1a..d0ec581e61 100644 --- a/runtime/karura/src/lib.rs +++ b/runtime/karura/src/lib.rs @@ -39,7 +39,7 @@ use sp_runtime::{ create_runtime_str, generic, impl_opaque_keys, traits::{ AccountIdConversion, AccountIdLookup, BadOrigin, BlakeTwo256, Block as BlockT, Convert, SaturatedConversion, - StaticLookup, Verify, + StaticLookup, }, transaction_validity::{TransactionSource, TransactionValidity}, ApplyExtrinsicResult, DispatchResult, FixedPointNumber, Perbill, Percent, Permill, Perquintill, @@ -2221,23 +2221,25 @@ impl Convert<(Call, SignedExtra), Result<(EthereumTransactionMessage, SignedExtr pub struct PayerSignatureVerification; impl Convert<(Call, SignedExtra), Result<(), InvalidTransaction>> for PayerSignatureVerification { - fn convert((call, extra): (Call, SignedExtra)) -> Result<(), InvalidTransaction> { + fn convert((call, _extra): (Call, SignedExtra)) -> Result<(), InvalidTransaction> { if let Call::TransactionPayment(module_transaction_payment::Call::with_fee_paid_by { - call, - payer_addr, - payer_sig, + call: _, + payer_addr: _, + payer_sig: _, }) = call { - let payer_account: [u8; 32] = payer_addr - .encode() - .as_slice() - .try_into() - .map_err(|_| InvalidTransaction::BadSigner)?; - // payer signature is aim at inner call of `with_fee_paid_by` call. - let raw_payload = SignedPayload::new(*call, extra).map_err(|_| InvalidTransaction::BadSigner)?; - if !raw_payload.using_encoded(|payload| payer_sig.verify(payload, &payer_account.into())) { - return Err(InvalidTransaction::BadProof); - } + // Disabled for now + return Err(InvalidTransaction::BadProof); + // let payer_account: [u8; 32] = payer_addr + // .encode() + // .as_slice() + // .try_into() + // .map_err(|_| InvalidTransaction::BadSigner)?; + // // payer signature is aim at inner call of `with_fee_paid_by` call. + // let raw_payload = SignedPayload::new(*call, extra).map_err(|_| + // InvalidTransaction::BadSigner)?; if !raw_payload.using_encoded(|payload| + // payer_sig.verify(payload, &payer_account.into())) { return Err(InvalidTransaction:: + // BadProof); } } Ok(()) }