From dca095f9bad13fcab1eb5366c70c53f1aa3f8cfa Mon Sep 17 00:00:00 2001 From: Dave Collins Date: Tue, 26 Apr 2022 01:00:55 -0500 Subject: [PATCH] rpcserver: Remove unused AddrIndexer interface. This removes the AddrIndexer interface and related test infrastructure since it is no longer used as of the removal of the address index code. This is part of the overall removal of the deprecated address index. --- internal/rpcserver/interface.go | 34 ---------- internal/rpcserver/rpcserver.go | 3 - internal/rpcserver/rpcserverhandlers_test.go | 69 -------------------- server.go | 3 - 4 files changed, 109 deletions(-) diff --git a/internal/rpcserver/interface.go b/internal/rpcserver/interface.go index e363a77a..9edac5e7 100644 --- a/internal/rpcserver/interface.go +++ b/internal/rpcserver/interface.go @@ -15,7 +15,6 @@ import ( "github.com/decred/dcrd/blockchain/v5" "github.com/decred/dcrd/blockchain/v5/indexers" "github.com/decred/dcrd/chaincfg/chainhash" - "github.com/decred/dcrd/database/v3" "github.com/decred/dcrd/dcrutil/v4" "github.com/decred/dcrd/gcs/v4" "github.com/decred/dcrd/internal/mempool" @@ -608,39 +607,6 @@ type TxMempooler interface { TSpendHashes() []chainhash.Hash } -// AddrIndexer provides an interface for retrieving transactions for a given -// address. -// -// The interface contract requires that all of these methods are safe for -// concurrent access. -type AddrIndexer interface { - // Name returns the human-readable name of the index. - Name() string - - // Tip returns the current index tip. - Tip() (int64, *chainhash.Hash, error) - - // WaitForSync subscribes clients for the next index sync update. - WaitForSync() chan bool - - // EntriesForAddress returns a slice of details which identify each transaction, - // including a block region, that involves the passed address according to the - // specified number to skip, number requested, and whether or not the results - // should be reversed. It also returns the number actually skipped since it - // could be less in the case where there are not enough entries. - // - // NOTE: These results only include transactions confirmed in blocks. See the - // UnconfirmedTxnsForAddress method for obtaining unconfirmed transactions - // that involve a given address. - EntriesForAddress(dbTx database.Tx, addr stdaddr.Address, numToSkip, - numRequested uint32, reverse bool) ([]indexers.TxIndexEntry, uint32, error) - - // UnconfirmedTxnsForAddress returns all transactions currently in the - // unconfirmed (memory-only) address index that involve the passed address. - // Unsupported address types are ignored and will result in no results. - UnconfirmedTxnsForAddress(addr stdaddr.Address) []*dcrutil.Tx -} - // TxIndexer provides an interface for retrieving details for a given // transaction hash. // diff --git a/internal/rpcserver/rpcserver.go b/internal/rpcserver/rpcserver.go index f847bfa9..35c680fe 100644 --- a/internal/rpcserver/rpcserver.go +++ b/internal/rpcserver/rpcserver.go @@ -5739,9 +5739,6 @@ type Config struct { // use. TxIndexer TxIndexer - // AddrIndexer defines the optional address indexer for the RPC server to use. - AddrIndexer AddrIndexer - // NetInfo defines a slice of the available networks. NetInfo []types.NetworksResult diff --git a/internal/rpcserver/rpcserverhandlers_test.go b/internal/rpcserver/rpcserverhandlers_test.go index 535c66f8..6393d71c 100644 --- a/internal/rpcserver/rpcserverhandlers_test.go +++ b/internal/rpcserver/rpcserverhandlers_test.go @@ -600,52 +600,6 @@ func (e *testExistsAddresser) ExistsAddresses(addrs []stdaddr.Address) ([]bool, return e.existsAddresses, e.existsAddressesErr } -// testAddrIndexer provides a mock address indexer by implementing the -// AddrIndexer interface. -type testAddrIndexer struct { - entriesForAddress []indexers.TxIndexEntry - entriesForAddressSkipped uint32 - entriesForAddressErr error - unconfirmedTxnsForAddress []*dcrutil.Tx - tipHeight int64 - tipHash *chainhash.Hash - tipErr error - signalOnWait bool -} - -// Name returns the human-readable name of the index. -func (a *testAddrIndexer) Name() string { - return "testAddrIndexer" -} - -// Tip returns the current index tip. -func (a *testAddrIndexer) Tip() (int64, *chainhash.Hash, error) { - return a.tipHeight, a.tipHash, a.tipErr -} - -// WaitForSync subscribes clients for the next index sync update. -func (a *testAddrIndexer) WaitForSync() chan bool { - c := make(chan bool) - if a.signalOnWait { - close(c) - } - return c -} - -// EntriesForAddress returns a mocked slice of indexers.TxIndexEntry that -// involve the given address. -func (a *testAddrIndexer) EntriesForAddress(dbTx database.Tx, - addr stdaddr.Address, numToSkip, numRequested uint32, reverse bool) ( - []indexers.TxIndexEntry, uint32, error) { - return a.entriesForAddress, a.entriesForAddressSkipped, a.entriesForAddressErr -} - -// UnconfirmedTxnsForAddress returns a mocked slice of transactions that are -// currently in the unconfirmed (memory-only) address index. -func (a *testAddrIndexer) UnconfirmedTxnsForAddress(addr stdaddr.Address) []*dcrutil.Tx { - return a.unconfirmedTxnsForAddress -} - // testTxIndexer provides a mock transaction indexer by implementing the // TxIndexer interface. type testTxIndexer struct { @@ -1391,8 +1345,6 @@ type rpcTest struct { mockSyncManager *testSyncManager mockExistsAddresser *testExistsAddresser setExistsAddresserNil bool - mockAddrIndexer *testAddrIndexer - setAddrIndexerNil bool mockTxIndexer *testTxIndexer setTxIndexerNil bool mockDB *testDB @@ -1624,20 +1576,6 @@ func defaultMockExistsAddresser() *testExistsAddresser { } } -// defaultMockAddrIndexer provides a default mock address indexer to be -// used throughout the tests. Tests can override these defaults by calling -// defaultMockAddrIndexer, updating fields as necessary on the returned -// *testAddrIndexer, and then setting rpcTest.mockAddrIndexer as that -// *testAddrIndexer. -func defaultMockAddrIndexer() *testAddrIndexer { - bestHash := block432100.Header.BlockHash() - return &testAddrIndexer{ - tipHeight: int64(block432100.Header.Height), - tipHash: &bestHash, - signalOnWait: true, - } -} - // defaultMockTxIndexer provides a default mock transaction indexer to be // used throughout the tests. Tests can override these defaults by calling // defaultMockTxIndexer, updating fields as necessary on the returned @@ -1824,7 +1762,6 @@ func defaultMockConfig(chainParams *chaincfg.Params) *Config { FeeEstimator: defaultMockFeeEstimator(), SyncMgr: defaultMockSyncManager(), ExistsAddresser: defaultMockExistsAddresser(), - AddrIndexer: defaultMockAddrIndexer(), TxIndexer: defaultMockTxIndexer(), DB: defaultMockDB(), ConnMgr: defaultMockConnManager(), @@ -7939,12 +7876,6 @@ func testRPCServerHandler(t *testing.T, tests []rpcTest) { if test.setExistsAddresserNil { rpcserverConfig.ExistsAddresser = nil } - if test.mockAddrIndexer != nil { - rpcserverConfig.AddrIndexer = test.mockAddrIndexer - } - if test.setAddrIndexerNil { - rpcserverConfig.AddrIndexer = nil - } if test.mockTxIndexer != nil { rpcserverConfig.TxIndexer = test.mockTxIndexer } diff --git a/server.go b/server.go index bd594759..5c021c40 100644 --- a/server.go +++ b/server.go @@ -3868,9 +3868,6 @@ func newServer(ctx context.Context, listenAddrs []string, db database.DB, if s.txIndex != nil { rpcsConfig.TxIndexer = s.txIndex } - if s.addrIndex != nil { - rpcsConfig.AddrIndexer = s.addrIndex - } s.rpcServer, err = rpcserver.New(&rpcsConfig) if err != nil {