rpc: implement eth_chainId (#379)
* add eth_chainId * add nolint * use clientCtx chainID * rpc: eth_chainId test Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>
This commit is contained in:
parent
c4cf33a9bb
commit
1d8c997585
@ -6,6 +6,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"log"
|
"log"
|
||||||
"math/big"
|
"math/big"
|
||||||
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
@ -67,6 +68,17 @@ func (e *PublicEthAPI) ProtocolVersion() hexutil.Uint {
|
|||||||
return hexutil.Uint(version.ProtocolVersion)
|
return hexutil.Uint(version.ProtocolVersion)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ChainId returns the chain's identifier in hex format
|
||||||
|
func (e *PublicEthAPI) ChainId() (hexutil.Uint, error) { // nolint
|
||||||
|
// parse the chainID from a integer string
|
||||||
|
intChainID, err := strconv.ParseUint(e.cliCtx.ChainID, 0, 64)
|
||||||
|
if err != nil {
|
||||||
|
return 0, fmt.Errorf("invalid chainID: %s, must be integer format", e.cliCtx.ChainID)
|
||||||
|
}
|
||||||
|
|
||||||
|
return hexutil.Uint(intChainID), nil
|
||||||
|
}
|
||||||
|
|
||||||
// Syncing returns whether or not the current node is syncing with other peers. Returns false if not, or a struct
|
// Syncing returns whether or not the current node is syncing with other peers. Returns false if not, or a struct
|
||||||
// outlining the state of the sync if it is.
|
// outlining the state of the sync if it is.
|
||||||
func (e *PublicEthAPI) Syncing() (interface{}, error) {
|
func (e *PublicEthAPI) Syncing() (interface{}, error) {
|
||||||
|
@ -130,6 +130,15 @@ func TestEth_protocolVersion(t *testing.T) {
|
|||||||
require.Equal(t, expectedRes, res, "expected: %s got: %s\n", expectedRes.String(), rpcRes.Result)
|
require.Equal(t, expectedRes, res, "expected: %s got: %s\n", expectedRes.String(), rpcRes.Result)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestEth_chainId(t *testing.T) {
|
||||||
|
rpcRes := call(t, "eth_chainId", []string{})
|
||||||
|
|
||||||
|
var res hexutil.Uint
|
||||||
|
err := res.UnmarshalJSON(rpcRes.Result)
|
||||||
|
require.NoError(t, err)
|
||||||
|
require.NotEqual(t, "0x0", res.String())
|
||||||
|
}
|
||||||
|
|
||||||
func TestEth_blockNumber(t *testing.T) {
|
func TestEth_blockNumber(t *testing.T) {
|
||||||
rpcRes := call(t, "eth_blockNumber", []string{})
|
rpcRes := call(t, "eth_blockNumber", []string{})
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user