66 lines
2.6 KiB
Plaintext
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 compatibile 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.
|