diff --git a/evmrpc/rpcstack.go b/evmrpc/rpcstack.go index 10d6950688..66fba737e0 100644 --- a/evmrpc/rpcstack.go +++ b/evmrpc/rpcstack.go @@ -58,6 +58,7 @@ type RPCEndpointConfig struct { JwtSecret []byte // optional JWT secret batchItemLimit int batchResponseSizeLimit int + readLimit int64 } type rpcHandler struct { @@ -332,6 +333,7 @@ func (h *HTTPServer) EnableWS(apis []rpc.API, config WsConfig) error { // Create RPC server and handler. srv := rpc.NewServer() srv.SetBatchLimits(config.batchItemLimit, config.batchResponseSizeLimit) + srv.SetReadLimits(config.readLimit) h.log.Info("Registering apis for evm websocket") if err := RegisterApis(h.log, apis, config.Modules, srv); err != nil { return err diff --git a/evmrpc/server.go b/evmrpc/server.go index dcf70aae49..e8daafb732 100644 --- a/evmrpc/server.go +++ b/evmrpc/server.go @@ -21,6 +21,7 @@ var ConnectionTypeWS ConnectionType = "websocket" var ConnectionTypeHTTP ConnectionType = "http" const LocalAddress = "0.0.0.0" +const DefaultWebsocketMaxMessageSize = 10 * 1024 * 1024 type EVMServer interface { Start() error @@ -220,7 +221,9 @@ func NewEVMWebSocketServer( Service: &Web3API{}, }, } - if err := httpServer.EnableWS(apis, WsConfig{Origins: strings.Split(config.WSOrigins, ",")}); err != nil { + wsConfig := WsConfig{Origins: strings.Split(config.WSOrigins, ",")} + wsConfig.readLimit = DefaultWebsocketMaxMessageSize + if err := httpServer.EnableWS(apis, wsConfig); err != nil { return nil, err } return httpServer, nil diff --git a/go.mod b/go.mod index 0d979924eb..7348859597 100644 --- a/go.mod +++ b/go.mod @@ -356,7 +356,7 @@ replace ( github.com/cosmos/cosmos-sdk => github.com/sei-protocol/sei-cosmos v0.3.65 github.com/cosmos/iavl => github.com/sei-protocol/sei-iavl v0.2.0 github.com/cosmos/ibc-go/v3 => github.com/sei-protocol/sei-ibc-go/v3 v3.3.6 - github.com/ethereum/go-ethereum => github.com/sei-protocol/go-ethereum v1.15.7-sei-1 + github.com/ethereum/go-ethereum => github.com/sei-protocol/go-ethereum v1.15.7-sei-2 github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1 github.com/sei-protocol/sei-db => github.com/sei-protocol/sei-db v0.0.51 // Latest goleveldb is broken, we have to stick to this version diff --git a/go.sum b/go.sum index 6d8f321455..aa4540d660 100644 --- a/go.sum +++ b/go.sum @@ -1987,8 +1987,8 @@ github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg github.com/securego/gosec/v2 v2.11.0 h1:+PDkpzR41OI2jrw1q6AdXZCbsNGNGT7pQjal0H0cArI= github.com/securego/gosec/v2 v2.11.0/go.mod h1:SX8bptShuG8reGC0XS09+a4H2BoWSJi+fscA+Pulbpo= github.com/segmentio/fasthash v1.0.3/go.mod h1:waKX8l2N8yckOgmSsXJi7x1ZfdKZ4x7KRMzBtS3oedY= -github.com/sei-protocol/go-ethereum v1.15.7-sei-1 h1:BSr6//keTxlamS+jEM3JLsJhkUrhN4Sn2RNfWEx7TC8= -github.com/sei-protocol/go-ethereum v1.15.7-sei-1/go.mod h1:+S9k+jFzlyVTNcYGvqFhzN/SFhI6vA+aOY4T5tLSPL0= +github.com/sei-protocol/go-ethereum v1.15.7-sei-2 h1:yuY8u5viMt+zzVGB/lTo21qarEkJwgoYiSQd9coru54= +github.com/sei-protocol/go-ethereum v1.15.7-sei-2/go.mod h1:+S9k+jFzlyVTNcYGvqFhzN/SFhI6vA+aOY4T5tLSPL0= github.com/sei-protocol/goutils v0.0.2 h1:Bfa7Sv+4CVLNM20QcpvGb81B8C5HkQC/kW1CQpIbXDA= github.com/sei-protocol/goutils v0.0.2/go.mod h1:iYE2DuJfEnM+APPehr2gOUXfuLuPsVxorcDO+Tzq9q8= github.com/sei-protocol/sei-cosmos v0.3.65 h1:tV2+OvWpRWHD9ts1JyA/d4fmXHxFIGJTkCLLcws1B1g=