diff --git a/.github/workflows/changelog.yml b/.github/workflows/changelog.yml new file mode 100644 index 00000000..5a9a002b --- /dev/null +++ b/.github/workflows/changelog.yml @@ -0,0 +1,44 @@ +# This workflow will add a changelog to the repository when a new commit is pushed to the main branch. +# E.g., manually edit the commit message to align with conventional commit messages, such as: +# feat(database): add new indexing capabilities +# This update introduces advanced indexing options for handling complex queries more efficiently. + +name: Changelog Update + +on: + pull_request: + branches: + - main + types: [opened, synchronize, reopened] + +permissions: write-all + +jobs: + update_changelog: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Set up Node.js + uses: actions/setup-node@v2 + with: + node-version: "18" + + - name: Install conventional-changelog-cli + run: npm install -g conventional-changelog-cli + + - name: Generate changelog diff + run: | + git fetch origin main:main + conventional-changelog -p angular -i CHANGELOG.md -s -r 0 > changelog_diff.md + echo "::set-output name=changelog::$(cat changelog_diff.md)" + - name: Commit and push changelog update + run: | + git config user.name 'github-actions' + git config user.email 'github-actions@github.com' + git add CHANGELOG.md + git commit -m "Update CHANGELOG.md" + git push origin HEAD:refs/heads/${{ github.head_ref }} diff --git a/.github/workflows/e2e-tests.yml b/.github/workflows/e2e-tests.yml index a0bb7b78..2b740082 100644 --- a/.github/workflows/e2e-tests.yml +++ b/.github/workflows/e2e-tests.yml @@ -45,6 +45,6 @@ jobs: path: /tmp/e2e.tar e2e-tests: needs: build-image - uses: dymensionxyz/e2e-tests/.github/workflows/e2e-test-workflow-call.yml@main + uses: dymensionxyz/e2e-tests/.github/workflows/e2e-test-workflow-call.yml@a3784a3388cb6c67f11266cb917eb91a70d4c665 with: rollapp_evm_ci: "e2e" diff --git a/CHANGELOG.md b/CHANGELOG.md index 82513f38..73356091 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,71 +1,71 @@ - - +### Bug Fixes + +* cleaning file descriptors ([#69](https://github.com/dymensionxyz/rollapp-evm/issues/69)) ([18f7558](https://github.com/dymensionxyz/rollapp-evm/commit/18f7558455b74ee097c525fc418375456b90bb00)) +* hotfix for ibc-go due to val-set hotfix done on hub for froopyland. ([#73](https://github.com/dymensionxyz/rollapp-evm/issues/73)) ([40c6ec4](https://github.com/dymensionxyz/rollapp-evm/commit/40c6ec4c3f899268bd93cf95dee98aa00410fe18)) -# Changelog -## Unreleased -### Improvements +# [1.0.0-beta](https://github.com/dymensionxyz/rollapp-evm/compare/v0.1.0-rc3...v1.0.0-beta) (2023-10-19) -- (deps) [#138](https://github.com/dymensionxyz/rollapp-evm/issues/138) Bumps `block-explorer-rpc-cosmos v1.0.2` & `evm-block-explorer-rpc-cosmos v1.0.2` -- (deps) [#151](https://github.com/dymensionxyz/rollapp-evm/issues/151) Bumps `block-explorer-rpc-cosmos v1.0.2` & `evm-block-explorer-rpc-cosmos v1.1.0` ### Bug Fixes -- (deps) [#142](https://github.com/dymensionxyz/rollapp-evm/issues/142) Bumps `block-explorer-rpc-cosmos v1.0.3` & `evm-block-explorer-rpc-cosmos v1.0.3` +* reverted bad deps ([#38](https://github.com/dymensionxyz/rollapp-evm/issues/38)) ([545a367](https://github.com/dymensionxyz/rollapp-evm/commit/545a367643d7b1f6e2dbdce1cdb436fdb56000fe)) + + + +# [0.1.0-rc2](https://github.com/dymensionxyz/rollapp-evm/compare/v0.1.0-rc1...v0.1.0-rc2) (2023-07-31) + + + +# 0.1.0-rc1 (2023-07-27) + + + diff --git a/README.md b/README.md index 2480d16c..702ba373 100644 --- a/README.md +++ b/README.md @@ -36,6 +36,7 @@ export EXECUTABLE="rollapp-evm" export ROLLAPP_CHAIN_ID="rollappevm_1234-1" export KEY_NAME_ROLLAPP="rol-user" export BASE_DENOM="arax" +export BECH32="ethm" export DENOM=$(echo "$BASE_DENOM" | sed 's/^.//') export MONIKER="$ROLLAPP_CHAIN_ID-sequencer" @@ -181,7 +182,7 @@ rollapp-evm start ### Install dymension relayer ```shell -git clone https://github.com/dymensionxyz/go-relayer.git --branch v0.2.0-v2.3.1-relayer +git clone https://github.com/dymensionxyz/go-relayer.git --branch v0.3.0-v2.5.2-relayer cd go-relayer && make install ``` diff --git a/app/app.go b/app/app.go index 4ce108a4..20115ff7 100644 --- a/app/app.go +++ b/app/app.go @@ -7,6 +7,9 @@ import ( "path/filepath" "sort" + "github.com/cosmos/cosmos-sdk/x/authz" + authzkeeper "github.com/cosmos/cosmos-sdk/x/authz/keeper" + authzmodule "github.com/cosmos/cosmos-sdk/x/authz/module" "github.com/gorilla/mux" "github.com/rakyll/statik/fs" "github.com/spf13/cast" @@ -16,6 +19,8 @@ import ( tmos "github.com/tendermint/tendermint/libs/os" dbm "github.com/tendermint/tm-db" + "github.com/evmos/ethermint/x/evm/vm/geth" + "github.com/cosmos/cosmos-sdk/baseapp" "github.com/cosmos/cosmos-sdk/client" nodeservice "github.com/cosmos/cosmos-sdk/client/grpc/node" @@ -25,7 +30,7 @@ import ( "github.com/cosmos/cosmos-sdk/server/api" "github.com/cosmos/cosmos-sdk/server/config" servertypes "github.com/cosmos/cosmos-sdk/server/types" - simapp "github.com/cosmos/cosmos-sdk/simapp" + "github.com/cosmos/cosmos-sdk/simapp" "github.com/cosmos/cosmos-sdk/store/streaming" storetypes "github.com/cosmos/cosmos-sdk/store/types" "github.com/cosmos/cosmos-sdk/testutil/testdata" @@ -48,8 +53,12 @@ import ( capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" distrclient "github.com/cosmos/cosmos-sdk/x/distribution/client" distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" - "github.com/cosmos/cosmos-sdk/x/genutil" - genutiltypes "github.com/cosmos/cosmos-sdk/x/genutil/types" + "github.com/cosmos/cosmos-sdk/x/feegrant" + feegrantkeeper "github.com/cosmos/cosmos-sdk/x/feegrant/keeper" + feegrantmodule "github.com/cosmos/cosmos-sdk/x/feegrant/module" + + // "github.com/cosmos/cosmos-sdk/x/genutil" + // genutiltypes "github.com/cosmos/cosmos-sdk/x/genutil/types" "github.com/cosmos/cosmos-sdk/x/gov" govclient "github.com/cosmos/cosmos-sdk/x/gov/client" govkeeper "github.com/cosmos/cosmos-sdk/x/gov/keeper" @@ -63,7 +72,6 @@ import ( paramstypes "github.com/cosmos/cosmos-sdk/x/params/types" paramproposal "github.com/cosmos/cosmos-sdk/x/params/types/proposal" - stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" "github.com/cosmos/cosmos-sdk/x/upgrade" upgradeclient "github.com/cosmos/cosmos-sdk/x/upgrade/client" upgradekeeper "github.com/cosmos/cosmos-sdk/x/upgrade/keeper" @@ -93,13 +101,13 @@ import ( ibctestingtypes "github.com/cosmos/ibc-go/v6/testing/types" rollappparams "github.com/dymensionxyz/rollapp-evm/app/params" - srvflags "github.com/evmos/evmos/v12/server/flags" // unnamed import of statik for swagger UI support _ "github.com/cosmos/cosmos-sdk/client/docs/statik" - staking "github.com/dymensionxyz/dymension-rdk/x/staking" - stakingkeeper "github.com/dymensionxyz/dymension-rdk/x/staking/keeper" + "github.com/dymensionxyz/dymension-rdk/x/governors" + governorskeeper "github.com/dymensionxyz/dymension-rdk/x/governors/keeper" + governorstypes "github.com/dymensionxyz/dymension-rdk/x/governors/types" "github.com/dymensionxyz/dymension-rdk/x/sequencers" seqkeeper "github.com/dymensionxyz/dymension-rdk/x/sequencers/keeper" @@ -111,25 +119,26 @@ import ( "github.com/dymensionxyz/dymension-rdk/x/denommetadata" denommetadatamodulekeeper "github.com/dymensionxyz/dymension-rdk/x/denommetadata/keeper" denommetadatamoduletypes "github.com/dymensionxyz/dymension-rdk/x/denommetadata/types" - ethante "github.com/evmos/evmos/v12/app/ante" - ethanteevm "github.com/evmos/evmos/v12/app/ante/evm" - "github.com/evmos/evmos/v12/ethereum/eip712" - ethermint "github.com/evmos/evmos/v12/types" - "github.com/evmos/evmos/v12/x/claims" - claimskeeper "github.com/evmos/evmos/v12/x/claims/keeper" - claimstypes "github.com/evmos/evmos/v12/x/claims/types" - "github.com/evmos/evmos/v12/x/erc20" - erc20client "github.com/evmos/evmos/v12/x/erc20/client" - erc20keeper "github.com/evmos/evmos/v12/x/erc20/keeper" - erc20types "github.com/evmos/evmos/v12/x/erc20/types" - "github.com/evmos/evmos/v12/x/evm" - evmkeeper "github.com/evmos/evmos/v12/x/evm/keeper" - evmtypes "github.com/evmos/evmos/v12/x/evm/types" - "github.com/evmos/evmos/v12/x/feemarket" - feemarketkeeper "github.com/evmos/evmos/v12/x/feemarket/keeper" - feemarkettypes "github.com/evmos/evmos/v12/x/feemarket/types" - "github.com/evmos/evmos/v12/x/ibc/transfer" - transferkeeper "github.com/evmos/evmos/v12/x/ibc/transfer/keeper" + + /* ------------------------------ ethermint imports ----------------------------- */ + + ethante "github.com/evmos/ethermint/app/ante" + "github.com/evmos/ethermint/ethereum/eip712" + srvflags "github.com/evmos/ethermint/server/flags" + ethermint "github.com/evmos/ethermint/types" + "github.com/evmos/ethermint/x/erc20" + erc20client "github.com/evmos/ethermint/x/erc20/client" + erc20keeper "github.com/evmos/ethermint/x/erc20/keeper" + erc20types "github.com/evmos/ethermint/x/erc20/types" + "github.com/evmos/ethermint/x/evm" + evmkeeper "github.com/evmos/ethermint/x/evm/keeper" + evmtypes "github.com/evmos/ethermint/x/evm/types" + "github.com/evmos/ethermint/x/feemarket" + feemarketkeeper "github.com/evmos/ethermint/x/feemarket/keeper" + feemarkettypes "github.com/evmos/ethermint/x/feemarket/types" + + "github.com/evmos/ethermint/x/erc20/transfer" + transferkeeper "github.com/evmos/ethermint/x/erc20/transfer/keeper" // Force-load the tracer engines to trigger registration due to Go-Ethereum v1.10.15 changes _ "github.com/ethereum/go-ethereum/eth/tracers/js" @@ -137,14 +146,14 @@ import ( ) const ( - AccountAddressPrefix = "ethm" - Name = "rollapp_evm" + Name = "rollapp_evm" ) var ( kvstorekeys = []string{ - authtypes.StoreKey, banktypes.StoreKey, - stakingtypes.StoreKey, seqtypes.StoreKey, + authtypes.StoreKey, authzkeeper.StoreKey, + feegrant.StoreKey, banktypes.StoreKey, + governorstypes.StoreKey, seqtypes.StoreKey, minttypes.StoreKey, distrtypes.StoreKey, govtypes.StoreKey, paramstypes.StoreKey, ibchost.StoreKey, upgradetypes.StoreKey, @@ -154,7 +163,6 @@ var ( evmtypes.StoreKey, feemarkettypes.StoreKey, // evmos keys erc20types.StoreKey, - claimstypes.StoreKey, denommetadatamoduletypes.StoreKey, } ) @@ -186,16 +194,18 @@ var ( // and genesis verification. ModuleBasics = module.NewBasicManager( auth.AppModuleBasic{}, - genutil.AppModuleBasic{}, + authzmodule.AppModuleBasic{}, + // genutil.AppModuleBasic{}, bank.AppModuleBasic{}, capability.AppModuleBasic{}, - staking.AppModuleBasic{}, + governors.AppModuleBasic{}, sequencers.AppModuleBasic{}, mint.AppModuleBasic{}, epochs.AppModuleBasic{}, distr.AppModuleBasic{}, gov.NewAppModuleBasic(getGovProposalHandlers()), params.AppModuleBasic{}, + feegrantmodule.AppModuleBasic{}, upgrade.AppModuleBasic{}, ibc.AppModuleBasic{}, vesting.AppModuleBasic{}, @@ -207,27 +217,26 @@ var ( // Evmos moudles erc20.AppModuleBasic{}, transfer.AppModuleBasic{AppModuleBasic: &ibctransfer.AppModuleBasic{}}, - claims.AppModuleBasic{}, denommetadata.AppModuleBasic{}, ) // module account permissions maccPerms = map[string][]string{ authtypes.FeeCollectorName: nil, + authz.ModuleName: nil, distrtypes.ModuleName: nil, minttypes.ModuleName: {authtypes.Minter}, - stakingtypes.BondedPoolName: {authtypes.Burner, authtypes.Staking}, - stakingtypes.NotBondedPoolName: {authtypes.Burner, authtypes.Staking}, + governorstypes.BondedPoolName: {authtypes.Burner, authtypes.Staking}, + governorstypes.NotBondedPoolName: {authtypes.Burner, authtypes.Staking}, govtypes.ModuleName: {authtypes.Burner}, ibctransfertypes.ModuleName: {authtypes.Minter, authtypes.Burner}, evmtypes.ModuleName: {authtypes.Minter, authtypes.Burner}, // used for secure addition and subtraction of balance using module account erc20types.ModuleName: {authtypes.Minter, authtypes.Burner}, - claimstypes.ModuleName: nil, hubgentypes.ModuleName: {authtypes.Burner}, denommetadatamoduletypes.ModuleName: nil, } - // module accounts that are allowed to receive tokens + // module accounts that are allowed to receive tokens directly from users allowedReceivingModAcc = map[string]bool{ distrtypes.ModuleName: true, } @@ -248,9 +257,6 @@ func init() { // manually update the power reduction by replacing micro (u) -> atto (a) evmos sdk.DefaultPowerReduction = ethermint.PowerReduction - - // disable claims on genesis - claimstypes.DefaultEnableClaims = false } // App extends an ABCI application, but with most of its parameters exported. @@ -272,9 +278,10 @@ type App struct { // keepers AccountKeeper authkeeper.AccountKeeper + AuthzKeeper authzkeeper.Keeper BankKeeper bankkeeper.Keeper CapabilityKeeper *capabilitykeeper.Keeper - StakingKeeper stakingkeeper.Keeper + GovernorsKeeper governorskeeper.Keeper SequencersKeeper seqkeeper.Keeper MintKeeper mintkeeper.Keeper EpochsKeeper epochskeeper.Keeper @@ -285,6 +292,7 @@ type App struct { ParamsKeeper paramskeeper.Keeper IBCKeeper *ibckeeper.Keeper // IBC Keeper must be a pointer in the app, so we can SetRouter on it correctly TransferKeeper transferkeeper.Keeper + FeeGrantKeeper feegrantkeeper.Keeper // make scoped keepers public for test purposes ScopedIBCKeeper capabilitykeeper.ScopedKeeper @@ -295,8 +303,7 @@ type App struct { FeeMarketKeeper feemarketkeeper.Keeper // Evmos keepers - Erc20Keeper erc20keeper.Keeper - ClaimsKeeper *claimskeeper.Keeper + Erc20Keeper erc20keeper.Keeper DenomMetadataKeeper denommetadatamodulekeeper.Keeper @@ -396,6 +403,13 @@ func NewRollapp( sdk.GetConfig().GetBech32AccountAddrPrefix(), ) + app.AuthzKeeper = authzkeeper.NewKeeper( + keys[authzkeeper.StoreKey], + appCodec, + app.MsgServiceRouter(), + app.AccountKeeper, + ) + app.BankKeeper = bankkeeper.NewBaseKeeper( appCodec, keys[banktypes.StoreKey], @@ -404,12 +418,12 @@ func NewRollapp( app.BlockedAddrs(), ) - stakingKeeper := stakingkeeper.NewKeeper( + governorsKeeper := governorskeeper.NewKeeper( appCodec, - keys[stakingtypes.StoreKey], + keys[governorstypes.StoreKey], app.AccountKeeper, app.BankKeeper, - app.GetSubspace(stakingtypes.ModuleName), + app.GetSubspace(governorstypes.ModuleName), ) app.MintKeeper = mintkeeper.NewKeeper( @@ -429,14 +443,15 @@ func NewRollapp( app.DistrKeeper = distrkeeper.NewKeeper( appCodec, keys[distrtypes.StoreKey], app.GetSubspace(distrtypes.ModuleName), app.AccountKeeper, app.BankKeeper, - &stakingKeeper, &app.SequencersKeeper, authtypes.FeeCollectorName, app.ModuleAccountAddrs(), + &governorsKeeper, &app.SequencersKeeper, authtypes.FeeCollectorName, app.ModuleAccountAddrs(), ) + app.FeeGrantKeeper = feegrantkeeper.NewKeeper(appCodec, keys[feegrant.StoreKey], app.AccountKeeper) app.UpgradeKeeper = upgradekeeper.NewKeeper(skipUpgradeHeights, keys[upgradetypes.StoreKey], appCodec, homePath, app.BaseApp, authtypes.NewModuleAddress(govtypes.ModuleName).String()) - // register the staking hooks - // NOTE: stakingKeeper above is passed by reference, so that it will contain these hooks - app.StakingKeeper = *stakingKeeper.SetHooks(app.DistrKeeper.Hooks()) + // register the governors hooks + // NOTE: governorsKeeper above is passed by reference, so that it will contain these hooks + app.GovernorsKeeper = *governorsKeeper.SetHooks(app.DistrKeeper.Hooks()) app.EpochsKeeper.SetHooks( epochstypes.NewMultiEpochHooks( @@ -463,12 +478,17 @@ func NewRollapp( app.EvmKeeper = evmkeeper.NewKeeper( appCodec, keys[evmtypes.StoreKey], tkeys[evmtypes.TransientKey], authtypes.NewModuleAddress(govtypes.ModuleName), app.AccountKeeper, app.BankKeeper, app.SequencersKeeper, app.FeeMarketKeeper, - tracer, app.GetSubspace(evmtypes.ModuleName), + nil, geth.NewEVM, tracer, app.GetSubspace(evmtypes.ModuleName), + ) + + app.Erc20Keeper = erc20keeper.NewKeeper( + keys[erc20types.StoreKey], appCodec, authtypes.NewModuleAddress(govtypes.ModuleName), + app.AccountKeeper, app.BankKeeper, app.EvmKeeper, app.GovernorsKeeper, ) // Create IBC Keeper app.IBCKeeper = ibckeeper.NewKeeper( - appCodec, keys[ibchost.StoreKey], app.GetSubspace(ibchost.ModuleName), app.StakingKeeper, app.UpgradeKeeper, scopedIBCKeeper, + appCodec, keys[ibchost.StoreKey], app.GetSubspace(ibchost.ModuleName), app.SequencersKeeper, app.UpgradeKeeper, scopedIBCKeeper, ) // Register the proposal types @@ -482,6 +502,7 @@ func NewRollapp( AddRoute(distrtypes.RouterKey, distr.NewCommunityPoolSpendProposalHandler(app.DistrKeeper)). AddRoute(upgradetypes.RouterKey, upgrade.NewSoftwareUpgradeProposalHandler(app.UpgradeKeeper)). AddRoute(ibcclienttypes.RouterKey, ibcclient.NewClientProposalHandler(app.IBCKeeper.ClientKeeper)). + AddRoute(seqtypes.RouterKey, sequencers.NewUpdatePermissionProposalHandler(&app.SequencersKeeper)). AddRoute(erc20types.RouterKey, erc20.NewErc20ProposalHandler(&app.Erc20Keeper)) govConfig := govtypes.DefaultConfig() @@ -491,18 +512,7 @@ func NewRollapp( */ govKeeper := govkeeper.NewKeeper( appCodec, keys[govtypes.StoreKey], app.GetSubspace(govtypes.ModuleName), app.AccountKeeper, app.BankKeeper, - &stakingKeeper, govRouter, app.MsgServiceRouter(), govConfig, - ) - - // Create evmos keeper - app.ClaimsKeeper = claimskeeper.NewKeeper( - appCodec, keys[claimstypes.StoreKey], authtypes.NewModuleAddress(govtypes.ModuleName), - app.AccountKeeper, app.BankKeeper, &stakingKeeper, app.DistrKeeper, app.IBCKeeper.ChannelKeeper, - ) - - app.Erc20Keeper = erc20keeper.NewKeeper( - keys[erc20types.StoreKey], appCodec, authtypes.NewModuleAddress(govtypes.ModuleName), - app.AccountKeeper, app.BankKeeper, app.EvmKeeper, app.StakingKeeper, + &governorsKeeper, govRouter, app.MsgServiceRouter(), govConfig, ) app.GovKeeper = *govKeeper.SetHooks( @@ -524,14 +534,15 @@ func NewRollapp( app.DenomMetadataKeeper = denommetadatamodulekeeper.NewKeeper( appCodec, keys[denommetadatamoduletypes.StoreKey], + app.SequencersKeeper, app.BankKeeper, + app.TransferKeeper, denomMetadataHooks, - app.GetSubspace(denommetadatamoduletypes.ModuleName), ) app.TransferKeeper = transferkeeper.NewKeeper( appCodec, keys[ibctransfertypes.StoreKey], app.GetSubspace(ibctransfertypes.ModuleName), - app.ClaimsKeeper, // ICS4 Wrapper: claims IBC middleware + app.IBCKeeper.ChannelKeeper, app.IBCKeeper.ChannelKeeper, &app.IBCKeeper.PortKeeper, app.AccountKeeper, app.BankKeeper, scopedTransferKeeper, app.Erc20Keeper, // Add ERC20 Keeper for ERC20 transfers @@ -540,16 +551,12 @@ func NewRollapp( app.HubGenesisKeeper = hubgenkeeper.NewKeeper( appCodec, keys[hubgentypes.StoreKey], - app.GetSubspace(hubgentypes.ModuleName), app.IBCKeeper.ChannelKeeper, + app.SequencersKeeper, app.BankKeeper, app.AccountKeeper, ) - // NOTE: app.Erc20Keeper is already initialized elsewhere - // Set the ICS4 wrappers for custom module middlewares - app.ClaimsKeeper.SetICS4Wrapper(app.IBCKeeper.ChannelKeeper) - // Override the ICS20 app module transferModule := transfer.NewAppModule(app.TransferKeeper) @@ -557,7 +564,6 @@ func NewRollapp( var transferStack ibcporttypes.IBCModule transferStack = transfer.NewIBCModule(app.TransferKeeper) - transferStack = claims.NewIBCMiddleware(*app.ClaimsKeeper, transferStack) transferStack = erc20.NewIBCMiddleware(app.Erc20Keeper, transferStack) // Create static IBC router, add transfer route, then set and seal it @@ -571,18 +577,20 @@ func NewRollapp( // must be passed by reference here. modules := []module.AppModule{ - genutil.NewAppModule( - app.AccountKeeper, app.StakingKeeper, app.BaseApp.DeliverTx, - encodingConfig.TxConfig, - ), + // genutil.NewAppModule( + // app.AccountKeeper, app.StakingKeeper, app.BaseApp.DeliverTx, + // encodingConfig.TxConfig, + // ), auth.NewAppModule(appCodec, app.AccountKeeper, nil), + authzmodule.NewAppModule(appCodec, app.AuthzKeeper, app.AccountKeeper, app.BankKeeper, app.interfaceRegistry), vesting.NewAppModule(app.AccountKeeper, app.BankKeeper), bank.NewAppModule(appCodec, app.BankKeeper, app.AccountKeeper), capability.NewAppModule(appCodec, *app.CapabilityKeeper), + feegrantmodule.NewAppModule(appCodec, app.AccountKeeper, app.BankKeeper, app.FeeGrantKeeper, app.interfaceRegistry), gov.NewAppModule(appCodec, app.GovKeeper, app.AccountKeeper, app.BankKeeper), mint.NewAppModule(appCodec, app.MintKeeper, app.AccountKeeper, app.BankKeeper), - distr.NewAppModule(appCodec, app.DistrKeeper, app.AccountKeeper, app.BankKeeper, app.StakingKeeper), - staking.NewAppModule(appCodec, app.StakingKeeper, app.AccountKeeper, app.BankKeeper), + distr.NewAppModule(appCodec, app.DistrKeeper, app.AccountKeeper, app.BankKeeper, app.GovernorsKeeper), + governors.NewAppModule(app.GovernorsKeeper, app.AccountKeeper, app.BankKeeper), sequencers.NewAppModule(appCodec, app.SequencersKeeper), epochs.NewAppModule(appCodec, app.EpochsKeeper), params.NewAppModule(app.ParamsKeeper), @@ -591,12 +599,11 @@ func NewRollapp( hubgenesis.NewAppModule(appCodec, app.HubGenesisKeeper, app.AccountKeeper), // Ethermint app modules - evm.NewAppModule(app.EvmKeeper, app.AccountKeeper, app.GetSubspace(evmtypes.ModuleName)), + evm.NewAppModule(app.EvmKeeper, app.AccountKeeper, app.BankKeeper, app.GetSubspace(evmtypes.ModuleName)), feemarket.NewAppModule(app.FeeMarketKeeper, app.GetSubspace(feemarkettypes.ModuleName)), // Evmos app modules transferModule, erc20.NewAppModule(app.Erc20Keeper, app.AccountKeeper, app.GetSubspace(erc20types.ModuleName)), - claims.NewAppModule(appCodec, *app.ClaimsKeeper, app.GetSubspace(claimstypes.ModuleName)), denommetadata.NewAppModule(app.DenomMetadataKeeper, app.BankKeeper), } @@ -605,7 +612,6 @@ func NewRollapp( // During begin block slashing happens after distr.BeginBlocker so that // there is nothing left over in the validator fee pool, so as to keep the // CanWithdrawInvariant invariant. - // NOTE: staking module is required if HistoricalEntries param > 0 // NOTE: capability module's beginblocker must come before any modules using capabilities (e.g. IBC) beginBlockersList := []string{ upgradetypes.ModuleName, @@ -614,17 +620,18 @@ func NewRollapp( feemarkettypes.ModuleName, evmtypes.ModuleName, distrtypes.ModuleName, - stakingtypes.ModuleName, + governorstypes.ModuleName, seqtypes.ModuleName, vestingtypes.ModuleName, ibchost.ModuleName, ibctransfertypes.ModuleName, authtypes.ModuleName, + authz.ModuleName, banktypes.ModuleName, govtypes.ModuleName, erc20types.ModuleName, - claimstypes.ModuleName, - genutiltypes.ModuleName, + // genutiltypes.ModuleName, + feegrant.ModuleName, epochstypes.ModuleName, paramstypes.ModuleName, hubgentypes.ModuleName, @@ -634,19 +641,20 @@ func NewRollapp( endBlockersList := []string{ govtypes.ModuleName, - stakingtypes.ModuleName, + governorstypes.ModuleName, evmtypes.ModuleName, seqtypes.ModuleName, feemarkettypes.ModuleName, capabilitytypes.ModuleName, authtypes.ModuleName, + authz.ModuleName, banktypes.ModuleName, distrtypes.ModuleName, vestingtypes.ModuleName, minttypes.ModuleName, erc20types.ModuleName, - claimstypes.ModuleName, - genutiltypes.ModuleName, + // genutiltypes.ModuleName, + feegrant.ModuleName, epochstypes.ModuleName, paramstypes.ModuleName, upgradetypes.ModuleName, @@ -666,24 +674,25 @@ func NewRollapp( initGenesisList := []string{ capabilitytypes.ModuleName, authtypes.ModuleName, + authz.ModuleName, banktypes.ModuleName, evmtypes.ModuleName, feemarkettypes.ModuleName, distrtypes.ModuleName, - stakingtypes.ModuleName, + governorstypes.ModuleName, seqtypes.ModuleName, vestingtypes.ModuleName, epochstypes.ModuleName, govtypes.ModuleName, minttypes.ModuleName, ibchost.ModuleName, - genutiltypes.ModuleName, + // genutiltypes.ModuleName, erc20types.ModuleName, - claimstypes.ModuleName, paramstypes.ModuleName, upgradetypes.ModuleName, ibctransfertypes.ModuleName, + feegrant.ModuleName, hubgentypes.ModuleName, denommetadatamoduletypes.ModuleName, } @@ -739,27 +748,30 @@ func NewRollapp( func (app *App) setAnteHandler(txConfig client.TxConfig, maxGasWanted uint64) { options := ethante.HandlerOptions{ - Cdc: app.appCodec, AccountKeeper: app.AccountKeeper, BankKeeper: app.BankKeeper, - ExtensionOptionChecker: ethermint.HasDynamicFeeExtensionOption, + SignModeHandler: txConfig.SignModeHandler(), EvmKeeper: app.EvmKeeper, - StakingKeeper: app.StakingKeeper, - FeegrantKeeper: nil, - DistributionKeeper: app.DistrKeeper, + FeegrantKeeper: app.FeeGrantKeeper, IBCKeeper: app.IBCKeeper, FeeMarketKeeper: app.FeeMarketKeeper, - SignModeHandler: txConfig.SignModeHandler(), - SigGasConsumer: ethante.SigVerificationGasConsumer, + SigGasConsumer: ethante.DefaultSigVerificationGasConsumer, MaxTxGasWanted: maxGasWanted, - TxFeeChecker: ethanteevm.NewDynamicFeeChecker(app.EvmKeeper), + ExtensionOptionChecker: ethermint.HasDynamicFeeExtensionOption, + TxFeeChecker: ethante.NewDynamicFeeChecker(app.EvmKeeper), + DisabledAuthzMsgs: []string{ + sdk.MsgTypeURL(&evmtypes.MsgEthereumTx{}), + sdk.MsgTypeURL(&vestingtypes.MsgCreateVestingAccount{}), + sdk.MsgTypeURL(&vestingtypes.MsgCreatePeriodicVestingAccount{}), + sdk.MsgTypeURL(&vestingtypes.MsgCreatePermanentLockedAccount{}), + }, } - - if err := options.Validate(); err != nil { + handler, err := ethante.NewAnteHandler(options) + if err != nil { panic(err) } - app.SetAnteHandler(ethante.NewAnteHandler(options)) + app.SetAnteHandler(handler) } func (app *App) setPostHandler() { @@ -793,7 +805,7 @@ func (app *App) InitChainer(ctx sdk.Context, req abci.RequestInitChain) abci.Res panic(err) } - //Passing the dymint sequencers to the sequencer module from RequestInitChain + // Passing the dymint sequencers to the sequencer module from RequestInitChain if len(req.Validators) == 0 { panic("Dymint have no sequencers defined on InitChain") } @@ -959,12 +971,7 @@ func (app *App) GetBaseApp() *baseapp.BaseApp { // GetStakingKeeper implements the TestingApp interface. func (app *App) GetStakingKeeper() ibctestingtypes.StakingKeeper { - return app.StakingKeeper -} - -// GetStakingKeeper implements the TestingApp interface. -func (app *App) GetStakingKeeperSDK() stakingkeeper.Keeper { - return app.StakingKeeper + return app.SequencersKeeper } // GetIBCKeeper implements the TestingApp interface. @@ -1009,7 +1016,7 @@ func initParamsKeeper(appCodec codec.BinaryCodec, legacyAmino *codec.LegacyAmino paramsKeeper.Subspace(authtypes.ModuleName) paramsKeeper.Subspace(banktypes.ModuleName) - paramsKeeper.Subspace(stakingtypes.ModuleName) + paramsKeeper.Subspace(governorstypes.ModuleName) paramsKeeper.Subspace(seqtypes.ModuleName) paramsKeeper.Subspace(minttypes.ModuleName) paramsKeeper.Subspace(epochstypes.ModuleName) @@ -1017,15 +1024,12 @@ func initParamsKeeper(appCodec codec.BinaryCodec, legacyAmino *codec.LegacyAmino paramsKeeper.Subspace(govtypes.ModuleName).WithKeyTable(govv1.ParamKeyTable()) paramsKeeper.Subspace(ibctransfertypes.ModuleName) paramsKeeper.Subspace(ibchost.ModuleName) - paramsKeeper.Subspace(hubgentypes.ModuleName) // ethermint subspaces paramsKeeper.Subspace(evmtypes.ModuleName) paramsKeeper.Subspace(feemarkettypes.ModuleName) // evmos subspaces paramsKeeper.Subspace(erc20types.ModuleName) - paramsKeeper.Subspace(claimstypes.ModuleName) - paramsKeeper.Subspace(denommetadatamoduletypes.ModuleName) return paramsKeeper } diff --git a/app/encoding.go b/app/encoding.go index 7af99fe7..4409c7db 100644 --- a/app/encoding.go +++ b/app/encoding.go @@ -6,8 +6,8 @@ import ( "github.com/cosmos/cosmos-sdk/std" sdk "github.com/cosmos/cosmos-sdk/types" - cryptocodec "github.com/evmos/evmos/v12/crypto/codec" - ethermint "github.com/evmos/evmos/v12/types" + cryptocodec "github.com/evmos/ethermint/crypto/codec" + ethermint "github.com/evmos/ethermint/types" "github.com/dymensionxyz/rollapp-evm/app/params" ) diff --git a/app/export.go b/app/export.go index f0fd2974..8ff821f3 100644 --- a/app/export.go +++ b/app/export.go @@ -7,7 +7,6 @@ import ( servertypes "github.com/cosmos/cosmos-sdk/server/types" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/x/staking" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" tmproto "github.com/tendermint/tendermint/proto/tendermint/types" ) @@ -33,13 +32,11 @@ func (app *App) ExportAppStateAndValidators( return servertypes.ExportedApp{}, err } - validators, err := staking.WriteValidators(ctx, app.StakingKeeper.Keeper) - if err != nil { - return servertypes.ExportedApp{}, err - } + // TODO: read validators from sequencer modules + return servertypes.ExportedApp{ - AppState: appState, - Validators: validators, + AppState: appState, + // Validators: validators, Height: height, ConsensusParams: app.BaseApp.GetConsensusParams(ctx), }, nil @@ -68,13 +65,13 @@ func (app *App) prepForZeroHeightGenesis(ctx sdk.Context, jailAllowedAddrs []str /* Handle fee distribution state. */ // withdraw all validator commission - app.StakingKeeper.IterateValidators(ctx, func(_ int64, val stakingtypes.ValidatorI) (stop bool) { + app.GovernorsKeeper.IterateValidators(ctx, func(_ int64, val stakingtypes.ValidatorI) (stop bool) { _, _ = app.DistrKeeper.WithdrawValidatorCommission(ctx, val.GetOperator()) return false }) // withdraw all delegator rewards - dels := app.StakingKeeper.GetAllDelegations(ctx) + dels := app.GovernorsKeeper.GetAllDelegations(ctx) for _, delegation := range dels { valAddr, err := sdk.ValAddressFromBech32(delegation.ValidatorAddress) if err != nil { @@ -100,7 +97,7 @@ func (app *App) prepForZeroHeightGenesis(ctx sdk.Context, jailAllowedAddrs []str ctx = ctx.WithBlockHeight(0) // reinitialize all validators - app.StakingKeeper.IterateValidators(ctx, func(_ int64, val stakingtypes.ValidatorI) (stop bool) { + app.GovernorsKeeper.IterateValidators(ctx, func(_ int64, val stakingtypes.ValidatorI) (stop bool) { // donate any unwithdrawn outstanding reward fraction tokens to the community pool scraps := app.DistrKeeper.GetValidatorOutstandingRewardsCoins(ctx, val.GetOperator()) feePool := app.DistrKeeper.GetFeePool(ctx) @@ -142,20 +139,20 @@ func (app *App) prepForZeroHeightGenesis(ctx sdk.Context, jailAllowedAddrs []str /* Handle staking state. */ // iterate through redelegations, reset creation height - app.StakingKeeper.IterateRedelegations(ctx, func(_ int64, red stakingtypes.Redelegation) (stop bool) { + app.GovernorsKeeper.IterateRedelegations(ctx, func(_ int64, red stakingtypes.Redelegation) (stop bool) { for i := range red.Entries { red.Entries[i].CreationHeight = 0 } - app.StakingKeeper.SetRedelegation(ctx, red) + app.GovernorsKeeper.SetRedelegation(ctx, red) return false }) // iterate through unbonding delegations, reset creation height - app.StakingKeeper.IterateUnbondingDelegations(ctx, func(_ int64, ubd stakingtypes.UnbondingDelegation) (stop bool) { + app.GovernorsKeeper.IterateUnbondingDelegations(ctx, func(_ int64, ubd stakingtypes.UnbondingDelegation) (stop bool) { for i := range ubd.Entries { ubd.Entries[i].CreationHeight = 0 } - app.StakingKeeper.SetUnbondingDelegation(ctx, ubd) + app.GovernorsKeeper.SetUnbondingDelegation(ctx, ubd) return false }) @@ -167,7 +164,7 @@ func (app *App) prepForZeroHeightGenesis(ctx sdk.Context, jailAllowedAddrs []str for ; iter.Valid(); iter.Next() { addr := sdk.ValAddress(stakingtypes.AddressFromValidatorsKey(iter.Key())) - validator, found := app.StakingKeeper.GetValidator(ctx, addr) + validator, found := app.GovernorsKeeper.GetGovernor(ctx, addr) if !found { panic("expected validator, not found") } @@ -177,7 +174,7 @@ func (app *App) prepForZeroHeightGenesis(ctx sdk.Context, jailAllowedAddrs []str validator.Jailed = true } - app.StakingKeeper.SetValidator(ctx, validator) + app.GovernorsKeeper.SetGovernor(ctx, validator) counter++ } @@ -186,7 +183,7 @@ func (app *App) prepForZeroHeightGenesis(ctx sdk.Context, jailAllowedAddrs []str return } - _, err := app.StakingKeeper.ApplyAndReturnValidatorSetUpdates(ctx) + err := app.GovernorsKeeper.ApplyGovernorSetUpdates(ctx) if err != nil { panic(err) } diff --git a/cmd/rollappd/cmd/genaccounts.go b/cmd/rollappd/cmd/genaccounts.go index 4c121ee1..a2e8f8f5 100644 --- a/cmd/rollappd/cmd/genaccounts.go +++ b/cmd/rollappd/cmd/genaccounts.go @@ -7,6 +7,7 @@ import ( "fmt" "github.com/spf13/cobra" + tmos "github.com/tendermint/tendermint/libs/os" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" @@ -16,13 +17,11 @@ import ( authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" authvesting "github.com/cosmos/cosmos-sdk/x/auth/vesting/types" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" - "github.com/cosmos/cosmos-sdk/x/genutil" - genutiltypes "github.com/cosmos/cosmos-sdk/x/genutil/types" ethtutil "github.com/ethereum/go-ethereum/common" - "github.com/evmos/evmos/v12/crypto/hd" - ethermint "github.com/evmos/evmos/v12/types" - evmtypes "github.com/evmos/evmos/v12/x/evm/types" + "github.com/evmos/ethermint/crypto/hd" + ethermint "github.com/evmos/ethermint/types" + evmtypes "github.com/evmos/ethermint/x/evm/types" ) const ( @@ -136,7 +135,7 @@ contain valid denominations. Accounts may optionally be supplied with vesting pa } genFile := config.GenesisFile() - appState, genDoc, err := genutiltypes.GenesisStateFromGenFile(genFile) + appState, genDoc, err := GenesisStateFromGenFile(genFile) if err != nil { return fmt.Errorf("failed to unmarshal genesis state: %w", err) } @@ -194,13 +193,12 @@ contain valid denominations. Accounts may optionally be supplied with vesting pa } appState[banktypes.ModuleName] = bankGenStateBz - appStateJSON, err := json.Marshal(appState) + genDoc["app_state"] = appState + genDocBytes, err := json.MarshalIndent(genDoc, "", " ") if err != nil { - return fmt.Errorf("failed to marshal application genesis state: %w", err) + return err } - - genDoc.AppState = appStateJSON - return genutil.ExportGenesisFile(genDoc, genFile) + return tmos.WriteFile(genFile, genDocBytes, 0o644) }, } diff --git a/cmd/rollappd/cmd/root.go b/cmd/rollappd/cmd/root.go index 5f93f5a7..d68eeb37 100644 --- a/cmd/rollappd/cmd/root.go +++ b/cmd/rollappd/cmd/root.go @@ -1,6 +1,7 @@ package cmd import ( + "encoding/json" "errors" "fmt" "io" @@ -12,7 +13,7 @@ import ( "github.com/cosmos/cosmos-sdk/client/flags" pruningtypes "github.com/cosmos/cosmos-sdk/pruning/types" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/evmos/evmos/v12/crypto/hd" + "github.com/evmos/ethermint/crypto/hd" berpcconfig "github.com/bcdevtools/block-explorer-rpc-cosmos/be_rpc/config" "github.com/cosmos/cosmos-sdk/client/rpc" @@ -28,6 +29,7 @@ import ( tmcfg "github.com/tendermint/tendermint/config" tmcli "github.com/tendermint/tendermint/libs/cli" tmlog "github.com/tendermint/tendermint/libs/log" + tmos "github.com/tendermint/tendermint/libs/os" dbm "github.com/tendermint/tm-db" rdkserver "github.com/dymensionxyz/dymension-rdk/server" @@ -37,10 +39,11 @@ import ( "github.com/dymensionxyz/rollapp-evm/app/params" "github.com/dymensionxyz/rollapp-evm/utils" - ethermintclient "github.com/evmos/evmos/v12/client" + ethermintclient "github.com/evmos/ethermint/client" - evmserver "github.com/evmos/evmos/v12/server" - evmconfig "github.com/evmos/evmos/v12/server/config" + rdk_genutilcli "github.com/dymensionxyz/dymension-rdk/x/genutil/client/cli" + evmserver "github.com/evmos/ethermint/server" + evmconfig "github.com/evmos/ethermint/server/config" ) const rollappAscii = ` @@ -109,6 +112,18 @@ func NewRootCmd() (*cobra.Command, params.EncodingConfig) { //create Block Explorer Json-RPC toml config file berpcconfig.EnsureRoot(home, berpcconfig.DefaultBeJsonRpcConfig()) + // Set config + sdkconfig := sdk.GetConfig() + utils.SetBip44CoinType(sdkconfig) + cfg := serverCtx.Config + genFile := cfg.GenesisFile() + if tmos.FileExists(genFile) { + genDoc, _ := GenesisDocFromFile(genFile) + rdk_utils.SetPrefixes(sdkconfig, genDoc["bech32_prefix"].(string)) + } else { + rdk_utils.SetPrefixes(sdkconfig, "ethm") + } + sdkconfig.Seal() return nil }, } @@ -155,18 +170,38 @@ func initRootCmd( rootCmd *cobra.Command, encodingConfig params.EncodingConfig, ) { - // Set config - sdkconfig := sdk.GetConfig() - rdk_utils.SetPrefixes(sdkconfig, app.AccountAddressPrefix) - utils.SetBip44CoinType(sdkconfig) - sdkconfig.Seal() - ac := appCreator{ encCfg: encodingConfig, } + + initCmd := genutilcli.InitCmd(app.ModuleBasics, app.DefaultNodeHome) + initCmd.Flags().String(FlagBech32Prefix, "ethm", "set bech32 prefix for rollapp, if left blank default value is 'ethm'") + + initCmd.PostRunE = func(cmd *cobra.Command, args []string) error { + prefix, _ := initCmd.Flags().GetString(FlagBech32Prefix) + + serverCtx := server.GetServerContextFromCmd(cmd) + config := serverCtx.Config + path := config.GenesisFile() + + genDoc, err := GenesisDocFromFile(path) + if err != nil { + fmt.Println("Failed to read genesis doc from file", err) + } + + genDoc["bech32_prefix"] = prefix + + genDocBytes, err := json.MarshalIndent(genDoc, "", " ") + if err != nil { + return err + } + return tmos.WriteFile(path, genDocBytes, 0o644) + + } + rootCmd.AddCommand( - genutilcli.InitCmd(app.ModuleBasics, app.DefaultNodeHome), - genutilcli.CollectGenTxsCmd(banktypes.GenesisBalancesIterator{}, app.DefaultNodeHome), + initCmd, + rdk_genutilcli.CollectGenTxsCmd(banktypes.GenesisBalancesIterator{}, app.DefaultNodeHome), genutilcli.MigrateGenesisCmd(), genutilcli.GenTxCmd(app.ModuleBasics, encodingConfig.TxConfig, banktypes.GenesisBalancesIterator{}, app.DefaultNodeHome), @@ -310,3 +345,52 @@ func (ac appCreator) appExport( return rollapp.ExportAppStateAndValidators(forZeroHeight, jailAllowedAddrs) } + +// GenesisStateFromGenFile creates the core parameters for genesis initialization +// for the application. +// +// NOTE: The pubkey input is this machines pubkey. +func GenesisStateFromGenFile(genFile string) (genesisState map[string]json.RawMessage, genDoc map[string]interface{}, err error) { + if !tmos.FileExists(genFile) { + return genesisState, genDoc, + fmt.Errorf("%s does not exist, run `init` first", genFile) + } + + genDoc, err = GenesisDocFromFile(genFile) + if err != nil { + return genesisState, genDoc, err + } + + bz, err := json.Marshal(genDoc["app_state"]) + if err != nil { + return genesisState, genDoc, err + } + + err = json.Unmarshal(bz, &genesisState) + return genesisState, genDoc, err +} + +// GenesisDocFromFile reads JSON data from a file and unmarshalls it into a GenesisDoc. +func GenesisDocFromFile(genDocFile string) (map[string]interface{}, error) { + jsonBlob, err := os.ReadFile(genDocFile) + if err != nil { + return nil, fmt.Errorf("couldn't read GenesisDoc file: %w", err) + } + + genDoc, err := GenesisDocFromJSON(jsonBlob) + if err != nil { + return nil, fmt.Errorf("error reading GenesisDoc at %s: %w", genDocFile, err) + } + return genDoc, nil +} + +// GenesisDocFromJSON unmarshalls JSON data into a GenesisDoc. +func GenesisDocFromJSON(jsonBlob []byte) (map[string]interface{}, error) { + genDoc := make(map[string]interface{}) + err := json.Unmarshal(jsonBlob, &genDoc) + if err != nil { + return nil, err + } + + return genDoc, err +} diff --git a/cmd/rollappd/cmd/start.go b/cmd/rollappd/cmd/start.go index fa426666..30867f99 100644 --- a/cmd/rollappd/cmd/start.go +++ b/cmd/rollappd/cmd/start.go @@ -50,12 +50,12 @@ import ( dymintnode "github.com/dymensionxyz/dymint/node" dymintrpc "github.com/dymensionxyz/dymint/rpc" - "github.com/evmos/evmos/v12/indexer" - ethserver "github.com/evmos/evmos/v12/server" - "github.com/evmos/evmos/v12/server/config" - ethconfig "github.com/evmos/evmos/v12/server/config" - srvflags "github.com/evmos/evmos/v12/server/flags" - ethermint "github.com/evmos/evmos/v12/types" + "github.com/evmos/ethermint/indexer" + ethserver "github.com/evmos/ethermint/server" + "github.com/evmos/ethermint/server/config" + ethconfig "github.com/evmos/ethermint/server/config" + srvflags "github.com/evmos/ethermint/server/flags" + ethermint "github.com/evmos/ethermint/types" ) const ( @@ -70,6 +70,7 @@ const ( FlagUnsafeSkipUpgrades = "unsafe-skip-upgrades" FlagTrace = "trace" FlagInvCheckPeriod = "inv-check-period" + FlagBech32Prefix = "bech32-prefix" FlagPruning = "pruning" FlagPruningKeepRecent = "pruning-keep-recent" diff --git a/go.mod b/go.mod index a245e9bf..bde7896c 100644 --- a/go.mod +++ b/go.mod @@ -4,14 +4,14 @@ go 1.22.1 require ( cosmossdk.io/errors v1.0.1 - github.com/bcdevtools/block-explorer-rpc-cosmos v1.1.0 - github.com/bcdevtools/evm-block-explorer-rpc-cosmos v1.1.0 + github.com/bcdevtools/block-explorer-rpc-cosmos v1.1.2 + github.com/bcdevtools/evm-block-explorer-rpc-cosmos v1.1.1-de github.com/cosmos/cosmos-sdk v0.46.16 github.com/cosmos/ibc-go/v6 v6.2.1 - github.com/dymensionxyz/dymension-rdk v1.5.0-beta - github.com/dymensionxyz/dymint v1.0.1-alpha.0.20240414124654-eb08e30da2c5 - github.com/ethereum/go-ethereum v1.12.0 - github.com/evmos/evmos/v12 v12.1.6 + github.com/dymensionxyz/dymension-rdk v1.1.0-rc01 + github.com/dymensionxyz/dymint v1.1.0-rc01 + github.com/ethereum/go-ethereum v1.10.26 + github.com/evmos/ethermint v0.22.0 github.com/gorilla/mux v1.8.1 github.com/pkg/errors v0.9.1 github.com/rakyll/statik v0.1.7 @@ -39,6 +39,7 @@ require ( github.com/VictoriaMetrics/fastcache v1.6.0 // indirect github.com/Workiva/go-datastructures v1.0.53 // indirect github.com/agl/ed25519 v0.0.0-20170116200512-5312a6153412 // indirect + github.com/allegro/bigcache v1.2.1 // indirect github.com/armon/go-metrics v0.4.1 // indirect github.com/avast/retry-go/v4 v4.5.0 // indirect github.com/aws/aws-sdk-go v1.44.122 // indirect @@ -100,7 +101,7 @@ require ( github.com/dop251/goja v0.0.0-20230122112309-96b1610dd4f7 // indirect github.com/dustin/go-humanize v1.0.1-0.20200219035652-afde56e7acac // indirect github.com/dvsekhvalnov/jose2go v1.5.0 // indirect - github.com/dymensionxyz/cosmosclient v0.4.2-beta // indirect + github.com/dymensionxyz/cosmosclient v0.4.2-beta.0.20240421130646-b8980ec7aade // indirect github.com/dymensionxyz/dymension/v3 v3.1.0-rc03.0.20240411195658-f7cd96f53b56 // indirect github.com/edsrzf/mmap-go v1.0.0 // indirect github.com/elastic/gosigar v0.14.2 // indirect @@ -261,7 +262,6 @@ require ( github.com/spf13/pflag v1.0.5 // indirect github.com/spf13/viper v1.15.0 // indirect github.com/status-im/keycard-go v0.2.0 // indirect - github.com/stretchr/objx v0.5.0 // indirect github.com/stretchr/testify v1.8.4 // indirect github.com/subosito/gotenv v1.4.2 // indirect github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d // indirect @@ -289,14 +289,14 @@ require ( go.uber.org/mock v0.4.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/crypto v0.19.0 // indirect + golang.org/x/crypto v0.22.0 // indirect golang.org/x/exp v0.0.0-20240213143201-ec583247a57a // indirect golang.org/x/mod v0.15.0 // indirect - golang.org/x/net v0.21.0 // indirect + golang.org/x/net v0.24.0 // indirect golang.org/x/oauth2 v0.16.0 // indirect golang.org/x/sync v0.6.0 // indirect - golang.org/x/sys v0.17.0 // indirect - golang.org/x/term v0.17.0 // indirect + golang.org/x/sys v0.19.0 // indirect + golang.org/x/term v0.19.0 // indirect golang.org/x/text v0.14.0 // indirect golang.org/x/tools v0.18.0 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect @@ -321,8 +321,8 @@ replace ( github.com/centrifuge/go-substrate-rpc-client/v4 => github.com/availproject/go-substrate-rpc-client/v4 v4.0.12-avail-1.4.0-rc1-5e286e3 github.com/confio/ics23/go => github.com/cosmos/cosmos-sdk/ics23/go v0.8.0 // use Evmos geth fork - github.com/ethereum/go-ethereum => github.com/evmos/go-ethereum v1.10.26 - github.com/evmos/evmos/v12 => github.com/dymensionxyz/evmos/v12 v12.1.6-dymension-v0.4.0 + github.com/evmos/ethermint => github.com/dymensionxyz/ethermint v0.22.0-dymension-v0.4.1.0.20240425133751-6d4e0eb538c0 + github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1 github.com/gorilla/rpc => github.com/dymensionxyz/rpc v1.3.1 github.com/libp2p/go-libp2p-pubsub => github.com/dymensionxyz/go-libp2p-pubsub v0.0.0-20231219183151-4504d4995913 diff --git a/go.sum b/go.sum index c4c904d8..5705f12a 100644 --- a/go.sum +++ b/go.sum @@ -219,7 +219,6 @@ github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.3.0/go.mod h1:tPaiy8S5bQ github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 h1:L/gRVlceqvL25UVaW/CKtUDjefjrs0SPonmDGUVOYP0= github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/toml v1.1.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/toml v1.2.1 h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak= github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= @@ -295,10 +294,10 @@ github.com/aws/aws-sdk-go-v2/service/route53 v1.1.1/go.mod h1:rLiOUrPLW/Er5kRcQ7 github.com/aws/aws-sdk-go-v2/service/sso v1.1.1/go.mod h1:SuZJxklHxLAXgLTc1iFXbEWkXs7QRTQpCLGaKIprQW0= github.com/aws/aws-sdk-go-v2/service/sts v1.1.1/go.mod h1:Wi0EBZwiz/K44YliU0EKxqTCJGUfYTWXrrBwkq736bM= github.com/aws/smithy-go v1.1.0/go.mod h1:EzMw8dbp/YJL4A5/sbhGddag+NPT7q084agLbB9LgIw= -github.com/bcdevtools/block-explorer-rpc-cosmos v1.1.0 h1:eSnGgASQu4M0buXP9O3PH5sIpMZyDXYlQuwuZzo2mhY= -github.com/bcdevtools/block-explorer-rpc-cosmos v1.1.0/go.mod h1:AWXHI5ICXK4wB+A59dNddzq5Xdc1wtQDRiIXfMw8cwc= -github.com/bcdevtools/evm-block-explorer-rpc-cosmos v1.1.0 h1:KMFoLpyH/XqOIn0yCA5TDeipbRRSDS0VDUSL2Mf3KL0= -github.com/bcdevtools/evm-block-explorer-rpc-cosmos v1.1.0/go.mod h1:Lf5324n7/VNjCS8MV4/14rtlnUOGZ2+Z04VXOSSjBhs= +github.com/bcdevtools/block-explorer-rpc-cosmos v1.1.2 h1:XS/OOOWXaAvFQ06qzrZStCkayQ8ZOEJM3zE6Pp/rOn4= +github.com/bcdevtools/block-explorer-rpc-cosmos v1.1.2/go.mod h1:AWXHI5ICXK4wB+A59dNddzq5Xdc1wtQDRiIXfMw8cwc= +github.com/bcdevtools/evm-block-explorer-rpc-cosmos v1.1.1-de h1:sv6WXevBeDKzSZWueR8IMH8Vi1yrvlxxbdrfvh5NZzc= +github.com/bcdevtools/evm-block-explorer-rpc-cosmos v1.1.1-de/go.mod h1:t5vfcI+2CQfF3op43ywyLJDa/a00dz6w0HJOoYLEp3A= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/benbjohnson/clock v1.3.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= @@ -326,8 +325,8 @@ github.com/btcsuite/btcd v0.23.0/go.mod h1:0QJIIN1wwIXF/3G/m87gIwGniDMDQqjVn4SZg github.com/btcsuite/btcd v0.23.4 h1:IzV6qqkfwbItOS/sg/aDfPDsjPP8twrCOE2R93hxMlQ= github.com/btcsuite/btcd v0.23.4/go.mod h1:0QJIIN1wwIXF/3G/m87gIwGniDMDQqjVn4SZgnFpsYY= github.com/btcsuite/btcd/btcec/v2 v2.1.0/go.mod h1:2VzYrv4Gm4apmbVVsSq5bqf1Ec8v56E48Vt0Y/umPgA= +github.com/btcsuite/btcd/btcec/v2 v2.1.2/go.mod h1:ctjw4H1kknNJmRN4iP1R7bTQ+v3GJkZBd6mui8ZsAZE= github.com/btcsuite/btcd/btcec/v2 v2.1.3/go.mod h1:ctjw4H1kknNJmRN4iP1R7bTQ+v3GJkZBd6mui8ZsAZE= -github.com/btcsuite/btcd/btcec/v2 v2.2.0/go.mod h1:U7MHm051Al6XmscBQ0BoNydpOTsFAn707034b5nY8zU= github.com/btcsuite/btcd/btcec/v2 v2.3.2 h1:5n0X6hX0Zk+6omWcihdYvdAlGf2DfasC0GMf7DClJ3U= github.com/btcsuite/btcd/btcec/v2 v2.3.2/go.mod h1:zYzJ8etWJQIv1Ogk7OzpWjowwOdXY1W/17j2MW85J04= github.com/btcsuite/btcd/btcutil v1.0.0/go.mod h1:Uoxwv0pqYWhD//tfTiipkxNfdhG9UrLwaeswfjfdF0A= @@ -474,7 +473,6 @@ github.com/cpuguy83/go-md2man v1.0.10 h1:BSKMNlYxDvnunlTymqtgONjNnaRV1sTpcovwwjF github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/cpuguy83/go-md2man/v2 v2.0.3 h1:qMCsGGgs+MAzDFyp9LpAe1Lqy/fY/qCovCm0qnXZOBM= github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creachadair/taskgroup v0.3.2 h1:zlfutDS+5XG40AOxcHDSThxKzns8Tnr9jnr6VqkYlkM= @@ -529,7 +527,7 @@ github.com/dnaeon/go-vcr v1.1.0/go.mod h1:M7tiix8f0r6mKKJ3Yq/kqU1OYf3MnfmBWVbPx/ github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= github.com/docker/cli v24.0.2+incompatible h1:QdqR7znue1mtkXIJ+ruQMGQhpw2JzMJLRXp6zpzF6tM= github.com/docker/cli v24.0.2+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= -github.com/docker/docker v1.6.2/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v1.4.2-0.20180625184442-8e610b2b55bf/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v24.0.2+incompatible h1:eATx+oLz9WdNVkQrr0qjQ8HvRJ4bOOxfzEo8R+dA3cg= github.com/docker/docker v24.0.2+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= @@ -537,8 +535,8 @@ github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5Xh github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/dop251/goja v0.0.0-20211011172007-d99e4b8cbf48/go.mod h1:R9ET47fwRVRPZnOGvHxxhuZcbrMCuiqOz3Rlrh4KSnk= github.com/dop251/goja v0.0.0-20211022113120-dc8c55024d06/go.mod h1:R9ET47fwRVRPZnOGvHxxhuZcbrMCuiqOz3Rlrh4KSnk= -github.com/dop251/goja v0.0.0-20220405120441-9037c2b61cbf/go.mod h1:R9ET47fwRVRPZnOGvHxxhuZcbrMCuiqOz3Rlrh4KSnk= github.com/dop251/goja v0.0.0-20230122112309-96b1610dd4f7 h1:kgvzE5wLsLa7XKfV85VZl40QXaMCaeFtHpPwJ8fhotY= github.com/dop251/goja v0.0.0-20230122112309-96b1610dd4f7/go.mod h1:yRkwfj0CBpOGre+TwBsqPV0IH0Pk73e4PXJOeNDboGs= github.com/dop251/goja_nodejs v0.0.0-20210225215109-d91c329300e7/go.mod h1:hn7BA7c8pLvoGndExHudxTDKZ84Pyvv+90pbBjbTz0Y= @@ -549,16 +547,16 @@ github.com/dustin/go-humanize v1.0.1-0.20200219035652-afde56e7acac h1:opbrjaN/L8 github.com/dustin/go-humanize v1.0.1-0.20200219035652-afde56e7acac/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dvsekhvalnov/jose2go v1.5.0 h1:3j8ya4Z4kMCwT5nXIKFSV84YS+HdqSSO0VsTQxaLAeM= github.com/dvsekhvalnov/jose2go v1.5.0/go.mod h1:QsHjhyTlD/lAVqn/NSbVZmSCGeDehTB/mPZadG+mhXU= -github.com/dymensionxyz/cosmosclient v0.4.2-beta h1:sokBefcN1tIOlUKmB8Q2E9XMJ93LueqtFThiM/kA4DI= -github.com/dymensionxyz/cosmosclient v0.4.2-beta/go.mod h1:GQQu3ITEjWfi5ULR2B6X2i2YZNennY1yzcT5qdL4MGI= -github.com/dymensionxyz/dymension-rdk v1.5.0-beta h1:whKxcgcXB3l7rK7F0Vnq0EF0Ri9475CSZTseaUQN6o0= -github.com/dymensionxyz/dymension-rdk v1.5.0-beta/go.mod h1:kzNFKt3yfFzZ2u3+47Nlpobub3/UXsICOg1WmGud3DE= +github.com/dymensionxyz/cosmosclient v0.4.2-beta.0.20240421130646-b8980ec7aade h1:LHbwDuI4hPNGSA+gWQz4ev0xt8p+ztPLEcZWR7e5YzA= +github.com/dymensionxyz/cosmosclient v0.4.2-beta.0.20240421130646-b8980ec7aade/go.mod h1:UxhLdtWOWg7l6+5Hpkm39Khd23wcr5H62YxM04rMbh8= +github.com/dymensionxyz/dymension-rdk v1.1.0-rc01 h1:GdJETiqMWTrlW8g7KVeiZ4JvYdbSAx+3TGhvWrzGacc= +github.com/dymensionxyz/dymension-rdk v1.1.0-rc01/go.mod h1:17+Fcqq3VXwWwhBshPxlLe3WzPEwdl4zDEYEiP5SiZ8= github.com/dymensionxyz/dymension/v3 v3.1.0-rc03.0.20240411195658-f7cd96f53b56 h1:cmpJYdRviuUfmlJdHrcAND8Jd6JIY4rp63bWAQzPr54= github.com/dymensionxyz/dymension/v3 v3.1.0-rc03.0.20240411195658-f7cd96f53b56/go.mod h1:3Pfrr8j/BR9ztNKztGfC5PqDiO6CcrzMLCJtFtPEVW4= -github.com/dymensionxyz/dymint v1.0.1-alpha.0.20240414124654-eb08e30da2c5 h1:7UEyfIyW54zJXUL4hSAJdLol7CkJtD0eL865vLTf9Lg= -github.com/dymensionxyz/dymint v1.0.1-alpha.0.20240414124654-eb08e30da2c5/go.mod h1:0h9bBg5vdTqkAdiWIaKv5UutD98+KUNODDy80dXMW9o= -github.com/dymensionxyz/evmos/v12 v12.1.6-dymension-v0.4.0 h1:coT48UnJcSCBYu8+5KLNtvMmf2h0ba1ktS1aTUbni2s= -github.com/dymensionxyz/evmos/v12 v12.1.6-dymension-v0.4.0/go.mod h1:CI6D89pkoiIm4BjoMFNnEaCLdKBEobLuwvhS0c1zh7Y= +github.com/dymensionxyz/dymint v1.1.0-rc01 h1:kiN+HSXOMi7V3cVOPvjrWTRIS0kyKJnooJ1T8v/2umk= +github.com/dymensionxyz/dymint v1.1.0-rc01/go.mod h1:QSXwtiNaxGQLguAsDMubrr18fY4ss72sEBVOu+nVLj8= +github.com/dymensionxyz/ethermint v0.22.0-dymension-v0.4.1.0.20240425133751-6d4e0eb538c0 h1:qv+ZyOSgkbKmJ7AZ8Bdznyn6UfGMY70RuBzGwA4QLes= +github.com/dymensionxyz/ethermint v0.22.0-dymension-v0.4.1.0.20240425133751-6d4e0eb538c0/go.mod h1:I4zuwDF3uFyjBpP7EFwc6szdCP9yqOQ/cwjoa0oL6/E= github.com/dymensionxyz/go-libp2p-pubsub v0.0.0-20231219183151-4504d4995913 h1:sR3nGYRlktL2Xfj5pcOhgG2bvlBOZ14meqdu2TKkSCU= github.com/dymensionxyz/go-libp2p-pubsub v0.0.0-20231219183151-4504d4995913/go.mod h1:1OxbaT/pFRO5h+Dpze8hdHQ63R0ke55XTs6b6NwLLkw= github.com/dymensionxyz/rpc v1.3.1 h1:7EXWIobaBes5zldRvTIg7TmNsEKjicrWA/OjCc0NaGs= @@ -583,8 +581,9 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.m github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/evmos/go-ethereum v1.10.26 h1:7wlczxUWTwhzJJUyh3Kkqt3/5fdSJzh8c42boc9GuII= -github.com/evmos/go-ethereum v1.10.26/go.mod h1:EYFyF19u3ezGLD4RqOkLq+ZCXzYbLoNDdZlMt7kyKFg= +github.com/ethereum/go-ethereum v1.10.17/go.mod h1:Lt5WzjM07XlXc95YzrhosmR4J9Ahd6X2wyEV2SvGhk0= +github.com/ethereum/go-ethereum v1.10.26 h1:i/7d9RBBwiXCEuyduBQzJw/mKmnvzsN14jqBmytw72s= +github.com/ethereum/go-ethereum v1.10.26/go.mod h1:EYFyF19u3ezGLD4RqOkLq+ZCXzYbLoNDdZlMt7kyKFg= github.com/facebookgo/ensure v0.0.0-20200202191622-63f1cf65ac4c h1:8ISkoahWXwZR41ois5lSJBSVw4D0OV19Ht/JSTzvSv0= github.com/facebookgo/ensure v0.0.0-20200202191622-63f1cf65ac4c/go.mod h1:Yg+htXGokKKdzcwhuNDwVvN+uBxDGXJ7G/VN1d8fa64= github.com/facebookgo/stack v0.0.0-20160209184415-751773369052 h1:JWuenKqqX8nojtoVVWjGfOF9635RETekkoH6Cc9SX0A= @@ -598,7 +597,6 @@ github.com/felixge/httpsnoop v1.0.2 h1:+nS9g82KMXccJ/wp0zyRW9ZBHFETmMGtkk+2CTTrW github.com/felixge/httpsnoop v1.0.2/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/filecoin-project/go-jsonrpc v0.3.1 h1:qwvAUc5VwAkooquKJmfz9R2+F8znhiqcNHYjEp/NM10= github.com/filecoin-project/go-jsonrpc v0.3.1/go.mod h1:jBSvPTl8V1N7gSTuCR4bis8wnQnIjHbRPpROol6iQKM= -github.com/fjl/gencodec v0.0.0-20220412091415-8bb9e558978c/go.mod h1:AzA8Lj6YtixmJWL+wkKoBGsLWy9gFrAzi4g+5bCKwpY= github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5 h1:FtmdgXiUlNeRsoNMFlKLDt+S+6hbjVMEW6RGQ7aUf7c= github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0= github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= @@ -617,7 +615,6 @@ github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMo github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= -github.com/garslo/gogen v0.0.0-20170306192744-1d203ffc1f61/go.mod h1:Q0X6pkwTILDlzrGEckF6HKjXe48EgsY/l7K7vhY4MW8= github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff h1:tY80oXqGNY4FhTFhk+o9oFHGINQ/+vhlm8HFzi6znCI= github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff/go.mod h1:x7DCsMOv1taUwEWCzT4cmDeAkigA5/QCwUodaVOe8Ww= github.com/getkin/kin-openapi v0.53.0/go.mod h1:7Yn5whZr5kJi6t+kShccXS8ae1APpYTW6yheSwk8Yi4= @@ -937,7 +934,7 @@ github.com/holiman/uint256 v1.2.2 h1:TXKcSGc2WaxPD2+bmzAsVthL4+pEN0YwXcL5qED83vk github.com/holiman/uint256 v1.2.2/go.mod h1:SC8Ryt4n+UBbPbIBKaG9zbbDlp4jOru9xFZmPzLUTxw= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= -github.com/huin/goupnp v1.0.3/go.mod h1:ZxNlw5WqJj6wSsRK5+YfflQGXYfccj5VgQsMNixHM7Y= +github.com/huin/goupnp v1.0.3-0.20220313090229-ca81a64b4204/go.mod h1:ZxNlw5WqJj6wSsRK5+YfflQGXYfccj5VgQsMNixHM7Y= github.com/huin/goupnp v1.3.0 h1:UvLUlWDNpoUdYzb2TCn+MuTWtcjXKSza2n6CBdQ0xXc= github.com/huin/goupnp v1.3.0/go.mod h1:gnGPsThkYa7bFi/KWmEysQRf48l2dvR5bxr2OFckNX8= github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150/go.mod h1:PpLOETDnJ0o3iZrZfqZzyLl6l7F3c6L1oWn7OICBi6o= @@ -1054,7 +1051,6 @@ github.com/kr/pty v1.1.3/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v0.0.0-20170224010052-a616ab194758/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/labstack/echo/v4 v4.2.1/go.mod h1:AA49e0DZ8kk5jTOOCKNuPR6oTnBS0dYiM4FW1e6jwpg= github.com/labstack/gommon v0.3.0/go.mod h1:MULnywXg0yavhxWKc+lOruYdAhDwPK9wf0OL7NoOu+k= @@ -1244,7 +1240,6 @@ github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= @@ -1495,14 +1490,12 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5 github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8= github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= -github.com/supranational/blst v0.3.8-0.20220526154634-513d2456b344/go.mod h1:jZJtfjgudtNl4en1tzwPIV3KjUnQUvG3/j+w+fVonLw= github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 h1:epCh84lMvA70Z7CTTCmYQn2CKbY8j86K7/FAIr141uY= github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7/go.mod h1:q4W45IWZaF22tdD+VEXcAWRA037jwmWEB5VWYORlTpc= github.com/tarm/serial v0.0.0-20180830185346-98f6abe2eb07/go.mod h1:kDXzergiv9cbyO7IOYJZWg1U88JhDg3PB6klq9Hg2pA= @@ -1587,7 +1580,6 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/zondax/hid v0.9.2 h1:WCJFnEDMiqGF64nlZz28E9qLVZ0KSJ7xpc5DLEyma2U= github.com/zondax/hid v0.9.2/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWpEM= @@ -1683,8 +1675,8 @@ golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.19.0 h1:ENy+Az/9Y1vSrlrvBSyna3PITt4tiZLf7sgCjZBX7Wo= -golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= +golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30= +golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -1699,7 +1691,6 @@ golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= -golang.org/x/exp v0.0.0-20220426173459-3bcf042a4bf5/go.mod h1:lgLbSvA5ygNOMpwM/9anMpWVlVJ7Z+cHWq/eFuinpGE= golang.org/x/exp v0.0.0-20240213143201-ec583247a57a h1:HinSgX1tJRX3KsL//Gxynpw5CTOAIPhgL4W8PNiIpVE= golang.org/x/exp v0.0.0-20240213143201-ec583247a57a/go.mod h1:CxmFvTBINI24O/j8iY7H1xHzx2i4OsyguNBmN/uPtqc= golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= @@ -1729,8 +1720,6 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= -golang.org/x/mod v0.6.0-dev.0.20211013180041-c96bc1413d57/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.15.0 h1:SernR4v+D55NyBH2QiEQrlBAnj1ECL6AGrA5+dPaMY8= golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= @@ -1802,8 +1791,8 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= -golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4= -golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= +golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w= +golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -1937,6 +1926,7 @@ golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210819135213-f52c844e1c1c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1967,14 +1957,14 @@ golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y= -golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o= +golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.17.0 h1:mkTF7LCd6WGJNL3K1Ad7kwxNfYAW6a8a8QqtMblp/4U= -golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= +golang.org/x/term v0.19.0 h1:+ThwsDv+tYfnJFhF4L8jITxu1tdTWRTZpdsWgEgjL6Q= +golang.org/x/term v0.19.0/go.mod h1:2CuTdWZ7KHSQwUzKva0cbMg6q2DMI3Mmxp+gKJbskEk= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -2022,7 +2012,6 @@ golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191126055441-b0650ceb63d9/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= @@ -2061,7 +2050,6 @@ golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.8-0.20211029000441-d6a9af8af023/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.18.0 h1:k8NLag8AGHnn+PHbl7g43CtqZAwG60vZkLqgyZgIHgQ= golang.org/x/tools v0.18.0/go.mod h1:GL7B4CwcLLeo59yx/9UWWuNOW1n3VZ4f5axWfML7Lcg= @@ -2349,9 +2337,11 @@ gopkg.in/natefinch/lumberjack.v2 v2.0.0 h1:1Lc07Kr7qY4U2YPouBjpCLxpiyxIVoxqXgkXL gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce h1:+JknDZhAj8YMt7GC73Ei8pv4MzjDUNPHgQWJdtMAaDU= gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce/go.mod h1:5AcXVHNjg+BDxry382+8OKon8SEWiKktQR07RKPsv1c= +gopkg.in/olebedev/go-duktape.v3 v3.0.0-20200619000410-60c24ae608a6/go.mod h1:uAJfkITjFhyEEuUfm7bsmCZRbW5WRq8s9EY8HZ6hCns= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/urfave/cli.v1 v1.20.0/go.mod h1:vuBzUtMdQeixQj8LVd+/98pzhxNGQoyuPBlsXHOQNO0= gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= @@ -2367,6 +2357,7 @@ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= grpc.go4.org v0.0.0-20170609214715-11d0a25b4919/go.mod h1:77eQGdRu53HpSqPFJFmuJdjuHRquDANNeA4x7B8WQ9o= honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/ra_evm_be_rpc/backend/backend.go b/ra_evm_be_rpc/backend/backend.go index 67c69343..4433edee 100644 --- a/ra_evm_be_rpc/backend/backend.go +++ b/ra_evm_be_rpc/backend/backend.go @@ -2,10 +2,10 @@ package backend import ( "context" + "github.com/bcdevtools/block-explorer-rpc-cosmos/be_rpc/config" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/server" - hubgentypes "github.com/dymensionxyz/dymension-rdk/x/hub-genesis/types" sequencerstypes "github.com/dymensionxyz/dymension-rdk/x/sequencers/types" raeberpctypes "github.com/dymensionxyz/rollapp-evm/ra_evm_be_rpc/types" "github.com/tendermint/tendermint/libs/log" @@ -15,7 +15,6 @@ type RollAppEvmBackendI interface { // Misc GetSequencersModuleParams() (*sequencerstypes.Params, error) - GetHubGenesisModuleParams() (*hubgentypes.Params, error) } var _ RollAppEvmBackendI = (*RollAppEvmBackend)(nil) diff --git a/ra_evm_be_rpc/backend/hub_genesis.go b/ra_evm_be_rpc/backend/hub_genesis.go deleted file mode 100644 index 8b68aad6..00000000 --- a/ra_evm_be_rpc/backend/hub_genesis.go +++ /dev/null @@ -1,13 +0,0 @@ -package backend - -import ( - hubgentypes "github.com/dymensionxyz/dymension-rdk/x/hub-genesis/types" -) - -func (m *RollAppEvmBackend) GetHubGenesisModuleParams() (*hubgentypes.Params, error) { - res, err := m.queryClient.HubGenesisQueryClient.Params(m.ctx, &hubgentypes.QueryParamsRequest{}) - if err != nil { - return nil, err - } - return &res.Params, nil -} diff --git a/ra_evm_be_rpc/backend/rollapp_evm_interceptor.go b/ra_evm_be_rpc/backend/rollapp_evm_interceptor.go index 38d62845..69b0575c 100644 --- a/ra_evm_be_rpc/backend/rollapp_evm_interceptor.go +++ b/ra_evm_be_rpc/backend/rollapp_evm_interceptor.go @@ -49,13 +49,6 @@ func (m *RollAppEvmRequestInterceptor) GetModuleParams(moduleName string) (inter } else { params = *sequencersParams } - case "hub-genesis": - hubGenesisParams, errFetch := m.backend.GetHubGenesisModuleParams() - if errFetch != nil { - err = errors.Wrap(errFetch, "failed to get hub genesis params") - } else { - params = *hubGenesisParams - } default: return m.defaultInterceptor.GetModuleParams(moduleName) } diff --git a/ra_evm_be_rpc/types/query_client.go b/ra_evm_be_rpc/types/query_client.go index cc4eee58..06ad0ed7 100644 --- a/ra_evm_be_rpc/types/query_client.go +++ b/ra_evm_be_rpc/types/query_client.go @@ -6,7 +6,7 @@ import ( epochstypes "github.com/dymensionxyz/dymension-rdk/x/epochs/types" hubgentypes "github.com/dymensionxyz/dymension-rdk/x/hub-genesis/types" sequencerstypes "github.com/dymensionxyz/dymension-rdk/x/sequencers/types" - evmtypes "github.com/evmos/evmos/v12/x/evm/types" + evmtypes "github.com/evmos/ethermint/x/evm/types" "github.com/cosmos/cosmos-sdk/client" ) diff --git a/scripts/ibc/rollapp.json b/scripts/ibc/rollapp.json index 26c8d7ed..7f2ef3a1 100644 --- a/scripts/ibc/rollapp.json +++ b/scripts/ibc/rollapp.json @@ -2,8 +2,8 @@ "type": "cosmos", "value": { "key": "relayer-rollapp-key", - "chain-id": "rollappevm_4321-1", - "rpc-addr": "http://127.0.0.1:26657", + "chain-id": "rollappevm_9988-1", + "rpc-addr": "tcp://localhost:26657", "account-prefix": "ethm", "keyring-backend": "test", "gas-adjustment": 1.2, diff --git a/scripts/init.sh b/scripts/init.sh index f823c304..38df36bb 100755 --- a/scripts/init.sh +++ b/scripts/init.sh @@ -80,7 +80,7 @@ if [ -z "$KEY_NAME_ROLLAPP" ]; then fi # ------------------------------- init rollapp ------------------------------- # -"$EXECUTABLE" init "$MONIKER" --chain-id "$ROLLAPP_CHAIN_ID" +"$EXECUTABLE" init "$MONIKER" --chain-id "$ROLLAPP_CHAIN_ID" --bech32-prefix "$BECH32" # ------------------------------- client config ------------------------------ # "$EXECUTABLE" config chain-id "$ROLLAPP_CHAIN_ID" diff --git a/scripts/update_genesis_file.sh b/scripts/update_genesis_file.sh index 3a98d2ef..b60d6a6e 100755 --- a/scripts/update_genesis_file.sh +++ b/scripts/update_genesis_file.sh @@ -70,12 +70,19 @@ jq '.app_state.bank.supply[0].amount = "2000060000000000000000000000"' "$GENESIS # ---------------------------- add elevated account ---------------------------- # elevated_address=$("$EXECUTABLE" keys show "$KEY_NAME_ROLLAPP" --keyring-backend test --output json | jq -r .address) + elevated_address_json=$(jq -n \ --arg address "$elevated_address" \ '[{ - "address": $address + "address": $address, + "permission_list": { + "permissions": [ + "hubgenesis", + "denommetadata" + ] + } }]') -jq --argjson elevated_address_json "$elevated_address_json" '.app_state.hubgenesis.params.genesis_triggerer_allowlist += $elevated_address_json' "$GENESIS_FILE" >"$tmp" && mv "$tmp" "$GENESIS_FILE" +jq --argjson elevated_address_json "$elevated_address_json" '.app_state.sequencers.address_permissions += $elevated_address_json' "$GENESIS_FILE" >"$tmp" && mv "$tmp" "$GENESIS_FILE" # ---------------------------- add denom metadata ---------------------------- # denom_metadata=$(cat "$ROLLAPP_SETTLEMENT_INIT_DIR_PATH"/denommetadata.json) diff --git a/utils/cmd_utils.go b/utils/cmd_utils.go index f671dbe2..92c532be 100644 --- a/utils/cmd_utils.go +++ b/utils/cmd_utils.go @@ -2,7 +2,7 @@ package utils import ( sdk "github.com/cosmos/cosmos-sdk/types" - ethermint "github.com/evmos/evmos/v12/types" + ethermint "github.com/evmos/ethermint/types" ) // SetBip44CoinType sets the global coin type to be used in hierarchical deterministic wallets.