diff --git a/docs/migrations/v0.3.0_to_v0.4.0.md b/docs/migrations/v0.3.0_to_v0.4.0.md index a5308d1f2..d69cb1b3b 100644 --- a/docs/migrations/v0.3.0_to_v0.4.0.md +++ b/docs/migrations/v0.3.0_to_v0.4.0.md @@ -80,6 +80,28 @@ sdkAppCreatorWrapper := func(l log.Logger, d dbm.DB, w io.Writer, ao servertypes + snapshot.Cmd(sdkAppCreatorWrapper), ``` +### 2.3 Add `clientCtx` and `SetClientCtx` to app.go + +Add the clientCtx to your app object. + +*(app/app.go)* + +```diff +type MyApp struct { + ... ++ clientCtx client.Context + ... +} +``` + +Add a setter in the file. + +```diff ++ func (app *EVMD) SetClientCtx(clientCtx client.Context) { ++ app.clientCtx = clientCtx ++ } +``` + --- ## 3) Pending-tx listener support in the app (`app/app.go`) @@ -112,7 +134,8 @@ Add a public method to register a listener by `txHash`: *(app/app.go)* ```go -func (app *MyApp) RegisterPendingTxListener(listener func(common.Hash // from "github.com/ethereum/go-ethereum/common")) { +// from "github.com/ethereum/go-ethereum/common")) { +func (app *MyApp) RegisterPendingTxListener(listener func(common.Hash app.pendingTxListeners = append(app.pendingTxListeners, listener) } ``` @@ -145,17 +168,31 @@ type Optionals struct { func defaultOptionals() Optionals { return Optionals{ - AddressCodec: addresscodec.NewBech32Codec // from addresscodec "github.com/cosmos/cosmos-sdk/codec/address"(sdk.GetConfig() // from sdk "github.com/cosmos/cosmos-sdk/types".GetBech32AccountAddrPrefix()), - ValidatorAddrCodec: addresscodec.NewBech32Codec // from addresscodec "github.com/cosmos/cosmos-sdk/codec/address"(sdk.GetConfig() // from sdk "github.com/cosmos/cosmos-sdk/types".GetBech32ValidatorAddrPrefix()), - ConsensusAddrCodec: addresscodec.NewBech32Codec // from addresscodec "github.com/cosmos/cosmos-sdk/codec/address"(sdk.GetConfig() // from sdk "github.com/cosmos/cosmos-sdk/types".GetBech32ConsensusAddrPrefix()), + // from addresscodec "github.com/cosmos/cosmos-sdk/codec/address"(sdk.GetConfig() + // from sdk "github.com/cosmos/cosmos-sdk/types".GetBech32AccountAddrPrefix()), + AddressCodec: addresscodec.NewBech32Codec + // from addresscodec "github.com/cosmos/cosmos-sdk/codec/address"(sdk.GetConfig() + // from sdk "github.com/cosmos/cosmos-sdk/types".GetBech32ValidatorAddrPrefix()), + ValidatorAddrCodec: addresscodec.NewBech32Codec + // from addresscodec "github.com/cosmos/cosmos-sdk/codec/address"(sdk.GetConfig() + // from sdk "github.com/cosmos/cosmos-sdk/types".GetBech32ConsensusAddrPrefix()), + ConsensusAddrCodec: addresscodec.NewBech32Codec } } type Option func(*Optionals) -func WithAddressCodec(c address.Codec // from "cosmossdk.io/core/address") Option { return func(o *Optionals){ o.AddressCodec = c } } -func WithValidatorAddrCodec(c address.Codec // from "cosmossdk.io/core/address") Option { return func(o *Optionals){ o.ValidatorAddrCodec = c } } -func WithConsensusAddrCodec(c address.Codec // from "cosmossdk.io/core/address") Option { return func(o *Optionals){ o.ConsensusAddrCodec = c } } +// from "cosmossdk.io/core/address") +// Option { return func(o *Optionals){ o.AddressCodec = c } } +func WithAddressCodec(c address.Codec + +// from "cosmossdk.io/core/address") +// Option { return func(o *Optionals){ o.ValidatorAddrCodec = c } } +func WithValidatorAddrCodec(c address.Codec + +// from "cosmossdk.io/core/address") +// Option { return func(o *Optionals){ o.ConsensusAddrCodec = c } } +func WithConsensusAddrCodec(c address.Codec ``` ### 4.3 Update the precompile factory to accept options @@ -195,8 +232,10 @@ func WithConsensusAddrCodec(c address.Codec // from "cosmossdk.io/core/address") *(app/keepers/precompiles.go)* ```diff -- govPrecompile, err := govprecompile.NewPrecompile // from govprecompile "github.com/cosmos/evm/precompiles/gov"(govKeeper, cdc) -+ govPrecompile, err := govprecompile.NewPrecompile // from govprecompile "github.com/cosmos/evm/precompiles/gov"(govKeeper, cdc, options.AddressCodec) +- govPrecompile, err := govprecompile.NewPrecompile +- // from govprecompile "github.com/cosmos/evm/precompiles/gov"(govKeeper, cdc) ++ govPrecompile, err := govprecompile.NewPrecompile ++ // from govprecompile "github.com/cosmos/evm/precompiles/gov"(govKeeper, cdc, options.AddressCodec) ``` --- diff --git a/tests/jsonrpc/README.md b/tests/jsonrpc/README.md index 10e844892..2f999521e 100644 --- a/tests/jsonrpc/README.md +++ b/tests/jsonrpc/README.md @@ -123,4 +123,4 @@ The scripts use the following defaults: - Verify the container is running: `docker ps | grep evmd-jsonrpc-test` - Check if ports are bound: `docker port evmd-jsonrpc-test` -- Test with curl: `curl -X POST -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}' http://localhost:8545` \ No newline at end of file +- Test with curl: `curl -X POST -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}' http://localhost:8545`