Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
57 changes: 48 additions & 9 deletions docs/migrations/v0.3.0_to_v0.4.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -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`)
Expand Down Expand Up @@ -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)
}
```
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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)
```

---
Expand Down
2 changes: 1 addition & 1 deletion tests/jsonrpc/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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`
- Test with curl: `curl -X POST -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}' http://localhost:8545`
Loading