From 7d03412ea3d32e06bfb48972c5ef96bb8801a2e6 Mon Sep 17 00:00:00 2001 From: Alex Date: Thu, 22 Jul 2021 10:40:06 -0400 Subject: [PATCH] Update docs 2 (#4188) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add nonce to send options. * add nonce to send options. * Update CHANGELOG.md * linting * updating docs * update web3-shh.rst : whisper-overview broken link (#4170) whisper overview has been moved from https://github.com/ethereum/go-ethereum/wiki/Whisper to https://eth.wiki/concepts/whisper/whisper-overview * [Docs] Fixed a broken link (#4151) Original link gives out a 404, replaced by the closest thing I could find. * Possible typo in docs (#4088) I think the author missed a "this" in the phrase * Typically you will have only one Web3 connection, use const (#3967) Co-authored-by: Gregory Markou <16929357+GregTheGreek@users.noreply.github.com> * Removing deprecation notice for HttpProvider (#4008) * Removing deprecation notice for HttpProvider From my view, it is just a provider with less capabilities than websockets, but still widely useful — and widely used as well. @frozeman @nivida @GregTheGreek any thoughts? * Update include_package-core.rst * Update CHANGELOG.md Co-authored-by: Gregory Markou <16929357+GregTheGreek@users.noreply.github.com> Co-authored-by: Alex * [Docs] Updated solidity example to modern syntax (#4147) * [Docs] Updated solidity example to modern syntax Replaced the old constructor function syntax with the modern one, added 'emit' to event calls, added pragma, added a valid bytes32 value and updated the JSON ABI. * [Docs] Fixed a broken link (#1) Original link gives out a 404, replaced by the proper guide. Co-authored-by: Juan Alonso * Revert "[Docs] Fixed a broken link (#1)" This reverts commit 0de1272d062ea20daf47d3a7e0b39789a74e1130. Co-authored-by: Juan Alonso * added EIP-2718 and EIP-1559 documentation * fixing typo * addressing feedback * changing possible types for maxPriorityFeePerGas * updating maxFeePerGas type * update changelog Co-authored-by: exx8 Co-authored-by: starwalker00 <68958932+starwalker00@users.noreply.github.com> Co-authored-by: mongolsteppe <75075420+mongolsteppe@users.noreply.github.com> Co-authored-by: João Monteiro Co-authored-by: William Entriken Co-authored-by: Gregory Markou <16929357+GregTheGreek@users.noreply.github.com> Co-authored-by: Ev Co-authored-by: Juan Alonso --- CHANGELOG.md | 8 +++ docs/callbacks-promises-events.rst | 2 +- docs/getting-started.rst | 2 +- docs/glossary.rst | 60 +++++++++++---------- docs/include_package-core.rst | 2 +- docs/web3-bzz.rst | 2 +- docs/web3-eth-contract.rst | 2 + docs/web3-eth.rst | 16 ++++-- docs/web3-shh.rst | 2 +- packages/web3-eth-contract/types/index.d.ts | 1 + 10 files changed, 59 insertions(+), 38 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e2fa526cbf0..49b3c436df3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -407,3 +407,11 @@ Released with 1.0.0-beta.37 code base. ### Added - London transaction support (#4155) + +### Changed + - Grammar fix (#4088) and updated Swarm (#4151)and Whisper doc links (#4170) + - Removed deprecation notice for HttpProvider (#4008) + - Nonce added to send options in documentation and types (#4052) + - Updated Solidity example to modern syntax (#4147) + - Changing web3 connection example from lets to const (#3967) + - Updated the documentation for the transaction object to include EIP-2718 and EIP-1559 options diff --git a/docs/callbacks-promises-events.rst b/docs/callbacks-promises-events.rst index 0f5f0f73b45..7d74f0e7698 100644 --- a/docs/callbacks-promises-events.rst +++ b/docs/callbacks-promises-events.rst @@ -9,7 +9,7 @@ To help web3 integrate into all kinds of projects with different standards we pr Most web3.js objects allow a callback as the last parameter, as well as returning promises to chain functions. Ethereum as a blockchain has different levels of finality and therefore needs to return multiple "stages" of an action. -To cope with requirement we return a "promiEvent" for functions like ``web3.eth.sendTransaction`` or contract methods. +To cope with this requirement we return a "promiEvent" for functions like ``web3.eth.sendTransaction`` or contract methods. This "promiEvent" is a promise combined with an event emitter to allow acting on different stages of action on the blockchain, like a transaction. PromiEvents work like a normal promises with added ``on``, ``once`` and ``off`` functions. diff --git a/docs/getting-started.rst b/docs/getting-started.rst index 303b22857cd..72b0fd91ae2 100644 --- a/docs/getting-started.rst +++ b/docs/getting-started.rst @@ -37,6 +37,6 @@ If this property is ``null`` you should connect to a remote/local node. // In Node.js use: const Web3 = require('web3'); - let web3 = new Web3(Web3.givenProvider || "ws://localhost:8545"); + const web3 = new Web3(Web3.givenProvider || "ws://localhost:8545"); That's it! now you can use the ``web3`` object. diff --git a/docs/glossary.rst b/docs/glossary.rst index d3b1967b934..7aad6f63d5a 100644 --- a/docs/glossary.rst +++ b/docs/glossary.rst @@ -51,47 +51,51 @@ Example .. code-block:: javascript + pragma solidity ^0.8.4; contract Test { uint a; - address d = 0x12345678901234567890123456789012; + address d = 0xdCad3a6d3569DF655070DEd06cb7A1b2Ccd1D3AF; - function Test(uint testInt) { a = testInt;} + constructor(uint testInt) { a = testInt;} event Event(uint indexed b, bytes32 c); event Event2(uint indexed b, bytes32 c); - function foo(uint b, bytes32 c) returns(address) { - Event(b, c); + function foo(uint b, bytes32 c) public returns(address) { + emit Event(b, c); return d; } } + // would result in the JSON: - [{ - "type":"constructor", - "payable":false, - "stateMutability":"nonpayable" - "inputs":[{"name":"testInt","type":"uint256"}], - },{ - "type":"function", - "name":"foo", - "constant":false, - "payable":false, - "stateMutability":"nonpayable", - "inputs":[{"name":"b","type":"uint256"}, {"name":"c","type":"bytes32"}], - "outputs":[{"name":"","type":"address"}] - },{ - "type":"event", - "name":"Event", - "inputs":[{"indexed":true,"name":"b","type":"uint256"}, {"indexed":false,"name":"c","type":"bytes32"}], - "anonymous":false - },{ - "type":"event", - "name":"Event2", - "inputs":[{"indexed":true,"name":"b","type":"uint256"},{"indexed":false,"name":"c","type":"bytes32"}], - "anonymous":false - }] + [ + { + "type": "constructor" + "stateMutability": "nonpayable", + "inputs": [{"internalType":"uint256","name":"testInt","type":"uint256"}], + }, + { + "type": "event" + "name": "Event", + "inputs": [{"indexed":true,"internalType":"uint256","name":"b","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"c","type":"bytes32"}], + "anonymous": false, + }, + { + "type": "event" + "name": "Event2", + "inputs": [{"indexed":true,"internalType":"uint256","name":"b","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"c","type":"bytes32"}], + "anonymous": false, + }, + { + "type": "function" + "name": "foo", + "stateMutability": "nonpayable", + "inputs": [{"internalType":"uint256","name":"b","type":"uint256"},{"internalType":"bytes32","name":"c","type":"bytes32"}], + "outputs": [{"internalType":"address","name":"","type":"address"}], + } + ] ------------------------------------------------------------------------------ diff --git a/docs/include_package-core.rst b/docs/include_package-core.rst index 6d7225ca653..72a0659ded2 100644 --- a/docs/include_package-core.rst +++ b/docs/include_package-core.rst @@ -84,7 +84,7 @@ Value ``Object`` with the following providers: - - ``Object`` - ``HttpProvider``: The HTTP provider is **deprecated**, as it won't work for subscriptions. + - ``Object`` - ``HttpProvider``: HTTP provider, does not support subscriptions. - ``Object`` - ``WebsocketProvider``: The Websocket provider is the standard for usage in legacy browsers. - ``Object`` - ``IpcProvider``: The IPC provider is used node.js dapps when running a local node. Gives the most secure connection. diff --git a/docs/web3-bzz.rst b/docs/web3-bzz.rst index fdefefeb07f..9d3300168b0 100644 --- a/docs/web3-bzz.rst +++ b/docs/web3-bzz.rst @@ -8,7 +8,7 @@ web3.bzz The ``web3-bzz`` package allows you to interact with swarm, the decentralized file store. -For more see the `Swarm Docs `_. +For more see the `Swarm Docs `_. .. code-block:: javascript diff --git a/docs/web3-eth-contract.rst b/docs/web3-eth-contract.rst index a15a9b1025b..ebf176ac9bc 100644 --- a/docs/web3-eth-contract.rst +++ b/docs/web3-eth-contract.rst @@ -837,6 +837,8 @@ Parameters * ``gasPrice`` - ``String`` (optional): The gas price in wei to use for this transaction. * ``gas`` - ``Number`` (optional): The maximum gas provided for this transaction (gas limit). * ``value`` - ``Number|String|BN|BigNumber``(optional): The value transferred for the transaction in wei. + * ``nonce`` - ``Number`` (optional): the nonce number of transaction + 2. ``callback`` - ``Function`` (optional): This callback will be fired first with the "transactionHash", or with an error object as the first argument. ------- diff --git a/docs/web3-eth.rst b/docs/web3-eth.rst index ef2a15a15a8..107b172e721 100644 --- a/docs/web3-eth.rst +++ b/docs/web3-eth.rst @@ -236,8 +236,10 @@ The default hardfork property can be one of the following: - ``"constantinople"`` - ``String`` - ``"petersburg"`` - ``String`` - ``"istanbul"`` - ``String`` +- ``"berlin"`` - ``String`` +- ``"london"`` - ``String`` -Default is ``"petersburg"`` +Default is ``"london"`` ------- @@ -247,7 +249,7 @@ Example .. code-block:: javascript web3.eth.defaultHardfork; - > "petersburg" + > "london" // set the default block web3.eth.defaultHardfork = 'istanbul'; @@ -318,7 +320,7 @@ The default common property does contain the following ``Common`` object: - ``networkId`` - ``number``: Network ID of the custom chain - ``chainId`` - ``number``: Chain ID of the custom chain - ``baseChain`` - ``string``: (optional) ``mainnet``, ``goerli``, ``kovan``, ``rinkeby``, or ``ropsten`` -- ``hardfork`` - ``string``: (optional) ``chainstart``, ``homestead``, ``dao``, ``tangerineWhistle``, ``spuriousDragon``, ``byzantium``, ``constantinople``, ``petersburg``, or ``istanbul`` +- ``hardfork`` - ``string``: (optional) ``chainstart``, ``homestead``, ``dao``, ``tangerineWhistle``, ``spuriousDragon``, ``byzantium``, ``constantinople``, ``petersburg``, ``istanbul``, ``berlin``, or ``london`` Default is ``undefined``. @@ -1419,17 +1421,21 @@ Parameters - ``value`` - ``Number|String|BN|BigNumber``: (optional) The value transferred for the transaction in :ref:`wei `, also the endowment if it's a contract-creation transaction. - ``gas`` - ``Number``: (optional, default: To-Be-Determined) The amount of gas to use for the transaction (unused gas is refunded). - ``gasPrice`` - ``Number|String|BN|BigNumber``: (optional) The price of gas for this transaction in :ref:`wei `, defaults to :ref:`web3.eth.gasPrice `. + - ``type`` - ``Number|String|BN|BigNumber``: (optional) A positive unsigned 8-bit number between 0 and 0x7f that represents the type of the transaction. + - ``maxFeePerGas`` - ``Number|String|BN``: (optional, defaulted to ``(2 * block.baseFeePerGas) + maxPriorityFeePerGas``) The maximum fee per gas that the transaction is willing to pay in total + - ``maxPriorityFeePerGas`` - ``Number|String|BN`` (optional, defaulted to ``1 Gwei``) The maximum fee per gas to give miners to incentivize them to include the transaction (Priority fee) + - ``accessList`` - ``List of hexstrings`` (optional) a list of addresses and storage keys that the transaction plans to access - ``data`` - ``String``: (optional) Either a `ABI byte string `_ containing the data of the function call on a contract, or in the case of a contract-creation transaction the initialisation code. - ``nonce`` - ``Number``: (optional) Integer of the nonce. This allows to overwrite your own pending transactions that use the same nonce. - ``chain`` - ``String``: (optional) Defaults to ``mainnet``. - - ``hardfork`` - ``String``: (optional) Defaults to ``petersburg``. + - ``hardfork`` - ``String``: (optional) Defaults to ``london``. - ``common`` - ``Object``: (optional) The common object - ``customChain`` - ``Object``: The custom chain properties - ``name`` - ``string``: (optional) The name of the chain - ``networkId`` - ``number``: Network ID of the custom chain - ``chainId`` - ``number``: Chain ID of the custom chain - ``baseChain`` - ``string``: (optional) ``mainnet``, ``goerli``, ``kovan``, ``rinkeby``, or ``ropsten`` - - ``hardfork`` - ``string``: (optional) ``chainstart``, ``homestead``, ``dao``, ``tangerineWhistle``, ``spuriousDragon``, ``byzantium``, ``constantinople``, ``petersburg``, or ``istanbul`` + - ``hardfork`` - ``string``: (optional) ``chainstart``, ``homestead``, ``dao``, ``tangerineWhistle``, ``spuriousDragon``, ``byzantium``, ``constantinople``, ``petersburg``, ``istanbul``, ``berlin``, or ``london`` 2. ``callback`` - ``Function``: (optional) Optional callback, returns an error object as first parameter and the result as second. diff --git a/docs/web3-shh.rst b/docs/web3-shh.rst index bb74e34e511..859bf1d070d 100644 --- a/docs/web3-shh.rst +++ b/docs/web3-shh.rst @@ -5,7 +5,7 @@ web3.shh ======== -The ``web3-shh`` package allows you to interact with the whisper protocol for broadcasting. For more see `Whisper Overview `_. +The ``web3-shh`` package allows you to interact with the whisper protocol for broadcasting. For more see `Whisper Overview `_. .. code-block:: javascript diff --git a/packages/web3-eth-contract/types/index.d.ts b/packages/web3-eth-contract/types/index.d.ts index 3b8485e7ce9..d7c09fc522f 100644 --- a/packages/web3-eth-contract/types/index.d.ts +++ b/packages/web3-eth-contract/types/index.d.ts @@ -125,6 +125,7 @@ export interface SendOptions { gasPrice?: string; gas?: number; value?: number | string | BN; + nonce?: number; } export interface EstimateGasOptions {