From 77a2d0f97f142261a351f0cdcc1d001d0cead4cf Mon Sep 17 00:00:00 2001 From: Aaron Buchwald Date: Fri, 16 Oct 2020 15:22:23 -0400 Subject: Clean up use of pending/latest meta block numbers --- internal/ethapi/api.go | 36 +++++++++++++++++++----------------- 1 file changed, 19 insertions(+), 17 deletions(-) (limited to 'internal') diff --git a/internal/ethapi/api.go b/internal/ethapi/api.go index 825f8fc..5190410 100644 --- a/internal/ethapi/api.go +++ b/internal/ethapi/api.go @@ -546,8 +546,8 @@ func (s *PublicBlockChainAPI) BlockNumber() hexutil.Uint64 { } // GetBalance returns the amount of wei for the given address in the state of the -// given block number. The rpc.LatestBlockNumber and rpc.PendingBlockNumber meta -// block numbers are also allowed. +// given block number. The rpc.LatestBlockNumber, rpc.PendingBlockNumber, and +// rpc.AcceptedBlockNumber meta block numbers are also allowed. func (s *PublicBlockChainAPI) GetBalance(ctx context.Context, address common.Address, blockNrOrHash rpc.BlockNumberOrHash) (*hexutil.Big, error) { state, _, err := s.b.StateAndHeaderByNumberOrHash(ctx, blockNrOrHash) if state == nil || err != nil { @@ -556,9 +556,9 @@ func (s *PublicBlockChainAPI) GetBalance(ctx context.Context, address common.Add return (*hexutil.Big)(state.GetBalance(address)), state.Error() } -// GetBalanceMultiCoin returns the amount of wei for the given address in the state of the -// given block number. The rpc.LatestBlockNumber and rpc.PendingBlockNumber meta -// block numbers are also allowed. +// GetAssetBalance returns the amount of wei for the given address in the state of the +// given block number. The rpc.LatestBlockNumber, rpc.PendingBlockNumber, and +// rpc.AcceptedBlockNumber meta block numbers are also allowed. func (s *PublicBlockChainAPI) GetAssetBalance(ctx context.Context, address common.Address, blockNrOrHash rpc.BlockNumberOrHash, assetID ids.ID) (*hexutil.Big, error) { state, _, err := s.b.StateAndHeaderByNumberOrHash(ctx, blockNrOrHash) if state == nil || err != nil { @@ -640,12 +640,13 @@ func (s *PublicBlockChainAPI) GetHeaderByNumber(ctx context.Context, number rpc. header, err := s.b.HeaderByNumber(ctx, number) if header != nil && err == nil { response := s.rpcMarshalHeader(ctx, header) - if number == rpc.PendingBlockNumber { - // Pending header need to nil out a few fields - for _, field := range []string{"hash", "nonce", "miner"} { - response[field] = nil - } - } + // coreth has no notion of a pending block + // if number == rpc.PendingBlockNumber { + // // Pending header need to nil out a few fields + // for _, field := range []string{"hash", "nonce", "miner"} { + // response[field] = nil + // } + // } return response, err } return nil, err @@ -669,12 +670,13 @@ func (s *PublicBlockChainAPI) GetBlockByNumber(ctx context.Context, number rpc.B block, err := s.b.BlockByNumber(ctx, number) if block != nil && err == nil { response, err := s.rpcMarshalBlock(ctx, block, true, fullTx) - if err == nil && number == rpc.PendingBlockNumber { - // Pending blocks need to nil out a few fields - for _, field := range []string{"hash", "nonce", "miner"} { - response[field] = nil - } - } + // coreth has no notion of a pending block + // if err == nil && number == rpc.PendingBlockNumber { + // // Pending blocks need to nil out a few fields + // for _, field := range []string{"hash", "nonce", "miner"} { + // response[field] = nil + // } + // } return response, err } return nil, err -- cgit v1.2.3 From a02b51064dcb5e4fe062237635d2b986591630f0 Mon Sep 17 00:00:00 2001 From: Aaron Buchwald Date: Mon, 19 Oct 2020 19:37:19 -0400 Subject: Disable eth_syncing API call --- internal/ethapi/api.go | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) (limited to 'internal') diff --git a/internal/ethapi/api.go b/internal/ethapi/api.go index 5190410..728fb07 100644 --- a/internal/ethapi/api.go +++ b/internal/ethapi/api.go @@ -77,20 +77,21 @@ func (s *PublicEthereumAPI) ProtocolVersion() hexutil.Uint { // - pulledStates: number of state entries processed until now // - knownStates: number of known state entries that still need to be pulled func (s *PublicEthereumAPI) Syncing() (interface{}, error) { - progress := s.b.Downloader().Progress() - - // Return not syncing if the synchronisation already completed - if progress.CurrentBlock >= progress.HighestBlock { - return false, nil - } - // Otherwise gather the block sync stats - return map[string]interface{}{ - "startingBlock": hexutil.Uint64(progress.StartingBlock), - "currentBlock": hexutil.Uint64(progress.CurrentBlock), - "highestBlock": hexutil.Uint64(progress.HighestBlock), - "pulledStates": hexutil.Uint64(progress.PulledStates), - "knownStates": hexutil.Uint64(progress.KnownStates), - }, nil + return nil, errors.New("not implemented in coreth") // Info or Health API should be used instead + // progress := s.b.Downloader().Progress() + + // // Return not syncing if the synchronisation already completed + // if progress.CurrentBlock >= progress.HighestBlock { + // return false, nil + // } + // // Otherwise gather the block sync stats + // return map[string]interface{}{ + // "startingBlock": hexutil.Uint64(progress.StartingBlock), + // "currentBlock": hexutil.Uint64(progress.CurrentBlock), + // "highestBlock": hexutil.Uint64(progress.HighestBlock), + // "pulledStates": hexutil.Uint64(progress.PulledStates), + // "knownStates": hexutil.Uint64(progress.KnownStates), + // }, nil } // PublicTxPoolAPI offers and API for the transaction pool. It only operates on data that is non confidential. -- cgit v1.2.3