Skip to content

[giga] honor configured sstore gas values#2753

Merged
stevenlanders merged 26 commits intomainfrom
steven/sstore-giga
Jan 26, 2026
Merged

[giga] honor configured sstore gas values#2753
stevenlanders merged 26 commits intomainfrom
steven/sstore-giga

Conversation

@stevenlanders
Copy link
Contributor

Describe your changes and provide context

  • sstore should cost the same on non-giga as giga
  • we recently made this a chain param, so it needs to be the same

Testing performed to validate your change

  • new unit tests
  • existing integration tests

@github-actions
Copy link

github-actions bot commented Jan 23, 2026

The latest Buf updates on your PR. Results from workflow Buf / buf (pull_request).

BuildFormatLintBreakingUpdated (UTC)
✅ passed✅ passed✅ passed✅ passedJan 26, 2026, 5:38 PM

@codecov
Copy link

codecov bot commented Jan 23, 2026

Codecov Report

❌ Patch coverage is 79.31034% with 6 lines in your changes missing coverage. Please review.
✅ Project coverage is 57.02%. Comparing base (77cc04e) to head (35bea23).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
giga/executor/internal/interpreter.go 33.33% 3 Missing and 1 partial ⚠️
giga/executor/internal/host_context.go 90.47% 1 Missing and 1 partial ⚠️
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #2753      +/-   ##
==========================================
+ Coverage   57.00%   57.02%   +0.01%     
==========================================
  Files        2004     2004              
  Lines      164603   164629      +26     
==========================================
+ Hits        93838    93884      +46     
+ Misses      62560    62541      -19     
+ Partials     8205     8204       -1     
Flag Coverage Δ
sei-chain 41.79% <79.31%> (+<0.01%) ⬆️
sei-cosmos 48.03% <ø> (ø)
sei-db 68.72% <ø> (ø)
sei-tendermint 58.99% <ø> (+0.05%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
giga/executor/executor.go 57.89% <100.00%> (+2.33%) ⬆️
giga/executor/internal/host_context.go 33.01% <90.47%> (+5.55%) ⬆️
giga/executor/internal/interpreter.go 52.08% <33.33%> (-2.68%) ⬇️

... and 16 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

if chainConfig.SeiSstoreSetGasEIP2200 != nil {
seiSstoreGas = *chainConfig.SeiSstoreSetGasEIP2200
}
hostContext := internal.NewHostContext(evmoneVM, evm, seiSstoreGas)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rather than passing the SSTORE into HostContext which requires to change the constructor, would it be easier to just add a function within HostContext to get the SStoreGas from chainConfig.SeiSstoreSetGasEIP2200 directly?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I gave it some thought - i'm thinking there will likely be other things like this, so i adjusted the constructor to accept a HostContextConfig which will pre-render a gas sstore delta, avoid the pointer dereferences for SeiSstoreSetGasEIP2200 per tx sstore.

Base automatically changed from steven/add-giga-integration-test to main January 26, 2026 02:51
@stevenlanders stevenlanders enabled auto-merge (squash) January 26, 2026 15:34
@stevenlanders stevenlanders merged commit 2835dbd into main Jan 26, 2026
39 of 40 checks passed
@stevenlanders stevenlanders deleted the steven/sstore-giga branch January 26, 2026 18:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants