diff --git a/lib/statemanager.js b/lib/statemanager.js index 33422e3111..0f1cf13449 100644 --- a/lib/statemanager.js +++ b/lib/statemanager.js @@ -310,7 +310,7 @@ StateManager.prototype.queueRawTransaction = function(data, callback) { "mainnet", // TODO needs to match chain id { name: "ganache", - networkId: this.options.network_id || this.forkVersion, + networkId: this.options.network_id || this.blockchain.forkVersion, chainId, comment: "Local test network", bootstrapNodes: [] diff --git a/test/forking.js b/test/forking.js index 0ed9e2a454..36be589061 100644 --- a/test/forking.js +++ b/test/forking.js @@ -1,3 +1,4 @@ +const Transaction = require("../lib/utils/transaction"); var Web3 = require("web3"); var Web3WsProvider = require("web3-providers-ws"); var assert = require("assert"); @@ -510,6 +511,22 @@ describe("Forking", function() { assert.strictEqual(code, "0x"); }); + it("should be able to send a signed transaction", async() => { + const transaction = new Transaction({ + value: "0x10000000", + gasLimit: "0x33450", + from: mainAccounts[8], + to: mainAccounts[7], + nonce: "0x0" + }); + + const secretKey = mainWeb3.currentProvider.manager.state.accounts[mainAccounts[8].toLowerCase()].secretKey; + transaction.sign(secretKey); + + const result = await mainWeb3.eth.sendSignedTransaction(transaction.serialize()); + assert.strictEqual(result.status, true); + }); + describe("Can debug a transaction", function() { let send; before("generate send", function() {