Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
7618aa8
feat(arbos60): add multi-gas constraints pricing model
AnkushinDaniil Mar 2, 2026
1d356e2
refactor(arbos60): improve multi-gas constraints code quality
AnkushinDaniil Mar 3, 2026
3d96279
fix(arbos60): return static cost for GasPoolUpdateCost in ArbOS 60+
AnkushinDaniil Mar 3, 2026
75c3934
perf(arbos60): optimize hot-path allocations and enable JIT devirtual…
AnkushinDaniil Mar 3, 2026
a1f265f
test(arbos60): add comprehensive coverage for multi-gas constraints
AnkushinDaniil Mar 3, 2026
1828c4c
refactor(arbos60): remove ShouldUseGasConstraints helper method
AnkushinDaniil Mar 3, 2026
fa87379
feat(arbos60): wire GrowBacklog for multi-gas constraints in UpdateGa…
AnkushinDaniil Mar 3, 2026
538d114
style: remove AAA comments from test files
AnkushinDaniil Mar 3, 2026
5010631
refactor(tests): address Copilot review feedback
AnkushinDaniil Mar 3, 2026
6057227
style(tests): fix test naming convention violations
AnkushinDaniil Mar 3, 2026
7cac3e7
fix(pr-review): address wurdum's PR 700 review comments
AnkushinDaniil Mar 4, 2026
a524679
Move divisor zero-check immediately before division in L2PricingState…
Copilot Mar 5, 2026
8743e0d
fix(submodule): update to latest master (3133ddbd2a)
AnkushinDaniil Mar 10, 2026
d506fdc
Fix MultiGas comparison by registering receipt decoder
AnkushinDaniil Mar 6, 2026
2db92af
fix(multigas): align MultiGas and EffectiveGasPrice with Nitro
AnkushinDaniil Mar 7, 2026
c730c4d
fix(comparison): call ResetInternalState in ArbitrumBlockTree.ResetFo…
AnkushinDaniil Mar 8, 2026
7658c67
fix(multigas): align precompile log gas and code deposit tracking wit…
AnkushinDaniil Mar 8, 2026
0ab1f93
fix(multigas): charge precompile output data as Computation
AnkushinDaniil Mar 8, 2026
c62bbea
feat(comparison): enable debug logging for Nitro comparison tests
AnkushinDaniil Mar 9, 2026
9844b82
fix: rename IResettableBlockTree to IArbitrumResettableBlockTree
AnkushinDaniil Mar 10, 2026
348fb0f
fix(tests): update test files for interface changes
AnkushinDaniil Mar 10, 2026
8956f63
Fix format: embedded statements on own line
AnkushinDaniil Mar 10, 2026
83778e4
fix: prioritize OutOfGas over Revert in precompile exception handling
AnkushinDaniil Mar 10, 2026
da317c2
fix: correct OOG handling for ArbOS >= 11 precompiles
AnkushinDaniil Mar 10, 2026
98fa946
refactor: code cleanup from PR review
AnkushinDaniil Mar 10, 2026
2928e85
fix: correct EffectiveGasPrice and MultiGas calculations for comparis…
AnkushinDaniil Mar 10, 2026
802daf1
fix: correct MultiGasUsed resource kind categorization
AnkushinDaniil Mar 10, 2026
208c6ad
fix: charge precompile argument data gas as L2Calldata
AnkushinDaniil Mar 10, 2026
a181d4d
fix: correct L2Calldata intrinsic gas calculation to match Nitro
AnkushinDaniil Mar 10, 2026
78e9f62
fix(multigas): correct resource kind for SELFDESTRUCT and misc burns
AnkushinDaniil Mar 11, 2026
1fc81a2
upd
AnkushinDaniil Mar 16, 2026
d24816b
fix: exclude L1Calldata from multigas backlog calculation
AnkushinDaniil Mar 17, 2026
bedb95c
feat: Add multi-gas refund support for normal transactions
AnkushinDaniil Mar 18, 2026
d769b8b
fix(multigas): preserve _allocatedByParent in precompile gas return
AnkushinDaniil Mar 18, 2026
8989c5a
fix(multigas): add ResourceKind to precompile burns and Free flag sup…
AnkushinDaniil Mar 18, 2026
c93f9fd
fix(multigas): call CommitMultiGasFees in block production executor
AnkushinDaniil Mar 19, 2026
db6beaf
feat(multigas): ABI tuple parsing, ArbOwner events, MultiGas.ToString
AnkushinDaniil Mar 19, 2026
9c0f785
fix(multigas): retry tx refund + pricing exponent cap
AnkushinDaniil Mar 19, 2026
7ea5f78
fix: skip CodeDb clearing in debug_reinitialize and add TrieStore cac…
AnkushinDaniil Mar 20, 2026
d150039
chore: remove debug loggers and temporary debug instrumentation
AnkushinDaniil Mar 20, 2026
3742c32
remove nitro comments
AnkushinDaniil Mar 20, 2026
54c7afd
fix: add ClearFree to ArbosStorage for gas-free slot deletion
AnkushinDaniil Mar 20, 2026
e76a8fa
style: remove unnecessary braces from single-statement blocks
AnkushinDaniil Mar 20, 2026
4147e80
fix(multigas): propagate ownership-check multigas for non-owner callers
AnkushinDaniil Mar 20, 2026
70e989e
refactor(test-isolation): decorator-based reset and consume-once patt…
AnkushinDaniil Mar 20, 2026
42526fd
feat(comparison): add test retry with flaky detection
AnkushinDaniil Mar 20, 2026
318ce36
fix(multigas): align test expectations with Nitro and add EnableTestR…
AnkushinDaniil Mar 22, 2026
1a035d6
revert: remove automatic rebuild detection from comparison runner
AnkushinDaniil Mar 22, 2026
fca4b0f
revert: remove cosmetic changes from multigas PR
AnkushinDaniil Mar 22, 2026
d854f7b
fix(genesis): guard MixHash override behind EnableTestReset
AnkushinDaniil Mar 22, 2026
5f6ac31
chore(genesis): add TODO for ArbOSInit feature flags parsing
AnkushinDaniil Mar 22, 2026
d51ec10
fix(comparison): fix CI lint and test failures
AnkushinDaniil Mar 22, 2026
3962515
Merge remote-tracking branch 'origin/main' into daniil/arbos60-multig…
AnkushinDaniil Mar 22, 2026
a870bd5
refactor: use nested CacheClearService for code cache clearing
AnkushinDaniil Mar 22, 2026
e148389
refactor: clean up multi-gas pricing code after review
AnkushinDaniil Mar 22, 2026
b6fa2b2
refactor: remove upstream implementation references from comments
AnkushinDaniil Mar 22, 2026
ba7cf17
refactor: inline GetArbitrumGasInfo into call site
AnkushinDaniil Mar 22, 2026
6bcf37a
refactor: remove chargeForWarm from ConsumeAccountAccessGas
AnkushinDaniil Mar 23, 2026
8426b3d
fix: address trivial review comments from PR #700
AnkushinDaniil Mar 25, 2026
f3d2be2
docs: clarify CommitMultiGasFees scope and BlockTree DI registration
AnkushinDaniil Mar 25, 2026
d48383a
refactor: remove _gasBurnt, unify gas tracking through MultiGas
AnkushinDaniil Mar 25, 2026
862cd0f
fix: remove default value and use explicit types per review
AnkushinDaniil Mar 25, 2026
da1ebcb
refactor: replace ReceiptForRpc converter with IJsonTypeInfoResolver
AnkushinDaniil Mar 25, 2026
d620511
merge: integrate main (external sequencer with timeboost #629)
AnkushinDaniil Mar 25, 2026
0ac0891
chore: rebase Nethermind submodule onto main's pointer
AnkushinDaniil Mar 25, 2026
3499c01
chore: update Nethermind submodule (simplify ConsumeAccountAccessGas)
AnkushinDaniil Mar 25, 2026
2a77ec0
fix: use block baseFee for receipt EffectiveGasPrice instead of per-t…
AnkushinDaniil Mar 25, 2026
661407e
fix: revert receipt serialization to JsonConverter for polymorphic su…
AnkushinDaniil Mar 26, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .comparison-build-state.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"nethermind": {
"hash": "28be53b964f9_d41d8cd9",
"timestamp": "2026-03-22 11:13:24"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -145,4 +145,47 @@ public void GetSetStorageBackedByBytes_Always_SetsAndGetsTheSameValue(byte offse
byte[] actual = backedStorage.Get();
actual.Should().BeEquivalentTo(value);
}

[Test]
public void ClearStorageBackedByUInt_Always_ClearsToZero()
{
using var disposable = TestArbosStorage.Create(out _, out ArbosStorage storage, TestAccount);
ArbosStorageBackedUInt backedStorage = new(storage, 10);

backedStorage.Set(12345);
backedStorage.Get().Should().Be(12345);

backedStorage.Clear();

backedStorage.Get().Should().Be(0);
}

[Test]
public void ClearStorageBackedByULong_Always_ClearsToZero()
{
using var disposable = TestArbosStorage.Create(out _, out ArbosStorage storage, TestAccount);
ArbosStorageBackedULong backedStorage = new(storage, 10);

backedStorage.Set(9876543210);
backedStorage.Get().Should().Be(9876543210);

backedStorage.Clear();

backedStorage.Get().Should().Be(0);
}

[Test]
public void ClearStorageBackedByUInt256_Always_ClearsToZero()
{
using var disposable = TestArbosStorage.Create(out _, out ArbosStorage storage, TestAccount);
ArbosStorageBackedUInt256 backedStorage = new(storage, 10);

UInt256 value = UInt256.Parse("123456789012345678901234567890");
backedStorage.Set(value);
backedStorage.Get().Should().Be(value);

backedStorage.Clear();

backedStorage.Get().Should().Be(UInt256.Zero);
}
}
Loading
Loading