ethers.js/docs.wrm/api/experimental.wrm
2020-10-03 13:30:15 -03:00

66 lines
2.6 KiB
Plaintext

_section: Experimental
The **Experimental** package is used for features that are not ready
to be included in the base library. The API should not be considered
stable and does not follow [[link-semver]] versioning, so applications
requiring it should specify the //exact version// needed.
_subsection: BrainWallet @<experimental-brainwallet> @INHERIT<[[Wallet]]>
Ethers removed support for BrainWallets in v4, since they are unsafe and
many can be easily guessed, allowing attackers to steal the funds. This
class is offered to ensure older systems which used brain wallets can
still recover their funds and assets.
_property: BrainWallet.generate(username, password [ , progressCallback ]) => [[experimental-brainwallet]]
Generates a brain wallet, with a slightly improved experience, in which
the generated wallet has a mnemonic.
_property: BrainWallet.generateLegacy(username, password [ , progressCallback ]) => [[experimental-brainwallet]]
Generate a brain wallet which is compatible with the ethers v3 and earlier.
_subsection: EIP1193Bridge @<experimental-eip1193bridge> @INHERIT<[[link-npm-events]]>
The **EIP1193Bridge** allows a normal Ethers [[Signer]] and [[Provider]] to be
exposed in as a standard [EIP-1193 Provider](link-eip-1193), which may be useful
when interacting with other libraries.
_subsection: NonceManager @<experimental-noncemanager> @INHERIT<[[Signer]]>
The **NonceManager** is designed to manage the nonce for a Signer,
automatically increasing it as it sends transactions.
Currently the NonceManager does not handle re-broadcast. If you attempt
to send a lot of transactions to the network on a node that does not
control that account, the transaction pool may drop your transactions.
In the future, it'd be nice if the **NonceManager** remembered transactions
and watched for them on the network, rebroadcasting transactions that
appear to have been dropped.
Another future feature will be some sort of failure mode. For example, often
a transaction is dependent on another transaction being mined first.
_property: new NonceManager(signer)
Create a new NonceManager.
_property: nonceManager.signer => [[Signer]]
The signer whose nonce is being managed.
_property: nonceManager.provider => [[Provider]]
The provider associated with the signer.
_property: nonceManager.setTransactionCount(count) => void
Set the current transaction count (nonce) for the signer.
This may be useful it interacting with the signer outside of using
this class.
_property: nonceManager.increaseTransactionCount( [ count = 1 ]) => void
Bump the current transaction count (nonce) by //count//.
This may be useful it interacting with the signer outside of using
this class.