Consensys / web3signer

Web3Signer is an open-source signing service capable of signing for multiple platforms (Ethereum consensus and execution clients) using private keys stored in an external vault, or encrypted on a disk.
https://docs.web3signer.consensys.net/
Apache License 2.0
201 stars 78 forks source link

Eth RPC 1559 support for private transactions #839

Open siladu opened 1 year ago

siladu commented 1 year ago

Following #769, this issue is to support 1559 in private transactions via eea_sendTransaction.

Draft PR already underway: ~https://github.com/Consensys/web3signer/pull/838~ https://github.com/Consensys/web3signer/pull/950

A web3j bug was found which prevented EIP-1559 from being decoded which is why this issue was split out: https://github.com/web3j/web3j/blob/2ad9a8b4b9411de13c6d09e8392a51213d8160f0/eea/src/main/java/org/web3j/protocol/eea/crypto/PrivateTransactionDecoder.java#L35-L39 Although the delegation to TransactionDecoder.decode() covers the 1559 decoding routine, the RlpDecoder.decode() method higher up relies on the all important stripping of the first byte happening before it is called... final byte[] encodedTx = Arrays.copyOfRange(transaction, 1, transaction.length);

Tasks

jframe commented 1 year ago

Blocked on changes in web3j to support encoding of EIP-1559 private transactions

siladu commented 1 year ago

Web3j issue has been filed for this https://github.com/web3j/web3j/issues/1966

NickSneo commented 1 year ago

PR for Web3j private 1559 transaction - https://github.com/web3j/web3j/pull/1980

siladu commented 8 months ago

https://github.com/web3j/web3j/pull/1980 merged, no longer blocked.

Latest PR is https://github.com/Consensys/web3signer/pull/950