Skip to content
Merged
Show file tree
Hide file tree
Changes from 13 commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
01053b3
first pass
JonathanOppenheimer Aug 7, 2025
f3fd073
reapply wait changes
JonathanOppenheimer Aug 7, 2025
d04a7fc
add test back
JonathanOppenheimer Aug 7, 2025
239a3b5
attempt 2
JonathanOppenheimer Aug 8, 2025
52e4d26
sync part 3!
JonathanOppenheimer Aug 8, 2025
34e3c48
sync part 4
JonathanOppenheimer Aug 8, 2025
ae531aa
oops broke the clock
JonathanOppenheimer Aug 8, 2025
38ecb7e
Merge branch 'master' into sync-pr-963-atomic-sync-package
JonathanOppenheimer Aug 11, 2025
08bf133
Merge branch 'master' into sync-pr-963-atomic-sync-package
JonathanOppenheimer Aug 11, 2025
a759870
Merge branch 'master' into sync-pr-963-atomic-sync-package
JonathanOppenheimer Aug 19, 2025
912b506
Merge remote-tracking branch 'origin/master' into sync-pr-963-atomic-…
JonathanOppenheimer Aug 21, 2025
892379e
remove duplicate import
JonathanOppenheimer Aug 21, 2025
c7c0c9a
lint
JonathanOppenheimer Aug 21, 2025
4719758
Merge remote-tracking branch 'origin/master' into sync-pr-963-atomic-…
JonathanOppenheimer Aug 25, 2025
434fb4f
lint
JonathanOppenheimer Aug 25, 2025
936aacc
Merge branch 'master' into sync-pr-963-atomic-sync-package
JonathanOppenheimer Aug 27, 2025
0edb94f
lint
JonathanOppenheimer Aug 27, 2025
af00a05
Merge remote-tracking branch 'origin/master' into sync-pr-963-atomic-…
JonathanOppenheimer Aug 29, 2025
3cb3808
Merge remote-tracking branch 'origin/master' into sync-pr-963-atomic-…
JonathanOppenheimer Sep 4, 2025
728620c
align with coreth
JonathanOppenheimer Sep 4, 2025
52aba0c
add back advance clock setting
JonathanOppenheimer Sep 4, 2025
eb25788
simplify registration
JonathanOppenheimer Sep 8, 2025
6ba1bd6
Merge branch 'master' into sync-pr-963-atomic-sync-package
JonathanOppenheimer Sep 8, 2025
59a0ccc
Merge remote-tracking branch 'origin/master' into sync-pr-963-atomic-…
JonathanOppenheimer Sep 9, 2025
07edff7
merge
JonathanOppenheimer Sep 9, 2025
2564286
Merge branch 'master' into sync-pr-963-atomic-sync-package
JonathanOppenheimer Sep 12, 2025
fa8a32d
lint
JonathanOppenheimer Sep 12, 2025
5d911d5
Merge branch 'master' into sync-pr-963-atomic-sync-package
JonathanOppenheimer Sep 15, 2025
14c8028
Merge remote-tracking branch 'origin/master' into sync-pr-963-atomic-…
JonathanOppenheimer Sep 25, 2025
8fa7586
add errors back
JonathanOppenheimer Sep 25, 2025
94c2b46
lint
JonathanOppenheimer Sep 25, 2025
5b7d576
Merge branch 'master' into sync-pr-963-atomic-sync-package
JonathanOppenheimer Sep 29, 2025
8426e2a
Merge branch 'master' into sync-pr-963-atomic-sync-package
JonathanOppenheimer Oct 1, 2025
24e0ae0
Merge branch 'master' into sync-pr-963-atomic-sync-package
JonathanOppenheimer Oct 1, 2025
7e55ada
Merge branch 'master' into sync-pr-963-atomic-sync-package
JonathanOppenheimer Oct 10, 2025
ac0b665
finish merge
JonathanOppenheimer Oct 10, 2025
2a46756
Merge remote-tracking branch 'origin/master' into sync-pr-963-atomic-…
JonathanOppenheimer Oct 10, 2025
40abb33
reduce diff
JonathanOppenheimer Oct 10, 2025
ba927d5
lint
JonathanOppenheimer Oct 10, 2025
0cc7e3b
Merge branch 'master' into sync-pr-963-atomic-sync-package
JonathanOppenheimer Oct 13, 2025
cced3ca
fix merge
JonathanOppenheimer Oct 13, 2025
291003a
Merge branch 'master' into sync-pr-963-atomic-sync-package
JonathanOppenheimer Oct 14, 2025
e84bf4a
Update plugin/evm/message/handler.go
JonathanOppenheimer Oct 14, 2025
2356b60
Update sync/client/test_client.go
JonathanOppenheimer Oct 14, 2025
9e4a453
Merge branch 'master' into sync-pr-963-atomic-sync-package
JonathanOppenheimer Oct 14, 2025
509e349
Update sync/client/stats/stats.go
JonathanOppenheimer Oct 14, 2025
33837af
lint
JonathanOppenheimer Oct 14, 2025
55f46e3
Merge branch 'master' into sync-pr-963-atomic-sync-package
JonathanOppenheimer Oct 14, 2025
dca0da5
Merge remote-tracking branch 'origin' into sync-pr-963-atomic-sync-pa…
JonathanOppenheimer Nov 17, 2025
29cf556
remove incorrect clock setting
JonathanOppenheimer Nov 17, 2025
7aaf41a
revert breaking serialization change
JonathanOppenheimer Nov 17, 2025
4e55173
lint
JonathanOppenheimer Nov 17, 2025
1a3cfe9
Cey feedback
JonathanOppenheimer Nov 18, 2025
3f3b9e2
Merge branch 'master' into sync-pr-963-atomic-sync-package
JonathanOppenheimer Nov 18, 2025
04eb8ee
restore regossip addresses
JonathanOppenheimer Nov 18, 2025
04ce7f5
lint
JonathanOppenheimer Nov 18, 2025
276d8f7
Merge remote-tracking branch 'origin' into sync-pr-963-atomic-sync-pa…
JonathanOppenheimer Dec 1, 2025
15eec35
chore: lint
JonathanOppenheimer Dec 1, 2025
6fce047
Merge branch 'master' into sync-pr-963-atomic-sync-package
ceyonur Dec 2, 2025
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
26 changes: 26 additions & 0 deletions consensus/dummy/consensus.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,32 @@ type Mode struct {
}

type (
OnFinalizeAndAssembleCallbackType = func(
header *types.Header,
parent *types.Header,
state *state.StateDB,
txs []*types.Transaction,
) (
extraData []byte,
blockFeeContribution *big.Int,
extDataGasUsed *big.Int,
err error,
)

OnExtraStateChangeType = func(
block *types.Block,
parent *types.Header,
statedb *state.StateDB,
) (
blockFeeContribution *big.Int,
extDataGasUsed *big.Int,
err error,
)

ConsensusCallbacks struct {
OnFinalizeAndAssemble OnFinalizeAndAssembleCallbackType
OnExtraStateChange OnExtraStateChangeType
}
DummyEngine struct {
clock *mockable.Clock
consensusMode Mode
Expand Down
9 changes: 6 additions & 3 deletions plugin/evm/block_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import (

"github.com/ava-labs/subnet-evm/params"
"github.com/ava-labs/subnet-evm/params/extras"
"github.com/ava-labs/subnet-evm/plugin/evm/extension"
"github.com/ava-labs/subnet-evm/precompile/precompileconfig"
)

Expand All @@ -26,8 +27,9 @@ func TestHandlePrecompileAccept(t *testing.T) {

db := rawdb.NewMemoryDatabase()
vm := &VM{
chaindb: db,
chainConfig: params.TestChainConfig,
chaindb: db,
chainConfig: params.TestChainConfig,
extensionConfig: &extension.Config{},
}

precompileAddr := common.Address{0x05}
Expand Down Expand Up @@ -89,7 +91,8 @@ func TestHandlePrecompileAccept(t *testing.T) {
)

// Call handlePrecompileAccept
blk := vm.newBlock(ethBlock)
blk, err := wrapBlock(ethBlock, vm)
require.NoError(err)
rules := extras.Rules{
AccepterPrecompiles: map[common.Address]precompileconfig.Accepter{
precompileAddr: mockAccepter,
Expand Down
156 changes: 0 additions & 156 deletions plugin/evm/block_verification.go

This file was deleted.

15 changes: 13 additions & 2 deletions plugin/evm/config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import (
"time"

"github.com/ava-labs/avalanchego/database/pebbledb"
"github.com/ava-labs/avalanchego/utils/constants"
"github.com/ava-labs/libevm/common"
"github.com/ava-labs/libevm/common/hexutil"
"github.com/spf13/cast"
Expand Down Expand Up @@ -192,7 +193,7 @@ type Config struct {
MaxOutboundActiveRequests int64 `json:"max-outbound-active-requests"`

// Sync settings
StateSyncEnabled bool `json:"state-sync-enabled"`
StateSyncEnabled *bool `json:"state-sync-enabled"` // Pointer distinguishes false (no state sync) and not set (state sync only at genesis).
StateSyncSkipResume bool `json:"state-sync-skip-resume"` // Forces state sync to use the highest available summary block
StateSyncServerTrieCache int `json:"state-sync-server-trie-cache"`
StateSyncIDs string `json:"state-sync-ids"`
Expand Down Expand Up @@ -344,7 +345,17 @@ func (d Duration) MarshalJSON() ([]byte, error) {
}

// Validate returns an error if this is an invalid config.
func (c *Config) Validate() error {
func (c *Config) Validate(networkID uint32) error {
// Ensure that non-standard commit interval is not allowed for production networks
if constants.ProductionNetworkIDs.Contains(networkID) {
if c.CommitInterval != defaultCommitInterval {
return fmt.Errorf("cannot start non-local network with commit interval %d different than %d", c.CommitInterval, defaultCommitInterval)
}
if c.StateSyncCommitInterval != defaultSyncableCommitInterval {
return fmt.Errorf("cannot start non-local network with syncable interval %d different than %d", c.StateSyncCommitInterval, defaultSyncableCommitInterval)
}
}

if c.PopulateMissingTries != nil && (c.OfflinePruning || c.Pruning) {
return fmt.Errorf("cannot enable populate missing tries while offline pruning (enabled: %t)/pruning (enabled: %t) are enabled", c.OfflinePruning, c.Pruning)
}
Expand Down
8 changes: 7 additions & 1 deletion plugin/evm/config/config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,12 @@ import (
"github.com/stretchr/testify/assert"
)

// newTrue returns a pointer to a bool that is true
func newTrue() *bool {
b := true
return &b
}

func TestUnmarshalConfig(t *testing.T) {
tests := []struct {
name string
Expand Down Expand Up @@ -62,7 +68,7 @@ func TestUnmarshalConfig(t *testing.T) {
{
"state sync enabled",
[]byte(`{"state-sync-enabled":true}`),
Config{StateSyncEnabled: true},
Config{StateSyncEnabled: newTrue()},
false,
},
{
Expand Down
Loading
Loading