Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
97be2af
Remove oracle MidBlocker and EndBlocker
masih Sep 24, 2026
daccec1
Reference PR number in changelog entry
masih Sep 24, 2026
a34d7f3
Add v6.8 upgrade retiring the oracle module
masih Sep 24, 2026
24a4568
Refine Oracle upgrade boundary tests
masih Sep 24, 2026
35df3c7
Fix generated v6.8 precompile artifacts
masih Sep 24, 2026
d828299
Preserve retired IBC precompile versions
masih Sep 24, 2026
e885a20
Delete the oracle store at v6.8
masih Sep 24, 2026
bc3670f
Fix precompile version archival for hand-maintained modules
masih Sep 24, 2026
941f4c9
Fix v6.8 offline source reopen assertions
masih Sep 24, 2026
70dda2a
Generate v6.8 precompiles
masih Sep 24, 2026
75350db
Merge remote-tracking branch 'origin/masih/1790252143-generate-v68-pr…
masih Sep 24, 2026
974dd92
Update precompile replay regression fixtures
masih Sep 24, 2026
5367e10
Avoid duplicate latest precompile versions
masih Sep 24, 2026
c1a1745
Fix EVM fixtures after oracle removal
masih Sep 24, 2026
2de9038
Revert "Update precompile replay regression fixtures"
masih Sep 24, 2026
13505fd
Revert "Avoid duplicate latest precompile versions"
masih Sep 24, 2026
877eeab
Add v6.8 upgrade boundary tests
masih Sep 24, 2026
bd480ef
Fix v6.8 offline test compatibility
masih Sep 24, 2026
714c7c2
Merge remote-tracking branch 'origin/masih/1790252143-generate-v68-pr…
masih Sep 24, 2026
d256a23
Fix v6.8 orphan test retained versions
masih Sep 24, 2026
7b5483b
Fix v6.8 offline source snapshot
masih Sep 24, 2026
9a7cb47
Fix v6.8 offline upgrade height
masih Sep 24, 2026
ed6e8af
Fix v6.8 offline target database
masih Sep 24, 2026
8b6841e
Filter memory stores from v6.8 fixture
masih Sep 24, 2026
8a4e8c3
Fix v6.8 cross-version recipient
masih Sep 24, 2026
3eb00d4
Fail bump_version on unreadable versions file
masih Sep 24, 2026
3b1db6e
Merge latest v6.8 precompile fixes
masih Sep 24, 2026
0534946
Merge main into oracle removal
masih Sep 24, 2026
ff6ea33
Relax removed Oracle store query assertion
masih Sep 24, 2026
d93bb5b
Reject ABCI queries for unmounted stores in storev2
masih Sep 25, 2026
15583de
Drop v6.7 oracle fee-charge assertions
masih Sep 25, 2026
da16d2f
Silence curl progress output in v6.8 cross-version test
masih Sep 25, 2026
4de1b39
Exercise the oracle store deletion in the v6.8 offline boundary
masih Sep 25, 2026
932cf3e
Assert the real reopen failure and add a positive tree-presence control
masih Sep 25, 2026
d4e149e
Merge remote-tracking branch 'origin/main' into masih/1790245567-remo…
masih Sep 25, 2026
72a42fd
Name the retired oracle store through retiredoracle.ModuleName and dr…
masih Sep 25, 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
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ Ref: https://keepachangelog.com/en/1.0.0/

## Unreleased
sei-chain
* [#4319](https://github.com/sei-protocol/sei-chain/pull/4319) Remove the oracle module behind the v6.8 upgrade: module, store, protobuf schema, wasm query route and tooling are gone; only the oracle Msg types remain decodable so historical blocks still trace. App-hash breaking at the upgrade height.
* [#4332](https://github.com/sei-protocol/sei-chain/pull/4332) Bump sei-protocol/go-ethereum to v1.15.7-sei-21
* [#4329](https://github.com/sei-protocol/sei-chain/pull/4329) Add Giga fetch/serve and BlockDB prune metrics
* [#4325](https://github.com/sei-protocol/sei-chain/pull/4325) feat(evmonly): add eth_estimateGas via existing libraries
Expand Down
6 changes: 3 additions & 3 deletions app/antedecorators/priority_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import (

"github.com/sei-protocol/sei-chain/app"
"github.com/sei-protocol/sei-chain/app/antedecorators"
"github.com/sei-protocol/sei-chain/app/retiredoracle"
sdk "github.com/sei-protocol/sei-chain/sei-cosmos/types"
authante "github.com/sei-protocol/sei-chain/sei-cosmos/x/auth/ante"
banktypes "github.com/sei-protocol/sei-chain/sei-cosmos/x/bank/types"
Expand All @@ -16,7 +17,6 @@ import (
wasmkeeper "github.com/sei-protocol/sei-chain/sei-wasmd/x/wasm/keeper"
evmtypes "github.com/sei-protocol/sei-chain/x/evm/types"
minttypes "github.com/sei-protocol/sei-chain/x/mint/types"
oracletypes "github.com/sei-protocol/sei-chain/x/oracle/types"
)

func TestPriorityAnteDecorator(t *testing.T) {
Expand Down Expand Up @@ -48,7 +48,7 @@ func TestPriorityAnteDecoratorTooHighPriority(t *testing.T) {
ctx.WithPriority(math.MaxInt64-50),
FakeTx{
FakeMsgs: []sdk.Msg{
&oracletypes.MsgDelegateFeedConsent{},
&retiredoracle.MsgDelegateFeedConsent{},
},
},
false,
Expand All @@ -69,7 +69,7 @@ func TestPriorityAnteDecoratorOracleMsgUsesNormalPriority(t *testing.T) {
ctx.WithPriority(0),
FakeTx{
FakeMsgs: []sdk.Msg{
&oracletypes.MsgAggregateExchangeRateVote{},
&retiredoracle.MsgAggregateExchangeRateVote{},
},
},
false,
Expand Down
38 changes: 12 additions & 26 deletions app/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@ import (
appparams "github.com/sei-protocol/sei-chain/app/params"
"github.com/sei-protocol/sei-chain/app/retiredibc"
retiredibcgov "github.com/sei-protocol/sei-chain/app/retiredibc/gov"
"github.com/sei-protocol/sei-chain/app/retiredoracle"
"github.com/sei-protocol/sei-chain/app/upgrades"
v0upgrade "github.com/sei-protocol/sei-chain/app/upgrades/v0"
"github.com/sei-protocol/sei-chain/evmrpc"
Expand Down Expand Up @@ -143,9 +144,6 @@ import (
mintclient "github.com/sei-protocol/sei-chain/x/mint/client/cli"
mintkeeper "github.com/sei-protocol/sei-chain/x/mint/keeper"
minttypes "github.com/sei-protocol/sei-chain/x/mint/types"
oraclemodule "github.com/sei-protocol/sei-chain/x/oracle"
oraclekeeper "github.com/sei-protocol/sei-chain/x/oracle/keeper"
oracletypes "github.com/sei-protocol/sei-chain/x/oracle/types"
tokenfactorymodule "github.com/sei-protocol/sei-chain/x/tokenfactory"
tokenfactorykeeper "github.com/sei-protocol/sei-chain/x/tokenfactory/keeper"
tokenfactorytypes "github.com/sei-protocol/sei-chain/x/tokenfactory/types"
Expand Down Expand Up @@ -211,7 +209,6 @@ var (
upgrade.AppModuleBasic{},
evidence.AppModuleBasic{},
vesting.AppModuleBasic{},
oraclemodule.AppModuleBasic{},
evm.AppModuleBasic{},
wasm.AppModuleBasic{},
epochmodule.AppModuleBasic{},
Expand All @@ -228,16 +225,13 @@ var (
stakingtypes.NotBondedPoolName: {authtypes.Burner, authtypes.Staking},
govtypes.ModuleName: {authtypes.Burner},
transferModuleName: {authtypes.Minter, authtypes.Burner},
oracletypes.ModuleName: nil,
wasm.ModuleName: {authtypes.Burner},
evmtypes.ModuleName: {authtypes.Minter, authtypes.Burner},
tokenfactorytypes.ModuleName: {authtypes.Minter, authtypes.Burner},
// this line is used by starport scaffolding # stargate/app/maccPerms
}

allowedReceivingModAcc = map[string]bool{
oracletypes.ModuleName: true,
}
allowedReceivingModAcc = map[string]bool{}

// kvStoreKeyNames is the canonical, in-order list of module KV store
// names mounted on the SeiDB / memiavl backend. It is the single source
Expand All @@ -249,7 +243,7 @@ var (
authtypes.StoreKey, authzkeeper.StoreKey, banktypes.StoreKey, stakingtypes.StoreKey,
minttypes.StoreKey, distrtypes.StoreKey, slashingtypes.StoreKey,
govtypes.StoreKey, paramstypes.StoreKey, storekeys.IBCStoreKey, upgradetypes.StoreKey, feegrantModuleName,
evidencetypes.StoreKey, transferModuleName, capabilityModuleName, oracletypes.StoreKey,
evidencetypes.StoreKey, transferModuleName, capabilityModuleName,
evmtypes.StoreKey, wasm.StoreKey,
epochmoduletypes.StoreKey,
tokenfactorytypes.StoreKey,
Expand Down Expand Up @@ -385,7 +379,6 @@ type App struct {
ParamsKeeper paramskeeper.Keeper
EvidenceKeeper evidencekeeper.Keeper
WasmKeeper wasm.Keeper
OracleKeeper oraclekeeper.Keeper
EvmKeeper evmkeeper.Keeper
GigaEvmKeeper gigaevmkeeper.Keeper

Expand Down Expand Up @@ -511,7 +504,7 @@ func New(

keys := sdk.NewKVStoreKeys(kvStoreKeyNames...)
tkeys := sdk.NewTransientStoreKeys(paramstypes.TStoreKey, evmtypes.TransientStoreKey)
memKeys := sdk.NewMemoryStoreKeys(banktypes.DeferredCacheStoreKey, oracletypes.MemStoreKey)
memKeys := sdk.NewMemoryStoreKeys(banktypes.DeferredCacheStoreKey)

app := &App{
BaseApp: bApp,
Expand Down Expand Up @@ -590,11 +583,6 @@ func New(
// If evidence needs to be handled for the app, set routes in router here and seal
app.EvidenceKeeper = *evidenceKeeper

app.OracleKeeper = oraclekeeper.NewKeeper(
appCodec, keys[oracletypes.StoreKey], memKeys[oracletypes.MemStoreKey], app.GetSubspace(oracletypes.ModuleName),
app.AccountKeeper, app.BankKeeper, app.DistrKeeper, &stakingKeeper, distrtypes.ModuleName,
)

wasmDir := filepath.Join(homePath, "wasm")
wasmConfig, err := wasm.ReadWasmConfig(appOpts)
if err != nil {
Expand Down Expand Up @@ -837,7 +825,6 @@ func New(
upgrade.NewAppModule(app.UpgradeKeeper),
evidence.NewAppModule(app.EvidenceKeeper),
params.NewAppModule(app.ParamsKeeper),
oraclemodule.NewAppModule(appCodec, app.OracleKeeper, app.AccountKeeper, app.BankKeeper),
wasm.NewAppModule(appCodec, &app.WasmKeeper, app.StakingKeeper, app.AccountKeeper, app.BankKeeper),
evm.NewAppModule(appCodec, &app.EvmKeeper),
epochModule,
Expand All @@ -859,7 +846,6 @@ func New(
app.EndBlockKeepers = legacyabci.EndBlockKeepers{
GovKeeper: &app.GovKeeper,
StakingKeeper: &app.StakingKeeper,
OracleKeeper: &app.OracleKeeper,
EvmKeeper: &app.EvmKeeper,
}
app.CheckTxKeepers = legacyabci.CheckTxKeepers{
Expand All @@ -877,10 +863,6 @@ func New(
UpgradeKeeper: &app.UpgradeKeeper,
}

app.mm.SetOrderMidBlockers(
oracletypes.ModuleName,
)

// NOTE: The genutils module must occur after staking so that pools are
// properly initialized with tokens from genesis accounts.
app.mm.SetOrderInitGenesis(
Expand All @@ -897,7 +879,6 @@ func New(
genutiltypes.ModuleName,
evidencetypes.ModuleName,
authz.ModuleName,
oracletypes.ModuleName,
tokenfactorytypes.ModuleName,
epochmoduletypes.ModuleName,
wasm.ModuleName,
Expand All @@ -920,7 +901,6 @@ func New(
slashing.NewAppModule(appCodec, app.SlashingKeeper, app.AccountKeeper, app.BankKeeper, app.StakingKeeper),
params.NewAppModule(app.ParamsKeeper),
evidence.NewAppModule(app.EvidenceKeeper),
oraclemodule.NewAppModule(appCodec, app.OracleKeeper, app.AccountKeeper, app.BankKeeper),
wasm.NewAppModule(appCodec, &app.WasmKeeper, app.StakingKeeper, app.AccountKeeper, app.BankKeeper),
epochModule,
tokenfactorymodule.NewAppModule(app.TokenFactoryKeeper, app.AccountKeeper, app.BankKeeper),
Expand Down Expand Up @@ -1092,7 +1072,7 @@ func (app *App) SetStoreUpgradeHandlers() {

if upgradeInfo.Name == "1.0.4beta" && !app.UpgradeKeeper.IsSkipHeight(upgradeInfo.Height) {
storeUpgrades := storetypes.StoreUpgrades{
Added: []string{oracletypes.StoreKey},
Added: []string{retiredoracle.ModuleName},
}

// configure store loader that checks if version == upgradeHeight and applies store upgrades
Expand Down Expand Up @@ -1160,6 +1140,13 @@ func (app *App) SetStoreUpgradeHandlers() {
// configure store loader that checks if version == upgradeHeight and applies store upgrades
app.SetStoreLoader(upgradetypes.UpgradeStoreLoader(upgradeInfo.Height, &storeUpgrades))
}

if upgradeInfo.Name == "v6.8" && !app.UpgradeKeeper.IsSkipHeight(upgradeInfo.Height) {
storeUpgrades := storetypes.StoreUpgrades{
Deleted: []string{retiredoracle.ModuleName},
}
app.SetStoreLoader(upgradetypes.UpgradeStoreLoader(upgradeInfo.Height, &storeUpgrades))
}
}

// AppName returns the name of the App
Expand Down Expand Up @@ -2754,7 +2741,6 @@ func initParamsKeeper(appCodec codec.BinaryCodec, legacyAmino *codec.LegacyAmino
paramsKeeper.Subspace(distrtypes.ModuleName)
paramsKeeper.Subspace(slashingtypes.ModuleName)
paramsKeeper.Subspace(govtypes.ModuleName).WithKeyTable(govtypes.ParamKeyTable())
paramsKeeper.Subspace(oracletypes.ModuleName)
paramsKeeper.Subspace(wasm.ModuleName)
paramsKeeper.Subspace(evmtypes.ModuleName)
paramsKeeper.Subspace(epochmoduletypes.ModuleName)
Expand Down
6 changes: 3 additions & 3 deletions app/app_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import (
ethtypes "github.com/ethereum/go-ethereum/core/types"
"github.com/ethereum/go-ethereum/crypto"
"github.com/sei-protocol/sei-chain/app"
"github.com/sei-protocol/sei-chain/app/retiredoracle"
"github.com/sei-protocol/sei-chain/evmrpc"
clienttx "github.com/sei-protocol/sei-chain/sei-cosmos/client/tx"
cryptocodec "github.com/sei-protocol/sei-chain/sei-cosmos/crypto/codec"
Expand All @@ -36,7 +37,6 @@ import (
evmkeeper "github.com/sei-protocol/sei-chain/x/evm/keeper"
evmtypes "github.com/sei-protocol/sei-chain/x/evm/types"
"github.com/sei-protocol/sei-chain/x/evm/types/ethtx"
oracletypes "github.com/sei-protocol/sei-chain/x/oracle/types"
"github.com/stretchr/testify/require"
)

Expand Down Expand Up @@ -101,7 +101,7 @@ func TestProcessOracleAndOtherTxsSuccess(t *testing.T) {
account2 := sdk.AccAddress(secondAcc.Address()).String()
validator := sdk.ValAddress(valPub.Address()).String()

oracleMsg := &oracletypes.MsgAggregateExchangeRateVote{
oracleMsg := &retiredoracle.MsgAggregateExchangeRateVote{
ExchangeRates: "1.2uatom",
Feeder: account,
Validator: validator,
Expand Down Expand Up @@ -194,7 +194,7 @@ func TestProcessBlockWithPreDecoded(t *testing.T) {
account2 := sdk.AccAddress(secondAcc.Address()).String()
validator := sdk.ValAddress(valPub.Address()).String()

oracleMsg := &oracletypes.MsgAggregateExchangeRateVote{
oracleMsg := &retiredoracle.MsgAggregateExchangeRateVote{
ExchangeRates: "1.2uatom",
Feeder: account,
Validator: validator,
Expand Down
4 changes: 2 additions & 2 deletions app/check_total_block_gas_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,14 @@ import (
"github.com/ethereum/go-ethereum/common"
ethtypes "github.com/ethereum/go-ethereum/core/types"
"github.com/ethereum/go-ethereum/crypto"
"github.com/sei-protocol/sei-chain/app/retiredoracle"
"github.com/sei-protocol/sei-chain/sei-cosmos/crypto/keys/secp256k1"
sdk "github.com/sei-protocol/sei-chain/sei-cosmos/types"
banktypes "github.com/sei-protocol/sei-chain/sei-cosmos/x/bank/types"
tmproto "github.com/sei-protocol/sei-chain/sei-tendermint/proto/tendermint/types"
"github.com/sei-protocol/sei-chain/x/evm/config"
evmtypes "github.com/sei-protocol/sei-chain/x/evm/types"
"github.com/sei-protocol/sei-chain/x/evm/types/ethtx"
oracletypes "github.com/sei-protocol/sei-chain/x/oracle/types"
"github.com/stretchr/testify/require"
)

Expand Down Expand Up @@ -175,7 +175,7 @@ func TestCheckTotalBlockGas_OracleVoteCountsTowardLimit(t *testing.T) {
tw := NewTestWrapper(t, time.Now().UTC(), valPub, false)

valAddr := sdk.ValAddress(valPub.Address())
vote := &oracletypes.MsgAggregateExchangeRateVote{
vote := &retiredoracle.MsgAggregateExchangeRateVote{
ExchangeRates: "1.2uatom",
Feeder: sdk.AccAddress(valAddr).String(),
Validator: valAddr.String(),
Expand Down
5 changes: 5 additions & 0 deletions app/encoding.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package app
import (
"github.com/sei-protocol/sei-chain/app/params"
retiredibcgov "github.com/sei-protocol/sei-chain/app/retiredibc/gov"
"github.com/sei-protocol/sei-chain/app/retiredoracle"
"github.com/sei-protocol/sei-chain/sei-cosmos/std"
)

Expand All @@ -14,6 +15,8 @@ func MakeEncodingConfig() params.EncodingConfig {
ModuleBasics.RegisterLegacyAminoCodec(encodingConfig.Amino)
ModuleBasics.RegisterInterfaces(encodingConfig.InterfaceRegistry)
retiredibcgov.RegisterInterfaces(encodingConfig.InterfaceRegistry)
retiredoracle.RegisterInterfaces(encodingConfig.InterfaceRegistry)
retiredoracle.RegisterLegacyAminoCodec(encodingConfig.Amino)
return encodingConfig
}

Expand All @@ -25,5 +28,7 @@ func MakeLegacyEncodingConfig() params.EncodingConfig {
ModuleBasics.RegisterLegacyAminoCodec(encodingConfig.Amino)
ModuleBasics.RegisterInterfaces(encodingConfig.InterfaceRegistry)
retiredibcgov.RegisterInterfaces(encodingConfig.InterfaceRegistry)
retiredoracle.RegisterInterfaces(encodingConfig.InterfaceRegistry)
retiredoracle.RegisterLegacyAminoCodec(encodingConfig.Amino)
return encodingConfig
}
4 changes: 0 additions & 4 deletions app/legacyabci/end_block.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,21 +8,17 @@ import (
stakingkeeper "github.com/sei-protocol/sei-chain/sei-cosmos/x/staking/keeper"
abci "github.com/sei-protocol/sei-chain/sei-tendermint/abci/types"
evmkeeper "github.com/sei-protocol/sei-chain/x/evm/keeper"
"github.com/sei-protocol/sei-chain/x/oracle"
oraclekeeper "github.com/sei-protocol/sei-chain/x/oracle/keeper"
)

type EndBlockKeepers struct {
GovKeeper *govkeeper.Keeper
StakingKeeper *stakingkeeper.Keeper
OracleKeeper *oraclekeeper.Keeper
EvmKeeper *evmkeeper.Keeper
}

func EndBlock(ctx sdk.Context, height int64, blockGasUsed int64, keepers EndBlockKeepers) []abci.ValidatorUpdate {
gov.EndBlocker(ctx, *keepers.GovKeeper)
vals := staking.EndBlocker(ctx, *keepers.StakingKeeper)
oracle.EndBlocker(ctx, *keepers.OracleKeeper)
keepers.EvmKeeper.EndBlock(ctx, height, blockGasUsed)
return vals
}
17 changes: 6 additions & 11 deletions x/oracle/types/codec.go → app/retiredoracle/codec.go
100755 → 100644
Original file line number Diff line number Diff line change
@@ -1,26 +1,21 @@
package types
package retiredoracle

import (
"github.com/sei-protocol/sei-chain/sei-cosmos/codec"
codectypes "github.com/sei-protocol/sei-chain/sei-cosmos/codec/types"
sdk "github.com/sei-protocol/sei-chain/sei-cosmos/types"
"github.com/sei-protocol/sei-chain/sei-cosmos/types/msgservice"
)

func RegisterCodec(cdc *codec.LegacyAmino) {
cdc.RegisterConcrete(&MsgAggregateExchangeRateVote{}, "oracle/MsgAggregateExchangeRateVote", nil)
cdc.RegisterConcrete(&MsgDelegateFeedConsent{}, "oracle/MsgDelegateFeedConsent", nil)
}

func RegisterInterfaces(registry codectypes.InterfaceRegistry) {
registry.RegisterImplementations((*sdk.Msg)(nil),
&MsgAggregateExchangeRateVote{},
)
registry.RegisterImplementations((*sdk.Msg)(nil),
&MsgDelegateFeedConsent{},
)
}

msgservice.RegisterMsgServiceDesc(registry, &_Msg_serviceDesc)
func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) {
cdc.RegisterConcrete(&MsgAggregateExchangeRateVote{}, "oracle/MsgAggregateExchangeRateVote", nil)
cdc.RegisterConcrete(&MsgDelegateFeedConsent{}, "oracle/MsgDelegateFeedConsent", nil)
}

var (
Expand All @@ -29,7 +24,7 @@ var (
)

func init() {
RegisterCodec(amino)
RegisterLegacyAminoCodec(amino)
sdk.RegisterLegacyAminoCodec(amino)
amino.Seal()
}
5 changes: 5 additions & 0 deletions app/retiredoracle/errors.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package retiredoracle

import "github.com/sei-protocol/sei-chain/sei-cosmos/types/errors"

var ErrDeprecated = errors.Register(ModuleName, 25, "oracle module is deprecated")
Loading
Loading