At Nomic Labs we’ve been collaborating with the Ethereum Foundation to improve the developer experience on Ethereum, and we believe an important part of this process for the short-term is to help stabilize the web3.js library. In this document we propose a plan to move in this direction.
First, some quick context:
- The 1.0.0-beta-38 release of the library broke backwards compatibility
- Recently, the library was split into two branches
- 1.x branch continuing from where the 1.0.0-beta-37 left off
- 2.x branch, continuing from 1.0.0-beta-55. This branch isn’t backward compatible with 1.x.
The versions that are widely used across the ecosystem right now are the 1.0.0-beta-37 and its subsequent 1.x releases. These releases still contain a significant amount of known bugs that have been reported, are fixed on the 2.x branch, but remain live in the versions used in production depoyments due to the releases that now exist in the 2.x branch not having significant adoption.
The fixes done on 2.x represent a ton of work that’s already been done, and it would be great if it were repackaged in a form that is usable on the web3.js deployments across the ecosystem.
We’ve gone through all the releases between 1.0.0-beta-38 and 1.0.0-beta-55 (the latest release that became the 2.x branch) and collected the list of issues that have been fixed. Thankfully @nivida has done a great job at documenting each release.
Our simple proposal consists of backporting these bug fixes from the 2.x branch to the 1.x branch, where it makes sense. We assume there may be some issues in the list that shouldn’t be included or aren’t relevant anymore.
The main objective here is stabilizing the 1.x branch, so we believe stability should be the main driver for decision making throughout this process. From our perspective this would mean, at least:
- None of the backporting work should break backwards compatibility against the 1.0.0-beta-37 release
- If an issue in this list isn’t a bug it should be removed from the list
- If the bug reported in an issue in the list was introduced in a version later to beta-37, then the issue should be removed from the list
- Release management should be thoroughly considered
If an issue is removed from the list because of 2 or 3, it would be valuable to keep track of this.
When it comes to releases we think there should be an RC release, which teams relying on the library can test comfortably, and once any issues that arise are fixed then the proper release.
Prioritizing this list represents a difficult task to us, so we invite people with a more intimate knowledge of the codebase to highlight issues of major importance that should be included in the first release. The list is ordered in the exact same order the fixes were released on the 2.x branch, so we assume there’s been prioritization done by Samuel already. Overall, given that projects relying on the library have been a long time without a release that’s compatible with their deployments, and the work doesn’t need to be done from scratch, we think that just aiming to follow that same release order and getting them all released as soon as possible on 1.x is a reasonable approach.
When it comes to the cadence of the releases containing these fixes, we wouldn’t prioritize speed. We think that appropriately spaced releases that allow the community to properly test each release candidate is important. The objective of such a stage in each release is to identify any new issues that might have been inadvertently introduced, and fix them before moving on to the final release. Given that the amount of issues is significant (244 in the unfiltered list we collected), there should be enough time in-between each release for proper testing. We believe this is somewhere between 3 and 6 weeks between each release.
In addition, given that the 1.x branch is considered the stable release and the 2.x branch is considered the development branch, we suggest the default branch on the Github repository be set to 1.x. The rationale being to help the userbase easily access the code they’re using as a reference when needed.
We welcome any ideas and suggestions that would add to this proposal for a short-term plan to bring more stability to web3.js.
If you agree this should be the way forward, please voice your support below in the comments or with a thumbs up reaction.
⚠️ Tracking issue: active editing in progress... ⚠️
These are the items on @alcuadrado's / NomicLab's original list, organized into 4 categories:
- Needs investigation
- Triage (e.g we've identified that these need back-porting, regression tests, or both)
- Removals with a documented reason (e.g. is fixed, wont-fix, duplicate, etc)
- Removals based an initial pruning of the list by @nivida, waiting for a documented reason.
- Many of these may only be relevant to the 2.x branch
(Goal is to move everything into the Removals with Reason category.)
@joshstevens19 has added an additional set of PRs relating to stabilizing Typescript on 1.x in a second comment below.
There's a copy of the original list here
Editors: (if you're editing, pls add your name here)
- (nv): @nivida
- (cg): @cgewecke
- (js): @joshstevens19
Needs investigation
Bundling / Publication
- [x] #1986 Uncaught TypeError: Cannot read property 'node' of undefined.
- [x] #2061 'TypeError: t.XMLHttpRequest is not a constructor' when using web3.min.js
- [x] #2100 @@any-promise/REGISTRATION
Dependencies
- [x] #2792 Security vulnerability: extend 3.0.1 module in web3-bzz
Security
Other
(Added back in because of recent reports that it's alive...) (cg)
- [ ] #1255 sendSignedTransaction: failing when calling getTransactionReceipt
Broken
- [x] #1239 Confirmation of transaction each second (nv)
- [x] Needs fix here (cg)
- [x] PR: #3140
- [x] tests: E2E
- [x] docs: n/a
Typescript
@joshstevens19 will solve all of these.
These can probably all be addressed by a single back-port PR from 2.x, after modifying
the latest types as necessary and double-checking everything makes sense.
- [x] #1248 Web3 typescript definition has no default export
- [x] #1259 1.0 beta.27 not working for typescript "resolves to a non-module entity"
- [x] #1408 TypeScript definition CommonJS compatibility
- [x] #2514 web3.version.getNode() alternative in v1.0 using typescript
- [x] #2228 Typescript return type of web3.eth.accounts.signTransaction() is incorrect.
- [x] #2844 fix - 2819 - Block transactions on some instances returns an array of…
- [x] #2645 fix: make auto-resolve to the root module when importing typings
- [x] #2618 Write better types for ens and update the docs
- [x] #2550 docs: show how you can get the types to work in a
commonjs module
- [x] #2516
objects to any on typing's return + dtslint fix + general test fixes
- [x] #2471
Sign needed to have a signature on typing's + fix incorrect docs
- [x] #2422 fix:
AbiItem was missing anonymous
- [x] #2417 fix: Accounts typings
- [x] #2416 fix:
TransactionReceipt typings
- [x] #2415 fix: turn allowSyntheticDefaultImports to false
- [x] #2336 add postinstall script in
files in package.json
- [x] #2322 remove reference comment to see if build passes
- [x] #2288 fix: add
status onto TransactionReceipt
- [x] #2280 allow web3-utils to work in projects with `"noImplicitAny": true,
- [x] #2278 write missing typing for
web3-eth-personal
- [x] #2262 fix: patch the angular
browser.js to allow `{crypto: true, stream: …
- [x] #2261 Fix/types reference node types
- [x] #2253 remove redundant comments
- [x] #2231 fix types for contract methods
- [x] #2219 fix: install
@types/node so you do not need to add types > node in …
- [x] #2218 fix:
fromWei and toWei typings
- [x] #2217 fix:
signTransaction should return Promise<SignedTransaction>
- [x] #2203 Fix - allow web3 to work in iframes with third party cookies turned off
- [x] #2134 Run all types tests
- [x] #2133 Final web3 types PR
- [x] #2128 Web3 shh typings
- [x] #2125 Web3 bzz types
- [x] #2123 Web3 types
- [x] #2122 web3-eth typings
- [x] #2121 Web3 net types
- [x] #2119 Web3 eth contract types
- [x] #2118 Web3 eth accounts
- [x] #2114 Web3 core types
- [x] #2113 move
web3-providers down the tree to web3-core
- [x] #2112 Web3 provider types
- [x] #2096 Web3-eth-abi types
- [x] #2090 Web3 eth iban types
- [x] #2084 Web3 utils full test coverage for types
- [x] #2078 fix unneeded
{}¬ inbzzindex.d.ts`
- [x] #2073 Web3-bzz types
- [x] #2056 Declaring types within the repos packages itself
- [x] #2753 Transaction.to can be null
- [x] #2672 Fix callback types
- [x] #2643 Web3ModuleOptions interface updated
- [x] #2619 Add index to Wallet type
- [x] #2585 eth.subscribe types improvement
- [x] #2575 Types for HttpProvider options updated
- [x] #2557 DeployTransactionResponse renamed to ContractSendMethod
- [x] #2556 EventOptions interface types updated
- [x] #2529 Use genuine BN type
- [x] #2479 Separate Transaction and TransactionConfig in typings
- [x] #2478 AbiInput and AbiOutput interface update
- [x] #2233 Types/fixes
Lower priority
- [ ] #1570 - updated incorrect tests for abi encoding and decoding
- [ ] #1204 [1.0] account management inconsistency
- [ ] breaking change: wont-fix for 1.x ? (cg)
- [ ] code: Needs discussion, needs fix here, (see also #2631) (cg)
- [ ] test: regression / E2E (cg)
- [ ] docs: needs clarification about expected behavior (cg)
- [ ] #1905 block timestamp - "Error: Number can only safely store up to 53 bits"
- [ ] breaking change: wont-fix for 1.x ? (cg); This would have to be done in 1.3 (nv)
- [ ] code: would fix here, (see also #2791) (cg)
- [ ] test: regression / E2E Quorum (cg)
- [ ] docs: changes receipt format (cg)
PR Opened (back-porting...)
- [x] #1041 Where is dist folder and web3.min.js?
- [x] code: needs fix here ((see #1336) (cg)
- [x] test: E2E/regression (vs. virtual registry & build-checker in CI; let us plan this in the e2e issue (nv))
- [x] docs: n/a
- [x] #1085, #3092, #2994 Provider does not reconnect after failure, see #1966 (The PR from @gabmontes I've used as base for the implementation of it in 2.x could be used (nv))
- [x] #1015 feature: detect subscription support in provider (see #2632, backport) (cg)
- [x] #1581 setter and getter method for TIMEOUTBLOCK (nv)
- [x] PR: #3130
- [x] tests: regression
- [x] docs: need updating
- [x] #1859 Contract.methods.myMethod.send receipt is missing on error event (nv)
- [x] PR: #3129
- [x] tests: E2E/regression (as commented in the PR do we have to clean up the contract tests (nv))
- [x] docs: need updating
- [x] #1802, #2978: 'request.withCredentials = true' breaks CORS
- [x] code: fixed by #3112 (nv)
- [x] test: E2E/regression (cg); let us create new issues for adding e2e tests (nv)
- [x] docs: investigate
- [x] #1169 accounts.signTransaction: Invalid signature with testrpc
- [x] code: fixed by #3097 (cg)
- [x] tests: E2E/regression vs ganache (cg)
- [x] docs: n/a
- [x] #2381 Possible invalid gas check
- [x] PR: #3123 (nv)
- [x] tests: E2E/regression (cg) let us create new issues for adding e2e tests (nv)
- [x] docs: n/a
- [x] #2534 Documenting web3.eth.getChainId() (nv)
- [x] PR: #3113 (nv)
- [x] tests: added (nv)
- [x] docs: n/a
- [x] #2183 Possible incorrect parsing of receipt status
- [x] PR #3090
- [x] code: see comment in #2183 (cg)
- [x] tests: regression (cg)
- [x] docs: n/a
- [x] #1490 web3.utils.randomHex does not produce consistent length strings
- [x] PR #3085
- [x] code: back-port from: #2794 (cg)
- [x] test: regression ((cg)
- [x] docs: n/a ((cg)
- [x] #2184 hexToNumberString sometimes interprets string as decimal (nv)
- [x] PR #3086
- [x] code: back-port from #2884 (cg)
- [x] test: regression (cg)
- [x] docs: n/a
- [x] #1777 isBN breaks in production
- [x] PR #3087
- [x] code: back-port #2793 (cg)
- [x] test: n/a
- [x] docs: n/a
- [x] #2468 Utils functions mention BigNumber instead of BN in error messages
- [x] PR #3088
- [x] code: back-port #2705 (cg)
- [x] test: regression
- [x] docs: n/a
- [x] #1100 fromBlock: 0 defaults to latest, fromBlock: 1 works correctly in eth.getPastLogs (nv)
- [x] PR #3089 (nv)
- [x] code: 1.x needs fix (cg)
- [x] test: regression (cg)
- [x] docs: n/a
- [x] #2293 Explain "Ethereum Signed Message" prefix to the eth.personal.sign documentation
- [x] PR #3091
- [x] docs: see #2295. (Adds clarifying example using ecRecover ) (cg)
- [x] #2378 Invalid chainId used to sign transactions
- [x] PR #3097
- [x] code: see 2378 (cg)
- [x] tests: updated (cg)
- [x] docs: n/a
- [x] #2062 Unhandled Promise Rejection on 'sendRequest'
- [x] PR #3105
- [x] code: see also #2063
- [x] tests: needs E2E/regression (PR #3163) (cg)
- [x] docs: n/a
- [x] eth-util signing... (nv)
- [x] docs: n/a
- [x] PR: #3141 (in-review)
- code: use ethereumjs-tx, see #2580 (cg)
- ethereumjs-tx api is tricky to map to the function signature.
- see comment in 3125
- tests: accounts.signTransaction E2E test is failing (cg)
- [x] PR: #3125
- #1998 accounts.signTransaction: incorrect error from invalid private key
- #2033 accounts.signTransaction: Don't kill 1/2 bytes from private keys please
- #1074 web3.eth.accounts.signTransaction produced errant bytecode
Removals (with reason)
Duplicates
- [x] #1336 build dist into packages/web3/dist,fix (Dup: #1041) (cg)
- [x] #1391 Question: Keepalive for ws subscriptions? (Dup: #1085) (cg)
- [x] #1558 Reconnect on Websocket Drop (Dup: #1085) (cg)
- [x] #1591 (Dup: #1570)(cg)
- [x] #1852 Reconnect feature missing when ws connection is closed. (Dup: #1085)(cg)
- [x] #1933 Can't assign more than one handler to connection events (Dup: #1085)(cg)
- [x] #1952 new Buffer is deprecated and unsafe (Dup: #1950) (cg)
- [x] #2013 Include minified file in npm release (Dup: #1041) (cg)
- [x] #2418 confirmations not returning correct confirmation information (Dup #1239) (cg)
- [x] #2781 Async methods never finish on non-200 HTTP responses (Dup #2396)(cg)
- [x] #2265 returnValues doesn't exist on event object (Dup #2268)(cg)
- [x] #2270 on version 1.0.0-beta.41, randomHex is undefined (Dup #1490) (cg)
- [x] #2383 Docs say to link "dist/web3.min.js" but DNE. (Dup #1041) (cg)
- [x] #2501 Release / Debug build generated json-rpc calls are different (Dup #2484) (cg)
- [x] #2559 [email protected] (Webkit, Gecko) CORS Error (Dup #1802) (cg)
- [x] #2563 Subscribe to logs is broken in beta.49+ (Dup #2611) (cg)
- [x] #2612 Can't get tx receipt of reverted transaction (Dup #2601) (cg)
- [x] #1517 sendRawTransaction: returns "Invalid JSON RPC Response" (Dup #1169) (cg)
- [x] #2246 Cannot read property of blockNumber of null (Dup #1255) (cg)
- [x] #1134 accounts.signTransaction: is not working (Dup #1074) (cg)
Wont fix
- [x] #1377 Return events on sendTransaction (Wont fix see comment)(cg)
- [x] #2707 Rename sha3 to keccak256 (Wont fix fixed on 2.x / internal cosmetics)(cg)
- [x] #2247 Using passphrase and private key (Wont fix: is gitter question)(cg)
- [x] #2856 EIP-1193 updates (Will be done after the EIP got finalized (nv))
- [x] #1477 Getting contract deploy error even though deploy was successful
- This may need to be revisited, but appears to have been consequence of very erratic
behavior at Infura in Summer/Fall of 2018 on mainnet. Issue hasn't had much traffic since then.
See comment for diagnosis and potential solution if this needs to be re-addressed. (cg)
Is fixed in 1.2.1
- [x] #2375 getTransaction breaks trying to access blockNumber of null response (nv)
- [x] #854 (1.0 branch) 'new web3' overwrites the previous Contract._eth (nv)
- [x] #1681 Update WS library to newest version ^5.2.0
- [x] #1760 Package bignumber.js is not up-to-date (complaint about the Frozeman fork)
- deps are bignumber.js 4.0.0 & ethers.js (cg)
- [x] #1926 Cannot read property 'name' of undefined at Contract._generateEventOptions
- [x] #528 Switch to different linting tool.
- [x] #1950 new Buffer is deprecated and unsafe
- [x] #1458 Setting gasPrice to 0 has no effect (web3 1.0-beta.30)
- [x] #2500 sendTransaction: unhandled promise rejection (on eth_gasPrice failure)
- could not reproduce, (looks like issue opener is mis-formatting currentProvider.send)
- [x] #2269 TypeError at NewAccountMethod.set
- Verified this works on 1.x using geth v1.9.5 (cg)
- [x] #2300 web3.eth.accounts.hashMessage() does not accept arbitrary hex input
- Verified this works on v1.2.1 (cg)
- [x] #2503 Use regular functions and not arrow functions in the index.js file of the modules.
- Verified there are no
() => fns in 1.x. (cg)
- [x] #2565 ecRecover issue, please help
- Verified
ecRecover works as expected on 1.x in #3091 (cg)
- [x] #2377 Personal ECRecover validates sig as address
- Verified
ecRecover works as expected on 1.x in #3091 (cg)
- [x] #2687 BN example does not work
- BN exported in web3-utils here (cg)
- [x] #2763 Cannot set provider on provider-less Web3 instance
- Verified works as expected on 1.x (cg)
- [x] #2835 isBigNumber is not available in web3-utils
isBigNumber is exported here on 1.x
- [x] #2494 contractInstance.options.jsonInterface is undefined
- Existing tests for this case on 1.x here
- Verified that options.jsonInterface can be JSON.stringified correctly per issue repro. (cg)
- [x] #1126 accounts.signTransaction: fails for rawTransaction with leading zeroes
- [x] #2578 accounts.signTransaction: getGasPrice() invocation error in
- [x] #2401 Encoding incompatibility in status transaction receipt
- [x] #2482 ecKey.getPublic(...).slice is not a function (Ubuntu)
- [x] #1255 sendSignedTransaction: failing when calling getTransactionReceipt
Only relevant to 2.0 Branch
I've commented out the list here because the listed issues arent relevant to stabilize 1.0. (nv)
I've uncommented out this list so we can see the complete survey (cg)
- [x] #2431 this.methods.contractConstructor is not a function (nv)
- [x] #2469 web3-eth-accounts/dist/web3-eth-accounts wording error (nv)
- [x] #2488 Misleading error message: "Can not send value to non-payable contract method or constructor" (nv)
- [x] #2499 Not possible to call methods on existing contract (nv)
- [x] #2502 Wrong addresses when instancing two contract in contructor (nv)
- [x] #2508 Whisper and IPCProvider (1.0.0 beta 48) (nv)
- [x] #2532 Filter in options to filter contract events is no longer a valid parameter (nv)
- [x] #2539 Subscribe to pendingTransactions fails while using IPC Provider (nv)
- [x] #2553 Contract function send does not return the provider error. (nv)
- [x] #2587 Sending signed tx returns an error while tx was successfull (nv)
- [x] #2602 WebsocketProvider on React-Native url == null (nv)
- [x] #2607 Problem with decoding complex types returned from contract function (nv)
- [x] #2614 Error when when connection close while getting logs (nv)
- [x] #2670 ContractModuleFactory expects only three arguments, receives four. (nv)
- [x] #2689 Calling new Web3() without a provider breaks (nv)
- [x] #2711 WebsocketProvider event emitter problem (nv)
- [x] #2731 Improve error handling of subscriptions (nv)
- [x] #2733 Incorrect behavior for signTransaction function (nv)
- [x] #2815 Fix error on contract method proxy when method parameter is null. (nv)
- [x] #2851 Memory leak in 55 (nv)
- [x] #2862 Fix JSON-RPC response validation (nv)
- [x] #2950 convert salt to Buffer instance before encrypting (nv)
- [x] #2952 implement fallback from built-in scrypt to scryptsy/scrypt packages (nv)
- [x] #2955 Providers Improvements (nv)
- [x] #2993 Error handling fixed with callbacks for BatchRequests (nv)
- [x] #3007 clearSubscriptions method in AbstractSocketProvider fixed (nv)
- [x] #2369 web3.eth.getBlockTransactionCount do not return any response (nv)
- [x] #2385 Consider bumping the version of dependency scrypt.js from 0.2.0 to 0.3.0 (nv)
- [x] #2364 1.0.0-beta.46 subscribe events without callback throw exception: TypeError: callback is not a function (nv)
- [x] #2368 indexed parameters are shifted by one when decoding logs (nv)
- [x] #2285 payable is not assigned in the contructor (AbiItemModel) (nv)
- [x] #2289 web3.js 1.0.0-beta.41 batch.execute() : Error: Given input "function (err, res) {....}" is not a number. (nv)
- [x] #2342 Update ProviderResolver for the new EIP-1193 spec (nv)
- [x] #2329 Mistake a typing of EthereumProvider.send (nv)
- [x] #2243 1.0.0-beta.39 - External transaction signing with accounts.signTransaction does not work without default account (nv)
- [ ] #2424 Registry creation in ENS module throws an exception (nv)
- [x] #2290 web3-utils types not compatible with current @types/bn.js (nv)
- [x] #2260 Cannot find name 'Buffer'. Can't find module 'net'. (nv)
- [x] #2350 [types][web3-utils] Use bn.js directly for class BN instead of wrapper (nv)
- [x] #2374 [typescript] Account interface does not seems to be right (nv)
- [x] #2554 filter should be optional in EventOptions (nv)
- [x] #2583 web3.eth.subscribe("logs", ..) types issue (nv)
- [x] #2591 web3.eth.accounts.wallet typings and documentation (nv)
- [x] #2819 web3.eth.getBlock return Block type in typescript have misleading transaction property (nv)
- [x] #2230 TypeError: DeployTransactionResponse estimateGas() types incorrect (nv)
- [x] #2551 Rename DeployTransactionResponse (nv)
- [x] #2382 allowSyntheticDefaultImports is too opinionated (nv)
- [x] #2939 Fix TypeScript 'ContractOptions' interface (nv)
- [x] #2919 Fix Subscription Type (nv)
- [x] #2667 Correctly list dependencies in subpackages (nv)
- [x] #2484 ProviderResolver is not minification safe (nv)
- [x] #1021 insufficient funds for gas * price + value (see comment) (cg)
- [x] #2225 Cannot find module '@babel/.../CallCheck' (see comment) (cg)
- [x] #2256 invalid bytes32 value (see comment)(cg)
- [x] #2341 Send transaction don't parse "from" option (see comment)(cg)
- [x] #2396 Promise won't resolve on invalid RPC endpoint (could not repro on 1.x) (cg)
- [x] #2442 Docs for eth.signTransaction incorrect (see #2442 desc.)(cg)
- [x] #2449 Return array in methods.myMethod.call (see comment) (cg)
- [x] #2453 Return multiple values (see comment) (cg)
- [x] #2490 Web3 constructor docs are wrong ( see #2644) (cg)
- [x] #2527 Invalid bytes string given: (could not reproduce on 1.x) (cg)
- [x] #2221 beta.38 Cannot find module (see comment) (cg)
- [x] #2223 beta.38 TypeError: ... non-iterable instance (see comment) (cg)
- [x] #2311 beta.41 getPastEvents not working (see comment) (cg)
- [x] #2316 .getPastEvents doesn't support "allEvents" (see comment) (cg)
- [x] #2327 Websocket "too many arguments" err with beta.41 (see comment) (cg)
- [x] #2239 Wrong network ID and network type (see comment) (cg)
- [x] #2252 ETH Receipt errors in 1.0.0-beta.38 (see comment) (cg)
- [x] #2268 decodeLog() broken after updating to beta.41 (see comment) (cg)
- [x] #2266 Ganache providers invalidated by web3 (see comment) (cg)
- [x] #2287 Prop 'status' DNE on type 'TransactionReceipt'. (see comment) (cg)
- [x] #2296 beta.41 'getPastEvents' request timed out (see comment) (cg)
- [x] #2249 >= Beta.38: cannot find module '@babel/.../typeof' (see issue desc) (cg)
- [x] #2330 Subscription stopped working after 1.0.0-beta.37 (see issue desc) (cg)
- [x] #2340 MetaMask is Broken in beta.41 (works with beta.37) (see issue desc) (cg)
- [x] #2349 beta.43 when .send, metamask throws exception (see comment) (cg)
- [x] #2365 beta.46 send tx, when confirmed throw exception: (see comment) (cg)
- [x] #2411 methods.call() returns anonymousFunction()recursively (see comment) (cg)
- [x] #2441 Error: Transaction ran out of gas. Please provide more gas: (see code) (cg)
- [x] #2444 [beta.47] web3.eth.Contract can't parse ABI correctly (see comment) (cg)
- [x] #2447 beta.47 Error: invalid json request [1.0.0-] (see comment) (cg)
- [x] #2457 getPastLogs: wrong topics array after beta.37 (see issue desc) (cg)
- [x] #2465 web3.js does not work n vue production mode (see comment) (cg)
- [x] #2467 getPastEvents fails when called with 'allEvents' (see comment) (cg)
- [x] #2507 Shh newKeyPair first arg not optional (see comment) (cg)
- [x] #2533 npmjs package 1.0.0-beta.49 return 1.0.0-beta.48 (see issue desc) (cg)
- [x] #2555 The parameters that are sent to eth_sign is swapped (see comment) (cg)
- [x] #2558 this.getGasPrice is not a function; GasPriceMethod vs GetGasPriceMethod (cg)
- [x] #2569 Sending to infura and wallet account doesn't work (see comment) (cg)
- [x] #2570 Returning of BigNumber objects instead of strings (see #2570 thread) (cg)
- [x] #2571 Account.signTransaction(tx, callback) error (see comment) (cg)
- [x] #2601 No receipt after contract deploy (see comment) (cg)
- [x] #2611 myContract.events.MyEvent is broken in beta.49-51 (see comment) (cg)
- [x] #2647 web3.eth.accounts.wallet errors when using (see comment) (cg)
- [x] #2661 confirmation workflow over HTTP is wrong. (see comment) (cg)
- [x] #2854 Async validate on Web3EthereumProvider.send method (new provider arch.)(cg)
- [x] #2806 fix typo (2.0 docs)(cg)
- [x] #2833 'syncing' event subscription crash the code (see comment) (cg)
- [x] #2877 TypeError: miner.startMining is not a function (2.0 extension API) (cg)
- [x] #1793 The signTransaction method does not work correctly. (see comment) (cg)
- [x] #2989 stripHexPrefix fixed (?; 2.x related helper function (nv))
Most helpful comment
I wrote a quick script to format the raw lists provided by @alcuadrado and @joshstevens19 into a list of checkboxes with issue titles:
_(list moved to issue description)_
I also started a GH project here to triage/organize the effort.
Hope these help!