From 852dba30f0120b7b41879ad26224a01362e1875e Mon Sep 17 00:00:00 2001 From: Jack Date: Mon, 23 Aug 2021 15:04:28 +0800 Subject: [PATCH 1/3] support eip-1559 --- packages/hdwallet-provider/src/index.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/hdwallet-provider/src/index.ts b/packages/hdwallet-provider/src/index.ts index 8631c268648..9c8ef9a15d4 100644 --- a/packages/hdwallet-provider/src/index.ts +++ b/packages/hdwallet-provider/src/index.ts @@ -3,7 +3,7 @@ import { wordlist } from "ethereum-cryptography/bip39/wordlists/english"; import * as EthUtil from "ethereumjs-util"; import ethJSWallet from "ethereumjs-wallet"; import { hdkey as EthereumHDKey } from "ethereumjs-wallet"; -import { Transaction } from "@ethereumjs/tx"; +import { Transaction, FeeMarketEIP1559Transaction } from "@ethereumjs/tx"; import Common from "@ethereumjs/common"; // @ts-ignore @@ -125,7 +125,7 @@ class HDWalletProvider { this.hardfork = chainSettings && chainSettings.hardfork ? chainSettings.hardfork - : "istanbul"; + : "london"; const self = this; this.engine.addProvider( @@ -170,7 +170,13 @@ class HDWalletProvider { ) }; } - const tx = Transaction.fromTxData(txParams, txOptions); + + // Taken from https://github.com/ethers-io/ethers.js/blob/2a7ce0e72a1e0c9469e10392b0329e75e341cf18/packages/abstract-signer/src.ts/index.ts#L215 + const hasEip1559 = (txParams.maxFeePerGas !== undefined || txParams.maxPriorityFeePerGas !== undefined); + const tx = hasEip1559 ? + FeeMarketEIP1559Transaction.fromTxData(txParams, txOptions) : + Transaction.fromTxData(txParams, txOptions); + const signedTx = tx.sign(pkey as Buffer); const rawTx = `0x${signedTx.serialize().toString("hex")}`; cb(null, rawTx); From a7e8063d8423afe6730c471b2f56fc610f1c8384 Mon Sep 17 00:00:00 2001 From: Jack Date: Wed, 1 Sep 2021 16:26:06 +0800 Subject: [PATCH 2/3] fix EIP-1559 not enabled on Common --- packages/hdwallet-provider/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/hdwallet-provider/src/index.ts b/packages/hdwallet-provider/src/index.ts index 9c8ef9a15d4..12bf49fcbba 100644 --- a/packages/hdwallet-provider/src/index.ts +++ b/packages/hdwallet-provider/src/index.ts @@ -157,7 +157,7 @@ class HDWalletProvider { const KNOWN_CHAIN_IDS = new Set([1, 3, 4, 5, 42]); let txOptions; if (typeof chain !== "undefined" && KNOWN_CHAIN_IDS.has(chain)) { - txOptions = { common: new Common({ chain }) }; + txOptions = { common: new Common({ chain, hardfork: self.hardfork }) }; } else if (typeof chain !== "undefined") { txOptions = { common: Common.forCustomChain( From 39ba9ba1dc7fd45dff113246a2b62e466bdca73c Mon Sep 17 00:00:00 2001 From: eggplantzzz Date: Tue, 2 Nov 2021 15:29:25 -0400 Subject: [PATCH 3/3] Bumpe @trufflesuite/web3-provider-engine to 15.0.14 --- packages/hdwallet-provider/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/hdwallet-provider/package.json b/packages/hdwallet-provider/package.json index 48d6ed7d31d..2101ae31647 100644 --- a/packages/hdwallet-provider/package.json +++ b/packages/hdwallet-provider/package.json @@ -23,7 +23,7 @@ "dependencies": { "@ethereumjs/common": "^2.4.0", "@ethereumjs/tx": "^3.3.0", - "@trufflesuite/web3-provider-engine": "15.0.13-1", + "@trufflesuite/web3-provider-engine": "15.0.14", "eth-sig-util": "^3.0.1", "ethereum-cryptography": "^0.1.3", "ethereum-protocol": "^1.0.1",