Skip to content
This repository has been archived by the owner on Jan 21, 2022. It is now read-only.

Support V values over 1 byte #297

Closed
danfinlay opened this issue Apr 25, 2017 · 1 comment
Closed

Support V values over 1 byte #297

danfinlay opened this issue Apr 25, 2017 · 1 comment

Comments

@danfinlay
Copy link
Contributor

danfinlay commented Apr 25, 2017

Since EIP 155 allows much larger v values for replay protection, including multiplying the current network ID, the sometimes makes testRPC's replay-protected V values over one byte.

You can see this has manifested as a MetaMask incompatibility here:
MetaMask/metamask-extension#1341

Expected Behavior

Replay protected TXs should go through with no problem.

Current Behavior

If using a large (default) network ID, TestRPC will return an error:

{"message":"Error: Invalid Signature\n    at FakeTransaction.getSenderPublicKey (/Users/danfinlay/.nvm/versions/node/v7.7.3/lib/node_modules/ethereumjs-testrpc/node_modules/ethereumjs-tx/index.js:195:42)\n    at FakeTransaction.getSenderAddress (/Users/danfinlay/.nvm/versions/node/v7.7.3/lib/node_modules/ethereumjs-testrpc/node_modules/ethereumjs-tx/index.js:184:25)\n    at StateManager.queueRawTransaction (/Users/danfinlay/.nvm/versions/node/v7.7.3/lib/node_modules/ethereumjs-testrpc/lib/statemanager.js:216:17)\n    at GethApiDouble.eth_sendRawTransaction (/Users/danfinlay/.nvm/versions/node/v7.7.3/lib/node_modules/ethereumjs-testrpc/lib/subproviders/geth_api_double.js:252:14)\n    at GethApiDouble.handleRequest (/Users/danfinlay/.nvm/versions/node/v7.7.3/lib/node_modules/ethereumjs-testrpc/lib/subproviders/geth_api_double.js:70:10)\n    at next (/Users/danfinlay/.nvm/versions/node/v7.7.3/lib/node_modules/ethereumjs-testrpc/node_modules/web3-provider-engine/index.js:95:18)\n    at SolcSubprovider.handleRequest (/Users/danfinlay/.nvm/versions/node/v7.7.3/lib/node_modules/ethereumjs-testrpc/node_modules/web3-provider-engine/subproviders/solc.js:28:7)\n    at next (/Users/danfinlay/.nvm/versions/node/v7.7.3/lib/node_modules/ethereumjs-testrpc/node_modules/web3-provider-engine/index.js:95:18)\n    at VmSubprovider.handleRequest (/Users/danfinlay/.nvm/versions/node/v7.7.3/lib/node_modules/ethereumjs-testrpc/node_modules/web3-provider-engine/subproviders/vm.js:40:12)\n    at next (/Users/danfinlay/.nvm/versions/node/v7.7.3/lib/node_modules/ethereumjs-testrpc/node_modules/web3-provider-engine/index.js:95:18)","code":-32000}}

Possible Solution

I thought bumping ethereumjs-tx would work, since they added support for this, but that doesn't seem to do it (for me, locally).

Steps to Reproduce (for bugs)

  1. Open the latest version of MetaMask
  2. Connect to TestRPC
  3. Try to send any TX, even just from the popup.
  4. Right-click the popup to view the error.

Context

MetaMask users are not currently able to send txs to testrpc.

Your Environment

  • Mac
  • Testrpc 3.0.3
  • MetaMask 3.5.3
@mikeseese
Copy link
Contributor

This should have been closed in #298

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants