rollmint icon indicating copy to clipboard operation
rollmint copied to clipboard

Restarting chain rejects all tx when using lazy_aggregator option (w/ Polaris)

Open mycodecrafting opened this issue 1 year ago • 4 comments

Version of Git SHA

v0.50.1-rollkit-v0.11.9-no-fraud-proofs

System OS

MacOS

Installed tools

No response

Others

No response

Steps to reproduce it

  • Run a local-celestia-devnet, e.g.:
docker run -t -i --platform linux/amd64 -p 26657:26657 -p 26658:26658 -p 26659:26659 ghcr.io/rollkit/local-celestia-devnet:v0.12.1
  • clone Polaris
  • checkout rollkit-main or rollkit-stable
  • apply changes in this gist
  • to the polard start command in the last line of entrypoint.sh, add the --rollkit.lazy_aggregator flag
  • run chain with make start
  • execute any transaction, .e.g:
cast send 0x45BE33bFD6fC8D4448B7FA603Db753A5f69a29f3 --value 1ether --rpc-url $RPC_URL --private-key $PRIVATE_KEY
  • halt the chain
  • restart the chain with make start
  • answer "n" to overwriting the chain config to restart it (observe chain continues from previous height)
  • execute any transaction, will result in error:
code: -32000, message: exceeds block gas limit

Expected result

it executes the transaction

Actual result

Error:
(code: -32000, message: exceeds block gas limit, data: None)

Relevant log output

No response

Notes

No response

mycodecrafting avatar Jan 09 '24 15:01 mycodecrafting

@mycodecrafting unable to reproduce this on: https://github.com/rollkit/local-celestia-devnet/releases/tag/v0.12.7 and https://github.com/rollkit/rollkit/releases/tag/v0.11.19 https://github.com/berachain/polaris/tree/rollkit-main is current using rollkit v0.11.19. could you please retry with those version and let me know if the problem still exists and exact steps to reproduce using these latest versions? thanks.

gupadhyaya avatar Feb 15 '24 16:02 gupadhyaya

ok, i am able to reproduce this on the latest polaris branch w/ rollkit. investigating further.

gupadhyaya avatar Mar 06 '24 13:03 gupadhyaya

Compatibility with lazy mode and Polaris requires upstream changes. Blocked on v2 polaris.

MSevey avatar Mar 08 '24 16:03 MSevey

The issue is reproducible when making an eth transaction in lazy mode. Not reproducible in non-lazy mode or cosmos txs. Looking like the check requires latest cosmos header to be available to compare the head’s gas with eth tx gas. Since in lazy mode we don’t produce blocks, head gas is 0, hence the error. Looking to see what needs to change in polaris to accommodate lazy mode.

@mycodecrafting

gupadhyaya avatar Mar 08 '24 16:03 gupadhyaya

After

  • updating to the to latest version of rollkit/cosmossdk (v0.50.7-rollkit-v0.13.6-no-fraud-proofs)
  • updating rollkiit/rollkit to the latest version (v0.13.6)
  • setting --rollkit.block_time 1s (default) and --rollkit.da_block_time 1s and --rollkit.lazy_aggregator
  • switching DA to local-da by setting --rollkit.da_address=http://localhost:7980

Following reproduction steps except that

  • on polaris rollkit branch
  • without applying changes in the provided gist)

I don't see an issue with

code: -32000, message: exceeds block gas limit

Transactions are getting into the block being executed and falls to DA in rollkit lazy aggragation mode.

yarikbratashchuk avatar Jul 30 '24 11:07 yarikbratashchuk

Closing this issue since Rollkit now has support for Omni Octane and BeaconKit EVMs. Please reopen if Polaris becomes relevant again.

Manav-Aggarwal avatar Jul 30 '24 13:07 Manav-Aggarwal