Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

catching promise - legacy provider error #7022

Merged
merged 13 commits into from May 14, 2024
Merged

catching promise - legacy provider error #7022

merged 13 commits into from May 14, 2024

Conversation

luu-alex
Copy link
Contributor

@luu-alex luu-alex commented Apr 30, 2024

Description

Please include a summary of the changes and be sure to follow our Contribution Guidelines.

Type of change

#7035

Wallets such as phantom is erroring out when rejecting to sign/send a transaction when testing with web3modal in laboratory
This is due to phantom being considered as a legacy provider to web3 and throws when trying to process jsonrpcresponses.

// needs to be wrapped because when phantom wallet throws an erorr, no rpc code is given, so we need to catch it 
const processedError = this._processJsonRpcResponse(
						payload,
						error as JsonRpcResponse<ResponseType, unknown>,
						{ legacy: true, error: true }
					);

This PR catches the error and doesnt crash the app when the user rejects signing a transaction

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

  • I have selected the correct base branch.
  • I have performed a self-review of my own code.
  • I have commented my code, particularly in hard-to-understand areas.
  • I have made corresponding changes to the documentation.
  • My changes generate no new warnings.
  • Any dependent changes have been merged and published in downstream modules.
  • I ran npm run lint with success and extended the tests and types if necessary.
  • I ran npm run test:unit with success.
  • I ran npm run test:coverage and my test cases cover all the lines and branches of the added code.
  • I ran npm run build and tested dist/web3.min.js in a browser.
  • I have tested my code on the live network.
  • I have checked the Deploy Preview and it looks correct.
  • I have updated the CHANGELOG.md file in the root folder.
  • I have linked Issue(s) with this PR in "Linked Issues" menu.

Copy link

github-actions bot commented Apr 30, 2024

Bundle Stats

Hey there, this message comes from a GitHub action that helps you and reviewers to understand how these changes affect the size of this project's bundle.

As this PR is updated, I'll keep you updated on how the bundle size is impacted.

Total

Files count Total bundle size % Changed
10 624.29 kB → 624.38 kB (+94 B) +0.01%
Changeset
File Δ Size
../web3-core/lib/commonjs/web3_request_manager.js 📈 +637 B (+3.91%) 15.92 kB → 16.54 kB
View detailed bundle breakdown

Added

No assets were added

Removed

No assets were removed

Bigger

Asset File Size % Changed
web3.min.js 604.99 kB → 605.08 kB (+94 B) +0.02%

Smaller

No assets were smaller

Unchanged

Asset File Size % Changed
../lib/commonjs/index.d.ts 8.69 kB 0%
../lib/commonjs/accounts.d.ts 3.89 kB 0%
../lib/commonjs/types.d.ts 2.67 kB 0%
../lib/commonjs/web3.d.ts 1.35 kB 0%
../lib/commonjs/web3_eip6963.d.ts 1.2 kB 0%
../lib/commonjs/abi.d.ts 999 B 0%
../lib/commonjs/eth.exports.d.ts 280 B 0%
../lib/commonjs/providers.exports.d.ts 183 B 0%
../lib/commonjs/version.d.ts 60 B 0%

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark

Benchmark suite Current: fa2461c Previous: f216540 Ratio
processingTx 9136 ops/sec (±4.35%) 8831 ops/sec (±4.37%) 0.97
processingContractDeploy 40512 ops/sec (±6.41%) 38915 ops/sec (±7.67%) 0.96
processingContractMethodSend 19231 ops/sec (±7.69%) 18648 ops/sec (±7.13%) 0.97
processingContractMethodCall 39645 ops/sec (±6.28%) 37036 ops/sec (±6.22%) 0.93
abiEncode 45506 ops/sec (±6.84%) 42619 ops/sec (±6.84%) 0.94
abiDecode 30635 ops/sec (±7.69%) 29814 ops/sec (±6.52%) 0.97
sign 1612 ops/sec (±3.86%) 1551 ops/sec (±1.05%) 0.96
verify 376 ops/sec (±0.56%) 366 ops/sec (±0.52%) 0.97

This comment was automatically generated by workflow using github-action-benchmark.

@luu-alex luu-alex changed the title adding data check for revert util method RPC Error: err: insufficient funds for gas * price + value Apr 30, 2024
Copy link

codecov bot commented May 8, 2024

Codecov Report

Attention: Patch coverage is 85.71429% with 1 lines in your changes are missing coverage. Please review.

Project coverage is 91.96%. Comparing base (f216540) to head (ab3d5df).

❗ Current head ab3d5df differs from pull request most recent head fa2461c. Consider uploading reports for the commit fa2461c to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##              4.x    #7022      +/-   ##
==========================================
- Coverage   91.97%   91.96%   -0.01%     
==========================================
  Files         215      215              
  Lines        8287     8291       +4     
  Branches     2277     2277              
==========================================
+ Hits         7622     7625       +3     
- Misses        665      666       +1     
Flag Coverage Δ
UnitTests 91.96% <85.71%> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Components Coverage Δ
web3 ∅ <ø> (∅)
web3-core ∅ <ø> (∅)
web3-errors ∅ <ø> (∅)
web3-eth ∅ <ø> (∅)
web3-eth-abi ∅ <ø> (∅)
web3-eth-accounts ∅ <ø> (∅)
web3-eth-contract ∅ <ø> (∅)
web3-eth-ens ∅ <ø> (∅)
web3-eth-iban ∅ <ø> (∅)
web3-eth-personal ∅ <ø> (∅)
web3-net ∅ <ø> (∅)
web3-providers-http ∅ <ø> (∅)
web3-providers-ipc ∅ <ø> (∅)
web3-providers-ws ∅ <ø> (∅)
web3-rpc-methods ∅ <ø> (∅)
web3-utils ∅ <ø> (∅)
web3-validator ∅ <ø> (∅)

@luu-alex luu-alex changed the title RPC Error: err: insufficient funds for gas * price + value catching promise - legacy provider error May 9, 2024
@luu-alex luu-alex marked this pull request as ready for review May 9, 2024 01:12
packages/web3-eth/src/rpc_method_wrappers.ts Outdated Show resolved Hide resolved
packages/web3-core/src/web3_request_manager.ts Outdated Show resolved Hide resolved
packages/web3-core/src/web3_request_manager.ts Outdated Show resolved Hide resolved
packages/web3-core/test/unit/web3_request_manager.test.ts Outdated Show resolved Hide resolved
error as JsonRpcResponse<ResponseType, unknown>,
{ legacy: true, error: true }
);
reject(processedError);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

According to codevov, this line is not checked at unit testing.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

covered

@luu-alex
Copy link
Contributor Author

luu-alex commented May 9, 2024

unrelated to PR but formatted send_transaction.test.ts

@luu-alex luu-alex merged commit 866469d into 4.x May 14, 2024
16 of 18 checks passed
@luu-alex luu-alex deleted the add-check-revert branch May 14, 2024 11:32
@luu-alex luu-alex mentioned this pull request May 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants