With the removal of polling in a previous release, some methods within the package break. Below is a list of broken methods:
Methods affected by polling:
provider.waitForTransaction() - uses polling to wait for a transaction to be mined
Provider event emitter methods - relies on polling to listen for events to be emitted
provider.on(eventName, listener), provider.once(eventName, listener)`, and a few downstream functions related to the prior event listeners
LogFilters, Topic-Set Filters, and Transaction Filters used in the provider event listeners
Polling status methods - used to return the current polling status of the provider
provider.polling() and provider.pollingInterval
Contract Methods:
contract.deployed() utilizes the deployTransaction.wait() method that relies on polling
contract event listener methods (contract.on(event, listener), contract.once(event, listener), and a few downstream functions related to the prior event listeners)
contract.filters.EVENT_NAME() as it relies on polling to listen for emitted events
Quai does not yet have DNS functionality, so these methods return incorrect data
jsonRpcProvider and WebsocktProvider signer methods no longer function as go-quai does not manage accounts via CLI:
jsonRpcProvider.getSigner(), jsonRpcProvider.getUnchekedSigner(), and all of the inherited signer/uncheckedSigner methods inherited by the JsonRpcSigner and JsonRpcUncheckedSigner classes
Other considerations:
Contract utilities:
both ethers.utils.getContractAddress() and ethers.utils.getCreate2Address() may be affected by our contract address derivation via grinding. Probably best to ensure these function properly
Ethers Version
0.1.17
Search Terms
polling
Describe the Problem
With the removal of polling in a previous release, some methods within the package break. Below is a list of broken methods:
Methods affected by polling:
provider.waitForTransaction()
- uses polling to wait for a transaction to be minedprovider.on(eventName, listener)
, provider.once(eventName, listener)`, and a few downstream functions related to the prior event listenersprovider.polling()
andprovider.pollingInterval
contract.deployed()
utilizes thedeployTransaction.wait()
method that relies on pollingcontract.on(event, listener)
,contract.once(event, listener)
, and a few downstream functions related to the prior event listeners)contract.filters.EVENT_NAME()
as it relies on polling to listen for emitted eventsOther Broken Methods:
provider.getAvatar()
,provider.getResolver()
,provider.lookupAddress()
,provider.resolveName()
)resolver.name()
,resolver.address()
,resolve.getAddress()
,resolver.getAvatar()
,resolver.getContentHash()
,resolver.getText()
)signer.resolveName()
)contract.resolvedAddress()
)jsonRpcProvider.getSigner()
,jsonRpcProvider.getUnchekedSigner()
, and all of the inherited signer/uncheckedSigner methods inherited by the JsonRpcSigner and JsonRpcUncheckedSigner classesOther considerations:
ethers.utils.getContractAddress()
andethers.utils.getCreate2Address()
may be affected by our contract address derivation via grinding. Probably best to ensure these function properly