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

Add types for user input in send/call #5960

Merged
merged 39 commits into from
Apr 25, 2023

Conversation

nikoulai
Copy link
Contributor

@nikoulai nikoulai commented Mar 27, 2023

Description

closes #5945

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

Type of change

  • 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 for 1.x:

  • 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 dtslint with success and extended the tests and types if necessary.
  • I ran npm run test:cov and my test cases cover all the lines and branches of the added code.
  • I ran npm run build with success.
  • I have tested the built 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.

Checklist for 4.x:

  • I have selected the correct 4.x base branch.
  • Within the description, the feature or issue is discussed in detail or an issue is linked.
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas.
  • I have added any required tests for the changes I made
  • I have made corresponding changes to the documentation
  • Any dependent changes have been merged and published in downstream modules.
  • I ran yarn successfully
  • I ran yarn lint successfully
  • I ran yarn build:web successfully
  • I ran yarn test:unit successfully
  • I ran yarn test:integration successfully
  • I ran compile:contracts successfully
  • I have tested my code.
  • I have updated the corresponding CHANGELOG.md file in the packages I have edited.

@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Mar 27, 2023

Deploying with  Cloudflare Pages  Cloudflare Pages

Latest commit: f6e0fa0
Status: ✅  Deploy successful!
Preview URL: https://ae3c8372.web3-js-docs.pages.dev
Branch Preview URL: https://nikos-5945-inocrrect-type-fo.web3-js-docs.pages.dev

View logs

@github-actions
Copy link

github-actions bot commented Mar 27, 2023

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

Asset Old size New size Diff Diff %
Total 722 KB 722 KB -24 bytes -0.00%
View detailed bundle breakdown

Added

No assets were added

Removed

No assets were removed

Bigger

No assets were bigger

Smaller

No assets were smaller

Unchanged

Asset Old size New size Diff Diff %
web3.min.js 705 KB 705 KB -24 bytes -0.00%
../lib/commonjs/index.d.ts 8.43 KB 8.43 KB 0 0.00%
../lib/commonjs/accounts.d.ts 3.66 KB 3.66 KB 0 0.00%
../lib/commonjs/types.d.ts 2.4 KB 2.4 KB 0 0.00%
../lib/commonjs/abi.d.ts 1000 bytes 1000 bytes 0 0.00%
../lib/commonjs/web3.d.ts 808 bytes 808 bytes 0 0.00%
../lib/commonjs/eth.exports.d.ts 280 bytes 280 bytes 0 0.00%
../lib/commonjs/providers.exports.d.ts 148 bytes 148 bytes 0 0.00%
../lib/commonjs/version.d.ts 60 bytes 60 bytes 0 0.00%

@codecov
Copy link

codecov bot commented Mar 27, 2023

Codecov Report

Merging #5960 (f6e0fa0) into 4.x (547f725) will increase coverage by 0.00%.
The diff coverage is n/a.

Additional details and impacted files
@@           Coverage Diff           @@
##              4.x    #5960   +/-   ##
=======================================
  Coverage   85.84%   85.85%           
=======================================
  Files         156      156           
  Lines        7427     7425    -2     
  Branches     2018     2018           
=======================================
- Hits         6376     6375    -1     
+ Misses       1051     1050    -1     
Flag Coverage Δ
UnitTests 85.85% <ø> (+<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 ∅ <ø> (∅)

Copy link
Contributor

@spacesailor24 spacesailor24 left a comment

Choose a reason for hiding this comment

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

I don't think InputNonPayableCallOptions and InputNonPayableTxOptions are needed. I think the existing types NonPayableCallOptions and NonPayableTxOptions need to have the aforementioned properties removed

1.x's Contract.methods.method.call allowed for the options:

image

Contract.methods.method.send allowed for:

image

estimateGas:

image

createAccessList:

image

And deploy:

image

I don't think the types NonPayableCallOptions and NonPayableTxOptions can be used for all these calls. I think we should update the types for each of these methods to match 1.x with the addition of the fields: maxPriorityFeePerGas, maxFeePerGas, and type

@nikoulai nikoulai marked this pull request as draft March 31, 2023 07:42
@@ -78,7 +78,7 @@ try {
const contract = new web3.eth.Contract(ContractAbi);
const contractDeployed = await contract
.deploy({
input: ContractBytecode,
data: ContractBytecode,
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
data: ContractBytecode,
input: ContractBytecode,

Since input is the correct term

Copy link
Contributor

@Muhammad-Altabba Muhammad-Altabba left a comment

Choose a reason for hiding this comment

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

Could we have a test that verifies that the initially reported issue is fixed?
Thanks,

@nikoulai nikoulai merged commit 5153961 into 4.x Apr 25, 2023
@nikoulai nikoulai deleted the nikos/5945/inocrrect-type-for-options branch April 25, 2023 07:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
4.x 4.0 related
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants