You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{"jsonrpc":"2.0","error":{"code":1,"message":"failed to estimate gas: ApplyWithGasOnState failed: call raw get actor: resolution lookup failed (t410fweca2phbggzsatssfheavdk24jy3f3yjxzll22i): resolve address t410fweca2phbggzsatssfheavdk24jy3f3yjxzll22i: actor not found"},"id":588633187}
This is an incompatibility with the same call on infura ethereum mainnet, which returns:
Integration partners call eth_estimateGas to estimate the gas of a given transaction. In some circumstances, a web app may estimate the gas of a transaction even if the account has no balance to pay for the transaction fee. Ethereum mainnet seems to ignore the from address' balance when calling eth_estimateGas . Subsequently, when the same user tries to submit the transaction with the same from address, the call fails with insufficient funds (or maybe in our case, actor not found).
In some cases, integrators have to patch filecoin specific functionality into their otherwise chain agnostic frontend
Tooling
Curl
Configuration Options
This is the public glif api, i'm not sure its exact config options
The text was updated successfully, but these errors were encountered:
I've been trying to revive fevm-contract-tests for more regular runs against the latest lotus master and I've been running into this problem there too. I have 8 failures on the uniswap test suite, and all but 1 are variations of this bug.
1) UniswapV3Factory
#setOwner
fails if caller is not owner:
AssertionError: Expected transaction to be reverted, but other exception was thrown: ProviderError: failed to estimate gas: ApplyWithGasOnState failed: call raw get actor: resolution lookup failed (f410foji4f3nrgqcrctymqwe5gmppms2nvy6iqkoyaty): resolve address f410foji4f3nrgqcrctymqwe5gmppms2nvy6iqkoyaty: actor not found
So I guess we've introduced some more strict checking at some point in the pipeline here.
the actor has funds, or has an actorid now, or ... something?
if we modify the from manually to be some unknown address and we get the same error, e.g. changing the 9 on the end to an 8, getting:
{"jsonrpc":"2.0","error":{"code":1,"message":"failed to estimate gas: ApplyWithGasOnState failed: call raw get actor: resolution lookup failed (t410fweca2phbggzsatssfheavdk24jy3f3yixfykv3a): resolve address t410fweca2phbggzsatssfheavdk24jy3f3yixfykv3a: actor not found"},"id":588633187}
does geth / infura / whoever, still process it without the valid from? I don't have an eth endpoint to test this.
I'm assuming that we inserted an actor check in there at some point that shouldn't be there, but I'm honestly not sure what the 'correct' behaviour is. @Schwartz10 ?
Checklist
Lotus component
Lotus Version
Repro Steps
Curl request to
eth_estimateGas
that fails with actor not found:returns:
This is an incompatibility with the same call on infura ethereum mainnet, which returns:
Describe the Bug
Integration partners call
eth_estimateGas
to estimate the gas of a given transaction. In some circumstances, a web app may estimate the gas of a transaction even if the account has no balance to pay for the transaction fee. Ethereum mainnet seems to ignore thefrom
address' balance when callingeth_estimateGas
. Subsequently, when the same user tries to submit the transaction with the samefrom
address, the call fails with insufficient funds (or maybe in our case, actor not found).In some cases, integrators have to patch filecoin specific functionality into their otherwise chain agnostic frontend
Tooling
Configuration Options
The text was updated successfully, but these errors were encountered: