Skip to content

Commit 909c8e2

Browse files
(docs):Add SetClientCtx instructions to migration guide (cosmos#481)
* fix annoying md lints * add setclientctx instructions w * Auto-fix markdown lint issues * improve the look of the comments --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
1 parent 29c1fac commit 909c8e2

2 files changed

Lines changed: 49 additions & 10 deletions

File tree

docs/migrations/v0.3.0_to_v0.4.0.md

Lines changed: 48 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,28 @@ sdkAppCreatorWrapper := func(l log.Logger, d dbm.DB, w io.Writer, ao servertypes
8080
+ snapshot.Cmd(sdkAppCreatorWrapper),
8181
```
8282

83+
### 2.3 Add `clientCtx` and `SetClientCtx` to app.go
84+
85+
Add the clientCtx to your app object.
86+
87+
*(app/app.go)*
88+
89+
```diff
90+
type MyApp struct {
91+
...
92+
+ clientCtx client.Context
93+
...
94+
}
95+
```
96+
97+
Add a setter in the file.
98+
99+
```diff
100+
+ func (app *EVMD) SetClientCtx(clientCtx client.Context) {
101+
+ app.clientCtx = clientCtx
102+
+ }
103+
```
104+
83105
---
84106

85107
## 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`:
112134
*(app/app.go)*
113135

114136
```go
115-
func (app *MyApp) RegisterPendingTxListener(listener func(common.Hash // from "github.com/ethereum/go-ethereum/common")) {
137+
// from "github.com/ethereum/go-ethereum/common")) {
138+
func (app *MyApp) RegisterPendingTxListener(listener func(common.Hash
116139
app.pendingTxListeners = append(app.pendingTxListeners, listener)
117140
}
118141
```
@@ -145,17 +168,31 @@ type Optionals struct {
145168

146169
func defaultOptionals() Optionals {
147170
return Optionals{
148-
AddressCodec: addresscodec.NewBech32Codec // from addresscodec "github.com/cosmos/cosmos-sdk/codec/address"(sdk.GetConfig() // from sdk "github.com/cosmos/cosmos-sdk/types".GetBech32AccountAddrPrefix()),
149-
ValidatorAddrCodec: addresscodec.NewBech32Codec // from addresscodec "github.com/cosmos/cosmos-sdk/codec/address"(sdk.GetConfig() // from sdk "github.com/cosmos/cosmos-sdk/types".GetBech32ValidatorAddrPrefix()),
150-
ConsensusAddrCodec: addresscodec.NewBech32Codec // from addresscodec "github.com/cosmos/cosmos-sdk/codec/address"(sdk.GetConfig() // from sdk "github.com/cosmos/cosmos-sdk/types".GetBech32ConsensusAddrPrefix()),
171+
// from addresscodec "github.com/cosmos/cosmos-sdk/codec/address"(sdk.GetConfig()
172+
// from sdk "github.com/cosmos/cosmos-sdk/types".GetBech32AccountAddrPrefix()),
173+
AddressCodec: addresscodec.NewBech32Codec
174+
// from addresscodec "github.com/cosmos/cosmos-sdk/codec/address"(sdk.GetConfig()
175+
// from sdk "github.com/cosmos/cosmos-sdk/types".GetBech32ValidatorAddrPrefix()),
176+
ValidatorAddrCodec: addresscodec.NewBech32Codec
177+
// from addresscodec "github.com/cosmos/cosmos-sdk/codec/address"(sdk.GetConfig()
178+
// from sdk "github.com/cosmos/cosmos-sdk/types".GetBech32ConsensusAddrPrefix()),
179+
ConsensusAddrCodec: addresscodec.NewBech32Codec
151180
}
152181
}
153182

154183
type Option func(*Optionals)
155184

156-
func WithAddressCodec(c address.Codec // from "cosmossdk.io/core/address") Option { return func(o *Optionals){ o.AddressCodec = c } }
157-
func WithValidatorAddrCodec(c address.Codec // from "cosmossdk.io/core/address") Option { return func(o *Optionals){ o.ValidatorAddrCodec = c } }
158-
func WithConsensusAddrCodec(c address.Codec // from "cosmossdk.io/core/address") Option { return func(o *Optionals){ o.ConsensusAddrCodec = c } }
185+
// from "cosmossdk.io/core/address")
186+
// Option { return func(o *Optionals){ o.AddressCodec = c } }
187+
func WithAddressCodec(c address.Codec
188+
189+
// from "cosmossdk.io/core/address")
190+
// Option { return func(o *Optionals){ o.ValidatorAddrCodec = c } }
191+
func WithValidatorAddrCodec(c address.Codec
192+
193+
// from "cosmossdk.io/core/address")
194+
// Option { return func(o *Optionals){ o.ConsensusAddrCodec = c } }
195+
func WithConsensusAddrCodec(c address.Codec
159196
```
160197

161198
### 4.3 Update the precompile factory to accept options
@@ -195,8 +232,10 @@ func WithConsensusAddrCodec(c address.Codec // from "cosmossdk.io/core/address")
195232
*(app/keepers/precompiles.go)*
196233

197234
```diff
198-
- govPrecompile, err := govprecompile.NewPrecompile // from govprecompile "github.com/cosmos/evm/precompiles/gov"(govKeeper, cdc)
199-
+ govPrecompile, err := govprecompile.NewPrecompile // from govprecompile "github.com/cosmos/evm/precompiles/gov"(govKeeper, cdc, options.AddressCodec)
235+
- govPrecompile, err := govprecompile.NewPrecompile
236+
- // from govprecompile "github.com/cosmos/evm/precompiles/gov"(govKeeper, cdc)
237+
+ govPrecompile, err := govprecompile.NewPrecompile
238+
+ // from govprecompile "github.com/cosmos/evm/precompiles/gov"(govKeeper, cdc, options.AddressCodec)
200239
```
201240

202241
---

tests/jsonrpc/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,4 +123,4 @@ The scripts use the following defaults:
123123

124124
- Verify the container is running: `docker ps | grep evmd-jsonrpc-test`
125125
- Check if ports are bound: `docker port evmd-jsonrpc-test`
126-
- Test with curl: `curl -X POST -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}' http://localhost:8545`
126+
- Test with curl: `curl -X POST -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}' http://localhost:8545`

0 commit comments

Comments
 (0)