Questions tagged [signed-extensions]

The tag has no usage guidance.

Filter by
Sorted by
Tagged with
2 votes
1 answer
78 views

What informations consist of a signature which is generated when siging a transaction payload offline?

From the wiki (https://wiki.polkadot.network/docs/build-transaction-construction), import { createSignedTx } from "@substrate/txwrapper-polkadot"; // Example code, replace `signWithAlice` ...
drhanlondon's user avatar
3 votes
1 answer
85 views

how to pay transaction fee through custom token?

i am working on substrate i have created a custom token using pallet_assets,how can i configure the transaction_fee using the custom token i have seen the pallet_assets_transaction payment which say'...
Amit Kumar Yadav's user avatar
2 votes
1 answer
41 views

How to build the browser extension with substrate?

Can we make browser extension with substrate and yes and how ? can anyone please provide the resource to read about it ?
Deepak Chaudhary's user avatar
2 votes
1 answer
37 views

SignedExtension and nested calls

Does the SignedExtension (validate) get executed on a nested call (e.g. sudo.call, scheduler.schedule)? In other words, the call within the call.
Daan van der Plas's user avatar
1 vote
2 answers
57 views

CheckNonZeroSender

Why is CheckNonZeroSender a signed extension rather than part of the UncheckedExtrinsic::check() when checking the payload for a bad proof? What exactly does the non-zero check do? It appears to be ...
Robert La Ferla's user avatar
2 votes
1 answer
86 views

Informing polkadot/api about additional signed extensions

Polkadot/api has a way to detail signed extensions and I want to understand (so I can use it for our own custom signed extension) what the extrinsic and payload parameters map to. Here's an example ...
Wil W's user avatar
  • 349
4 votes
2 answers
139 views

Difference between SignedExtension default behavior vs. actual behavior (expand_outer_validate_unsigned)

We're trying to understand the signed transaction vs. unsigned transaction lifecycle, and what ensure_signed actually does for you. What it seemed was, if you submitted an unsigned transaction to our ...
Shannon Wells's user avatar
5 votes
2 answers
157 views

SignedExtension to mutate Origin

Please see edits 2 and beyond, as they reshape the question a lot. TLDR: I need a way to mutate an origin for all but some specific calls so that it's dispatched as RawOrigin::Signed to pass ...
Gabe's user avatar
  • 105
1 vote
1 answer
35 views

why does pre-dispatch in SignedExtension require you to call validate?

I am trying to understand how to develop an attack vector for when the pre-dispatch function leaves out the same checks in the validate function. Can you please help me understand what the attack ...
Yatusabes's user avatar
  • 696
0 votes
1 answer
102 views

How can I check origin in a SignedExtension?

How can I check the origin in a SignedExtension?
Yatusabes's user avatar
  • 696
0 votes
2 answers
75 views

what happens if I leave out ensure_signed from extrinsic?

What are the attack vectors of leaving out ensured_signed in one of my extrinsic? It seems that SignedExtensions already checks if the transactions are signed. When I try to submit an unsigned ...
Yatusabes's user avatar
  • 696
3 votes
1 answer
99 views

Transaction Prioritization

My understanding is that the Transaction-Payment Pallet prioritizes transactions based on tip, weight and length of the transaction. ChargeTransactionPayment::get_priority uses this data to give ...
Yatusabes's user avatar
  • 696
1 vote
1 answer
31 views

Signed Extensions AdditionalSigned associated type

When reading about Signed Extensions in the transaction-format post it states that AdditionalSigned can be used to to handle any additional data to go into the signed payload. This makes it possible ...
Yatusabes's user avatar
  • 696
1 vote
2 answers
79 views

How does one block specific accounts from calling extrinsics for a substrate pallet?

We want the ability to filter certain accounts from calling extrinsics in the democracy pallet. There are more details but basically we can't do this by reserving token balance or we would do that. ...
Shannon Wells's user avatar
0 votes
2 answers
55 views

SignedExtension Transaction Pool Deduplication

How do I remove duplications of transactions from the transaction pool? I noticed some return a tag in a signed SignedExtension TransactionValidity provides field. However, it is not clear to me how ...
Yatusabes's user avatar
  • 696
2 votes
2 answers
143 views

feeless transactions unsigned vs signed extension

I also notice that implementing feeless transaction are recommended on stack-exchange using an unsigned transactions. Why is it better to implement feeless transactions with an unsigned transaction ...
Yatusabes's user avatar
  • 696
1 vote
1 answer
119 views

Unsigned Transactions vs Signed Extensions

It seems that I can use a signed extension anywhere I can use an unsigned transaction. Can you please explain why I would implement one over the other? How does the transaction lifecycle differ? The ...
Yatusabes's user avatar
  • 696
1 vote
0 answers
34 views

How does the `TaggedTransactionQueue` runtime API know what parts of the encoded call to check?

The transaction pool regularly calls the validate_unsigned function of the SignedExtension trait to check transaction validity against current state. This trait then gets used to implement custom ...
Sacha Lansky's user avatar
  • 2,321
1 vote
1 answer
157 views

Pre-dispatch Error

I took a look at the check-weight SignedExtention to see what happens when a block is full. It appears that it returns an error InvalidTransaction::ExhaustsResources. It think it puts it back into the ...
Yatusabes's user avatar
  • 696
1 vote
1 answer
78 views

Transaction pool and Signed Extension Pre dispatch

My understanding is that when a transaction arrives it gets validated against all signed extensions. If the transaction is valid it then moves into the ready queue or future queue depending on the ...
Yatusabes's user avatar
  • 696
2 votes
1 answer
81 views

How to create custom origin that executes abritrary code on transactions

How can I create a custom origin that executes some arbitrary logic on any transaction? The use case here is some identity check that fails a transaction, if the check fails. In addition, I want to ...
Justin Frevert's user avatar
1 vote
1 answer
52 views

The era of Sign with no submission action is different than submit

I'm using a ed-25519 account, and first sign with no submission, and use the 「Signed transaction」to decode, the result(right pic) show the era Period is 0x40... then I do a real submit, but the ...
zqhxuyuan's user avatar
  • 195
2 votes
1 answer
44 views

Why signature diverse with same additon signed of SignedExtension?

I have a same call with same era,nonce,tip, and a same signer. the SignedPayload is construct by call and Extra(era,nonce,tip here), so the payload should be unchanged. but in polkadot.js I checked ...
zqhxuyuan's user avatar
  • 195
9 votes
2 answers
391 views

What are the Steps for Encoding an Extrinsic in Substrate?

Substrate introduces some unique concepts such as unsigned transactions and signed extensions. What are the steps for encoding an extrinsic in Substrate? What are the specific details that relate to ...
Dan Forbes's user avatar