Skip to content

Commit 03fa9df

Browse files
author
yihuang
authored
Problem: basic json-rpc failed on pruned nodes (#550)
* Problem: json-rpc failed on pruned nodes Solution: - Make basic json-rpc apis works on pruned nodes - Test with integration tests * fix pystarport * remove duplicated call * fix pystarport * fix integration test * check eth_balance/eth_call don't work on pruned heights
1 parent 6c3a35d commit 03fa9df

44 files changed

Lines changed: 604 additions & 239 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
- [cronos#418](https://github.com/crypto-org-chain/cronos/pull/418) Support logs in evm-hooks and return id for SendToEthereum events
1616
- [cronos#489](https://github.com/crypto-org-chain/cronos/pull/489) Enable jemalloc memory allocator, and update rocksdb src to `v6.29.5`.
1717
- [cronos#511](https://github.com/crypto-org-chain/cronos/pull/511) Replace ibc-hook with ibc middleware, use ibc-go upstream version.
18+
- [cronos#550](https://github.com/crypto-org-chain/cronos/pull/550) Support basic json-rpc apis on pruned nodes.
1819

1920
*May 3, 2022*
2021

app/app.go

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -97,16 +97,16 @@ import (
9797
ibckeeper "github.com/cosmos/ibc-go/v3/modules/core/keeper"
9898
tmjson "github.com/tendermint/tendermint/libs/json"
9999

100-
evmante "github.com/tharsis/ethermint/app/ante"
101-
srvflags "github.com/tharsis/ethermint/server/flags"
102-
ethermint "github.com/tharsis/ethermint/types"
103-
"github.com/tharsis/ethermint/x/evm"
104-
evmrest "github.com/tharsis/ethermint/x/evm/client/rest"
105-
evmkeeper "github.com/tharsis/ethermint/x/evm/keeper"
106-
evmtypes "github.com/tharsis/ethermint/x/evm/types"
107-
"github.com/tharsis/ethermint/x/feemarket"
108-
feemarketkeeper "github.com/tharsis/ethermint/x/feemarket/keeper"
109-
feemarkettypes "github.com/tharsis/ethermint/x/feemarket/types"
100+
evmante "github.com/evmos/ethermint/app/ante"
101+
srvflags "github.com/evmos/ethermint/server/flags"
102+
ethermint "github.com/evmos/ethermint/types"
103+
"github.com/evmos/ethermint/x/evm"
104+
evmrest "github.com/evmos/ethermint/x/evm/client/rest"
105+
evmkeeper "github.com/evmos/ethermint/x/evm/keeper"
106+
evmtypes "github.com/evmos/ethermint/x/evm/types"
107+
"github.com/evmos/ethermint/x/feemarket"
108+
feemarketkeeper "github.com/evmos/ethermint/x/feemarket/keeper"
109+
feemarkettypes "github.com/evmos/ethermint/x/feemarket/types"
110110

111111
"github.com/peggyjv/gravity-bridge/module/v2/x/gravity"
112112
gravitykeeper "github.com/peggyjv/gravity-bridge/module/v2/x/gravity/keeper"
@@ -334,7 +334,7 @@ func New(
334334
}
335335

336336
// Add the EVM transient store key
337-
tkeys := sdk.NewTransientStoreKeys(paramstypes.TStoreKey, evmtypes.TransientKey)
337+
tkeys := sdk.NewTransientStoreKeys(paramstypes.TStoreKey, evmtypes.TransientKey, feemarkettypes.TransientKey)
338338
memKeys := sdk.NewMemoryStoreKeys(capabilitytypes.MemStoreKey)
339339

340340
app := &App{
@@ -419,7 +419,7 @@ func New(
419419

420420
// Create Ethermint keepers
421421
app.FeeMarketKeeper = feemarketkeeper.NewKeeper(
422-
appCodec, keys[feemarkettypes.StoreKey], app.GetSubspace(feemarkettypes.ModuleName),
422+
appCodec, app.GetSubspace(feemarkettypes.ModuleName), keys[feemarkettypes.StoreKey], tkeys[feemarkettypes.TransientKey],
423423
)
424424

425425
app.EvmKeeper = evmkeeper.NewKeeper(
@@ -616,6 +616,8 @@ func New(
616616
minttypes.ModuleName,
617617
crisistypes.ModuleName,
618618
ibchost.ModuleName,
619+
evmtypes.ModuleName,
620+
feemarkettypes.ModuleName,
619621
genutiltypes.ModuleName,
620622
evidencetypes.ModuleName,
621623
ibctransfertypes.ModuleName,
@@ -624,8 +626,6 @@ func New(
624626
paramstypes.ModuleName,
625627
upgradetypes.ModuleName,
626628
vestingtypes.ModuleName,
627-
evmtypes.ModuleName,
628-
feemarkettypes.ModuleName,
629629
cronostypes.ModuleName,
630630
}
631631

app/encoding.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package app
22

33
import (
44
"github.com/cosmos/cosmos-sdk/simapp/params"
5-
evmenc "github.com/tharsis/ethermint/encoding"
5+
evmenc "github.com/evmos/ethermint/encoding"
66
)
77

88
// MakeEncodingConfig creates the EncodingConfig for cronos chain

app/prefix.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package app
33
import (
44
sdk "github.com/cosmos/cosmos-sdk/types"
55
cmdcfg "github.com/crypto-org-chain/cronos/cmd/cronosd/config"
6-
ethcfg "github.com/tharsis/ethermint/cmd/config"
6+
ethcfg "github.com/evmos/ethermint/cmd/config"
77
)
88

99
func SetConfig() {

app/sim_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import (
1212
"github.com/tendermint/tendermint/libs/log"
1313
tmproto "github.com/tendermint/tendermint/proto/tendermint/types"
1414
dbm "github.com/tendermint/tm-db"
15-
evmtypes "github.com/tharsis/ethermint/x/evm/types"
15+
evmtypes "github.com/evmos/ethermint/x/evm/types"
1616

1717
"github.com/cosmos/cosmos-sdk/baseapp"
1818
"github.com/cosmos/cosmos-sdk/store"

cmd/cronosd/cmd/genaccounts.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ import (
2020
genutiltypes "github.com/cosmos/cosmos-sdk/x/genutil/types"
2121

2222
"github.com/cosmos/cosmos-sdk/crypto/keyring"
23-
"github.com/tharsis/ethermint/crypto/hd"
24-
ethermint "github.com/tharsis/ethermint/types"
25-
evmtypes "github.com/tharsis/ethermint/x/evm/types"
23+
"github.com/evmos/ethermint/crypto/hd"
24+
ethermint "github.com/evmos/ethermint/types"
25+
evmtypes "github.com/evmos/ethermint/x/evm/types"
2626
)
2727

2828
const (

cmd/cronosd/cmd/root.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,11 @@ import (
3535
"github.com/cosmos/cosmos-sdk/x/crisis"
3636
genutilcli "github.com/cosmos/cosmos-sdk/x/genutil/client/cli"
3737

38-
ethermintclient "github.com/tharsis/ethermint/client"
39-
"github.com/tharsis/ethermint/crypto/hd"
40-
ethermintserver "github.com/tharsis/ethermint/server"
41-
servercfg "github.com/tharsis/ethermint/server/config"
42-
ethermint "github.com/tharsis/ethermint/types"
38+
ethermintclient "github.com/evmos/ethermint/client"
39+
"github.com/evmos/ethermint/crypto/hd"
40+
ethermintserver "github.com/evmos/ethermint/server"
41+
servercfg "github.com/evmos/ethermint/server/config"
42+
ethermint "github.com/evmos/ethermint/types"
4343

4444
"github.com/crypto-org-chain/cronos/app"
4545
// this line is used by starport scaffolding # stargate/root/import

docs/api/proto-docs.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717
- [ContractByDenomResponse](#cronos.ContractByDenomResponse)
1818
- [DenomByContractRequest](#cronos.DenomByContractRequest)
1919
- [DenomByContractResponse](#cronos.DenomByContractResponse)
20+
- [ReplayBlockRequest](#cronos.ReplayBlockRequest)
21+
- [ReplayBlockResponse](#cronos.ReplayBlockResponse)
2022

2123
- [Query](#cronos.Query)
2224

@@ -202,6 +204,39 @@ DenomByContractResponse is the response type of DenomByContract call
202204

203205

204206

207+
208+
<a name="cronos.ReplayBlockRequest"></a>
209+
210+
### ReplayBlockRequest
211+
ReplayBlockRequest
212+
213+
214+
| Field | Type | Label | Description |
215+
| ----- | ---- | ----- | ----------- |
216+
| `msgs` | [ethermint.evm.v1.MsgEthereumTx](#ethermint.evm.v1.MsgEthereumTx) | repeated | the eth messages in the block |
217+
| `block_number` | [int64](#int64) | | |
218+
| `block_hash` | [string](#string) | | |
219+
| `block_time` | [google.protobuf.Timestamp](#google.protobuf.Timestamp) | | |
220+
221+
222+
223+
224+
225+
226+
<a name="cronos.ReplayBlockResponse"></a>
227+
228+
### ReplayBlockResponse
229+
ReplayBlockResponse
230+
231+
232+
| Field | Type | Label | Description |
233+
| ----- | ---- | ----- | ----------- |
234+
| `responses` | [ethermint.evm.v1.MsgEthereumTxResponse](#ethermint.evm.v1.MsgEthereumTxResponse) | repeated | |
235+
236+
237+
238+
239+
205240
<!-- end messages -->
206241

207242
<!-- end enums -->
@@ -218,6 +253,7 @@ Query defines the gRPC querier service.
218253
| ----------- | ------------ | ------------- | ------------| ------- | -------- |
219254
| `ContractByDenom` | [ContractByDenomRequest](#cronos.ContractByDenomRequest) | [ContractByDenomResponse](#cronos.ContractByDenomResponse) | ContractByDenom queries contract addresses by native denom | GET|/cronos/v1/contract_by_denom/{denom}|
220255
| `DenomByContract` | [DenomByContractRequest](#cronos.DenomByContractRequest) | [DenomByContractResponse](#cronos.DenomByContractResponse) | DenomByContract queries native denom by contract address | GET|/cronos/v1/denom_by_contract/{contract}|
256+
| `ReplayBlock` | [ReplayBlockRequest](#cronos.ReplayBlockRequest) | [ReplayBlockResponse](#cronos.ReplayBlockResponse) | ReplayBlock replay the eth messages in the block to recover the results of false-failed txs. | |
221257

222258
<!-- end services -->
223259

go.mod

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,23 @@ go 1.17
55
require (
66
github.com/armon/go-metrics v0.4.0
77
github.com/cosmos/cosmos-sdk v0.45.5-0.20220523154235-2921a1c3c918
8-
github.com/cosmos/ibc-go/v3 v3.0.0
8+
github.com/cosmos/ibc-go/v3 v3.1.0
99
github.com/ethereum/go-ethereum v1.10.17
10+
github.com/evmos/ethermint v0.6.1-0.20220629170828-b7878fd6f125
1011
github.com/gogo/protobuf v1.3.3
1112
github.com/golang/protobuf v1.5.2
1213
github.com/gorilla/mux v1.8.0
1314
github.com/grpc-ecosystem/grpc-gateway v1.16.0
1415
github.com/peggyjv/gravity-bridge/module/v2 v2.0.0-20220420162017-838c0d25e974
1516
github.com/rakyll/statik v0.1.7
1617
github.com/spf13/cast v1.5.0
17-
github.com/spf13/cobra v1.4.0
18+
github.com/spf13/cobra v1.5.0
1819
github.com/spf13/pflag v1.0.5
19-
github.com/stretchr/testify v1.7.1
20+
github.com/stretchr/testify v1.7.5
2021
github.com/tendermint/tendermint v0.34.20-0.20220517115723-e6f071164839
2122
github.com/tendermint/tm-db v0.6.7
22-
github.com/tharsis/ethermint v0.6.1-0.20220531102640-5533beed71e1
23-
google.golang.org/genproto v0.0.0-20220519153652-3a47de7e79bd
24-
google.golang.org/grpc v1.46.2
23+
google.golang.org/genproto v0.0.0-20220617124728-180714bec0ad
24+
google.golang.org/grpc v1.47.0
2525
google.golang.org/protobuf v1.28.0
2626
gopkg.in/yaml.v2 v2.4.0
2727
)
@@ -139,16 +139,16 @@ require (
139139
github.com/tyler-smith/go-bip39 v1.1.0 // indirect
140140
github.com/zondax/hid v0.9.0 // indirect
141141
go.etcd.io/bbolt v1.3.6 // indirect
142-
golang.org/x/crypto v0.0.0-20220518034528-6f7dac969898 // indirect
142+
golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e // indirect
143143
golang.org/x/net v0.0.0-20220520000938-2e3eb7b945c2 // indirect
144-
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c // indirect
144+
golang.org/x/sync v0.0.0-20220513210516-0976fa681c29 // indirect
145145
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a // indirect
146146
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect
147147
golang.org/x/text v0.3.7 // indirect
148148
gopkg.in/ini.v1 v1.66.4 // indirect
149149
gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce // indirect
150150
gopkg.in/olebedev/go-duktape.v3 v3.0.0-20200619000410-60c24ae608a6 // indirect
151-
gopkg.in/yaml.v3 v3.0.0 // indirect
151+
gopkg.in/yaml.v3 v3.0.1 // indirect
152152
nhooyr.io/websocket v1.8.6 // indirect
153153
)
154154

0 commit comments

Comments
 (0)