Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
N
nebula
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
exchain
nebula
Commits
0cd42928
Unverified
Commit
0cd42928
authored
Aug 22, 2022
by
Javed Khan
Committed by
GitHub
Aug 22, 2022
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
indexer: rm AddressManager, StateCommitmentChain (#3276)
parent
bccf1446
Changes
10
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
37 additions
and
1752 deletions
+37
-1752
address_manager.go
indexer/bindings/address_manager/address_manager.go
+0
-626
statecommitmentchain.go
indexer/bindings/scc/statecommitmentchain.go
+0
-862
config.go
indexer/config.go
+11
-15
flags.go
indexer/flags/flags.go
+0
-7
indexer.go
indexer/indexer.go
+10
-16
addresses.go
indexer/services/l1/bridge/addresses.go
+0
-73
bridge.go
indexer/services/l1/bridge/bridge.go
+5
-12
filter.go
indexer/services/l1/bridge/filter.go
+0
-17
query.go
indexer/services/l1/query.go
+0
-32
service.go
indexer/services/l1/service.go
+11
-92
No files found.
indexer/bindings/address_manager/address_manager.go
deleted
100644 → 0
View file @
bccf1446
This diff is collapsed.
Click to expand it.
indexer/bindings/scc/statecommitmentchain.go
deleted
100644 → 0
View file @
bccf1446
This diff is collapsed.
Click to expand it.
indexer/config.go
View file @
0cd42928
...
@@ -36,9 +36,6 @@ type Config struct {
...
@@ -36,9 +36,6 @@ type Config struct {
// L2EthRpc is the HTTP provider URL for L1.
// L2EthRpc is the HTTP provider URL for L1.
L2EthRpc
string
L2EthRpc
string
// L1AddressManagerAddress is the address of the address manager for L1.
L1AddressManagerAddress
string
// L2GenesisBlockHash is the l2 genesis block hash.
// L2GenesisBlockHash is the l2 genesis block hash.
L2GenesisBlockHash
string
L2GenesisBlockHash
string
...
@@ -121,18 +118,17 @@ type Config struct {
...
@@ -121,18 +118,17 @@ type Config struct {
func
NewConfig
(
ctx
*
cli
.
Context
)
(
Config
,
error
)
{
func
NewConfig
(
ctx
*
cli
.
Context
)
(
Config
,
error
)
{
cfg
:=
Config
{
cfg
:=
Config
{
/* Required Flags */
/* Required Flags */
BuildEnv
:
ctx
.
GlobalString
(
flags
.
BuildEnvFlag
.
Name
),
BuildEnv
:
ctx
.
GlobalString
(
flags
.
BuildEnvFlag
.
Name
),
EthNetworkName
:
ctx
.
GlobalString
(
flags
.
EthNetworkNameFlag
.
Name
),
EthNetworkName
:
ctx
.
GlobalString
(
flags
.
EthNetworkNameFlag
.
Name
),
ChainID
:
ctx
.
GlobalInt64
(
flags
.
ChainIDFlag
.
Name
),
ChainID
:
ctx
.
GlobalInt64
(
flags
.
ChainIDFlag
.
Name
),
L1EthRpc
:
ctx
.
GlobalString
(
flags
.
L1EthRPCFlag
.
Name
),
L1EthRpc
:
ctx
.
GlobalString
(
flags
.
L1EthRPCFlag
.
Name
),
L2EthRpc
:
ctx
.
GlobalString
(
flags
.
L2EthRPCFlag
.
Name
),
L2EthRpc
:
ctx
.
GlobalString
(
flags
.
L2EthRPCFlag
.
Name
),
L1AddressManagerAddress
:
ctx
.
GlobalString
(
flags
.
L1AddressManagerAddressFlag
.
Name
),
L2GenesisBlockHash
:
ctx
.
GlobalString
(
flags
.
L2GenesisBlockHashFlag
.
Name
),
L2GenesisBlockHash
:
ctx
.
GlobalString
(
flags
.
L2GenesisBlockHashFlag
.
Name
),
DBHost
:
ctx
.
GlobalString
(
flags
.
DBHostFlag
.
Name
),
DBHost
:
ctx
.
GlobalString
(
flags
.
DBHostFlag
.
Name
),
DBPort
:
ctx
.
GlobalUint64
(
flags
.
DBPortFlag
.
Name
),
DBPort
:
ctx
.
GlobalUint64
(
flags
.
DBPortFlag
.
Name
),
DBUser
:
ctx
.
GlobalString
(
flags
.
DBUserFlag
.
Name
),
DBUser
:
ctx
.
GlobalString
(
flags
.
DBUserFlag
.
Name
),
DBPassword
:
ctx
.
GlobalString
(
flags
.
DBPasswordFlag
.
Name
),
DBPassword
:
ctx
.
GlobalString
(
flags
.
DBPasswordFlag
.
Name
),
DBName
:
ctx
.
GlobalString
(
flags
.
DBNameFlag
.
Name
),
DBName
:
ctx
.
GlobalString
(
flags
.
DBNameFlag
.
Name
),
/* Optional Flags */
/* Optional Flags */
DisableIndexer
:
ctx
.
GlobalBool
(
flags
.
DisableIndexer
.
Name
),
DisableIndexer
:
ctx
.
GlobalBool
(
flags
.
DisableIndexer
.
Name
),
LogLevel
:
ctx
.
GlobalString
(
flags
.
LogLevelFlag
.
Name
),
LogLevel
:
ctx
.
GlobalString
(
flags
.
LogLevelFlag
.
Name
),
...
...
indexer/flags/flags.go
View file @
0cd42928
...
@@ -46,12 +46,6 @@ var (
...
@@ -46,12 +46,6 @@ var (
Required
:
true
,
Required
:
true
,
EnvVar
:
prefixEnvVar
(
"L2_ETH_RPC"
),
EnvVar
:
prefixEnvVar
(
"L2_ETH_RPC"
),
}
}
L1AddressManagerAddressFlag
=
cli
.
StringFlag
{
Name
:
"l1-address-manager-address"
,
Usage
:
"Address of the L1 address manager"
,
Required
:
true
,
EnvVar
:
prefixEnvVar
(
"L1_ADDRESS_MANAGER_ADDRESS"
),
}
L2GenesisBlockHashFlag
=
cli
.
StringFlag
{
L2GenesisBlockHashFlag
=
cli
.
StringFlag
{
Name
:
"l2-genesis-block-hash"
,
Name
:
"l2-genesis-block-hash"
,
Usage
:
"Genesis block hash of the L2 chain"
,
Usage
:
"Genesis block hash of the L2 chain"
,
...
@@ -187,7 +181,6 @@ var requiredFlags = []cli.Flag{
...
@@ -187,7 +181,6 @@ var requiredFlags = []cli.Flag{
ChainIDFlag
,
ChainIDFlag
,
L1EthRPCFlag
,
L1EthRPCFlag
,
L2EthRPCFlag
,
L2EthRPCFlag
,
L1AddressManagerAddressFlag
,
L2GenesisBlockHashFlag
,
L2GenesisBlockHashFlag
,
DBHostFlag
,
DBHostFlag
,
DBPortFlag
,
DBPortFlag
,
...
...
indexer/indexer.go
View file @
0cd42928
...
@@ -159,23 +159,17 @@ func NewIndexer(cfg Config, gitVersion string) (*Indexer, error) {
...
@@ -159,23 +159,17 @@ func NewIndexer(cfg Config, gitVersion string) (*Indexer, error) {
return
nil
,
err
return
nil
,
err
}
}
l1AddressManagerAddress
,
err
:=
ParseAddress
(
cfg
.
L1AddressManagerAddress
)
if
err
!=
nil
{
return
nil
,
err
}
l1IndexingService
,
err
:=
l1
.
NewService
(
l1
.
ServiceConfig
{
l1IndexingService
,
err
:=
l1
.
NewService
(
l1
.
ServiceConfig
{
Context
:
ctx
,
Context
:
ctx
,
Metrics
:
m
,
Metrics
:
m
,
L1Client
:
l1Client
,
L1Client
:
l1Client
,
RawL1Client
:
rawl1Client
,
RawL1Client
:
rawl1Client
,
ChainID
:
big
.
NewInt
(
cfg
.
ChainID
),
ChainID
:
big
.
NewInt
(
cfg
.
ChainID
),
AddressManagerAddress
:
l1AddressManagerAddress
,
DB
:
db
,
DB
:
db
,
ConfDepth
:
cfg
.
ConfDepth
,
ConfDepth
:
cfg
.
ConfDepth
,
MaxHeaderBatchSize
:
cfg
.
MaxHeaderBatchSize
,
MaxHeaderBatchSize
:
cfg
.
MaxHeaderBatchSize
,
StartBlockNumber
:
cfg
.
StartBlockNumber
,
StartBlockNumber
:
cfg
.
StartBlockNumber
,
StartBlockHash
:
cfg
.
StartBlockHash
,
StartBlockHash
:
cfg
.
StartBlockHash
,
})
})
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
...
...
indexer/services/l1/bridge/addresses.go
deleted
100644 → 0
View file @
bccf1446
package
bridge
import
(
"fmt"
"github.com/ethereum-optimism/optimism/op-bindings/bindings"
"github.com/ethereum/go-ethereum/accounts/abi/bind"
"github.com/ethereum/go-ethereum/common"
)
var
zeroAddr
common
.
Address
var
standardContracts
=
[]
string
{
"Proxy__OVM_L1CrossDomainMessenger"
,
"Proxy__OVM_L1StandardBridge"
,
"StateCommitmentChain"
,
"CanonicalTransactionChain"
,
"BondManager"
,
}
type
Addresses
struct
{
addrs
map
[
string
]
common
.
Address
}
func
NewAddresses
(
client
bind
.
ContractBackend
,
addrMgrAddr
common
.
Address
)
(
*
Addresses
,
error
)
{
ret
:=
&
Addresses
{
addrs
:
make
(
map
[
string
]
common
.
Address
),
}
ret
.
addrs
[
"AddressManager"
]
=
addrMgrAddr
mgr
,
err
:=
bindings
.
NewAddressManager
(
addrMgrAddr
,
client
)
if
err
!=
nil
{
return
nil
,
err
}
for
_
,
contractName
:=
range
standardContracts
{
contractAddr
,
err
:=
mgr
.
GetAddress
(
nil
,
contractName
)
if
err
!=
nil
{
return
nil
,
fmt
.
Errorf
(
"error getting contract %s: %v"
,
contractName
,
err
)
}
if
contractAddr
==
zeroAddr
{
return
nil
,
fmt
.
Errorf
(
"contract %s is not deployed"
,
contractName
)
}
ret
.
addrs
[
contractName
]
=
contractAddr
}
return
ret
,
nil
}
func
(
a
*
Addresses
)
AddressManager
()
common
.
Address
{
return
a
.
addrs
[
"AddressManager"
]
}
func
(
a
*
Addresses
)
L1CrossDomainMessenger
()
common
.
Address
{
return
a
.
addrs
[
"Proxy__OVM_L1CrossDomainMessenger"
]
}
func
(
a
*
Addresses
)
L1StandardBridge
()
common
.
Address
{
return
a
.
addrs
[
"Proxy__OVM_L1StandardBridge"
]
}
func
(
a
*
Addresses
)
StateCommitmentChain
()
common
.
Address
{
return
a
.
addrs
[
"StateCommitmentChain"
]
}
func
(
a
*
Addresses
)
CanonicalTransactionChain
()
common
.
Address
{
return
a
.
addrs
[
"CanonicalTransactionChain"
]
}
func
(
a
*
Addresses
)
BondManager
()
common
.
Address
{
return
a
.
addrs
[
"BondManager"
]
}
indexer/services/l1/bridge/bridge.go
View file @
0cd42928
...
@@ -6,7 +6,6 @@ import (
...
@@ -6,7 +6,6 @@ import (
"math/big"
"math/big"
"github.com/ethereum-optimism/optimism/indexer/bindings/l1bridge"
"github.com/ethereum-optimism/optimism/indexer/bindings/l1bridge"
"github.com/ethereum-optimism/optimism/indexer/bindings/scc"
"github.com/ethereum-optimism/optimism/indexer/db"
"github.com/ethereum-optimism/optimism/indexer/db"
"github.com/ethereum/go-ethereum/accounts/abi/bind"
"github.com/ethereum/go-ethereum/accounts/abi/bind"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/common"
...
@@ -26,6 +25,8 @@ type implConfig struct {
...
@@ -26,6 +25,8 @@ type implConfig struct {
addr
common
.
Address
addr
common
.
Address
}
}
var
addrs
map
[
string
]
common
.
Address
var
customBridgeCfgs
=
map
[
uint64
][]
*
implConfig
{
var
customBridgeCfgs
=
map
[
uint64
][]
*
implConfig
{
// Mainnet
// Mainnet
1
:
{
1
:
{
...
@@ -40,10 +41,10 @@ var customBridgeCfgs = map[uint64][]*implConfig{
...
@@ -40,10 +41,10 @@ var customBridgeCfgs = map[uint64][]*implConfig{
},
},
}
}
func
BridgesByChainID
(
chainID
*
big
.
Int
,
client
bind
.
ContractBackend
,
addrs
*
Addresses
,
ctx
context
.
Context
)
(
map
[
string
]
Bridge
,
error
)
{
func
BridgesByChainID
(
chainID
*
big
.
Int
,
client
bind
.
ContractBackend
,
ctx
context
.
Context
)
(
map
[
string
]
Bridge
,
error
)
{
allCfgs
:=
[]
*
implConfig
{
allCfgs
:=
[]
*
implConfig
{
{
"Standard"
,
"StandardBridge"
,
addrs
.
L1StandardBridge
()
},
{
"Standard"
,
"StandardBridge"
,
addrs
[
"L1StandardBridge"
]
},
{
"ETH"
,
"ETHBridge"
,
addrs
.
L1StandardBridge
()
},
{
"ETH"
,
"ETHBridge"
,
addrs
[
"L1StandardBridge"
]
},
}
}
allCfgs
=
append
(
allCfgs
,
customBridgeCfgs
[
chainID
.
Uint64
()]
...
)
allCfgs
=
append
(
allCfgs
,
customBridgeCfgs
[
chainID
.
Uint64
()]
...
)
...
@@ -84,11 +85,3 @@ func BridgesByChainID(chainID *big.Int, client bind.ContractBackend, addrs *Addr
...
@@ -84,11 +85,3 @@ func BridgesByChainID(chainID *big.Int, client bind.ContractBackend, addrs *Addr
}
}
return
bridges
,
nil
return
bridges
,
nil
}
}
func
StateCommitmentChainScanner
(
client
bind
.
ContractFilterer
,
addrs
*
Addresses
)
(
*
scc
.
StateCommitmentChainFilterer
,
error
)
{
filter
,
err
:=
scc
.
NewStateCommitmentChainFilterer
(
addrs
.
StateCommitmentChain
(),
client
)
if
err
!=
nil
{
return
nil
,
err
}
return
filter
,
nil
}
indexer/services/l1/bridge/filter.go
View file @
0cd42928
...
@@ -5,7 +5,6 @@ import (
...
@@ -5,7 +5,6 @@ import (
"time"
"time"
"github.com/ethereum-optimism/optimism/indexer/bindings/l1bridge"
"github.com/ethereum-optimism/optimism/indexer/bindings/l1bridge"
"github.com/ethereum-optimism/optimism/indexer/bindings/scc"
"github.com/ethereum/go-ethereum/accounts/abi/bind"
"github.com/ethereum/go-ethereum/accounts/abi/bind"
)
)
...
@@ -13,22 +12,6 @@ import (
...
@@ -13,22 +12,6 @@ import (
// calls.
// calls.
var
clientRetryInterval
=
5
*
time
.
Second
var
clientRetryInterval
=
5
*
time
.
Second
// FilterStateBatchAppendedWithRetry retries the given func until it succeeds,
// waiting for clientRetryInterval duration after every call.
func
FilterStateBatchAppendedWithRetry
(
ctx
context
.
Context
,
filterer
*
scc
.
StateCommitmentChainFilterer
,
opts
*
bind
.
FilterOpts
)
(
*
scc
.
StateCommitmentChainStateBatchAppendedIterator
,
error
)
{
for
{
ctxt
,
cancel
:=
context
.
WithTimeout
(
ctx
,
DefaultConnectionTimeout
)
opts
.
Context
=
ctxt
res
,
err
:=
filterer
.
FilterStateBatchAppended
(
opts
,
nil
)
cancel
()
if
err
==
nil
{
return
res
,
nil
}
logger
.
Error
(
"Error fetching filter"
,
"err"
,
err
)
time
.
Sleep
(
clientRetryInterval
)
}
}
// FilterETHDepositInitiatedWithRetry retries the given func until it succeeds,
// FilterETHDepositInitiatedWithRetry retries the given func until it succeeds,
// waiting for clientRetryInterval duration after every call.
// waiting for clientRetryInterval duration after every call.
func
FilterETHDepositInitiatedWithRetry
(
ctx
context
.
Context
,
filterer
*
l1bridge
.
L1StandardBridgeFilterer
,
opts
*
bind
.
FilterOpts
)
(
*
l1bridge
.
L1StandardBridgeETHDepositInitiatedIterator
,
error
)
{
func
FilterETHDepositInitiatedWithRetry
(
ctx
context
.
Context
,
filterer
*
l1bridge
.
L1StandardBridgeFilterer
,
opts
*
bind
.
FilterOpts
)
(
*
l1bridge
.
L1StandardBridgeETHDepositInitiatedIterator
,
error
)
{
...
...
indexer/services/l1/query.go
View file @
0cd42928
package
l1
package
l1
import
(
import
(
"context"
"github.com/ethereum-optimism/optimism/indexer/bindings/l1erc20"
"github.com/ethereum-optimism/optimism/indexer/bindings/l1erc20"
"github.com/ethereum/go-ethereum/ethclient"
"github.com/ethereum/go-ethereum/ethclient"
"github.com/ethereum-optimism/optimism/indexer/bindings/scc"
"github.com/ethereum-optimism/optimism/indexer/db"
"github.com/ethereum-optimism/optimism/indexer/db"
"github.com/ethereum-optimism/optimism/indexer/services/l1/bridge"
"github.com/ethereum/go-ethereum/accounts/abi/bind"
"github.com/ethereum/go-ethereum/accounts/abi/bind"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/common"
)
)
...
@@ -40,31 +36,3 @@ func QueryERC20(address common.Address, client *ethclient.Client) (*db.Token, er
...
@@ -40,31 +36,3 @@ func QueryERC20(address common.Address, client *ethclient.Client) (*db.Token, er
Decimals
:
decimals
,
Decimals
:
decimals
,
},
nil
},
nil
}
}
func
QueryStateBatches
(
filterer
*
scc
.
StateCommitmentChainFilterer
,
startHeight
,
endHeight
uint64
,
ctx
context
.
Context
)
(
map
[
common
.
Hash
][]
db
.
StateBatch
,
error
)
{
batches
:=
make
(
map
[
common
.
Hash
][]
db
.
StateBatch
)
iter
,
err
:=
bridge
.
FilterStateBatchAppendedWithRetry
(
ctx
,
filterer
,
&
bind
.
FilterOpts
{
Start
:
startHeight
,
End
:
&
endHeight
,
})
if
err
!=
nil
{
return
nil
,
err
}
for
iter
.
Next
()
{
batches
[
iter
.
Event
.
Raw
.
BlockHash
]
=
append
(
batches
[
iter
.
Event
.
Raw
.
BlockHash
],
db
.
StateBatch
{
Index
:
iter
.
Event
.
BatchIndex
,
Root
:
iter
.
Event
.
BatchRoot
,
Size
:
iter
.
Event
.
BatchSize
,
PrevTotal
:
iter
.
Event
.
PrevTotalElements
,
ExtraData
:
iter
.
Event
.
ExtraData
,
BlockHash
:
iter
.
Event
.
Raw
.
BlockHash
,
})
}
if
err
:=
iter
.
Error
();
err
!=
nil
{
return
nil
,
err
}
return
batches
,
nil
}
indexer/services/l1/service.go
View file @
0cd42928
...
@@ -14,7 +14,6 @@ import (
...
@@ -14,7 +14,6 @@ import (
"github.com/ethereum-optimism/optimism/indexer/metrics"
"github.com/ethereum-optimism/optimism/indexer/metrics"
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus"
"github.com/ethereum-optimism/optimism/indexer/bindings/scc"
"github.com/ethereum-optimism/optimism/indexer/server"
"github.com/ethereum-optimism/optimism/indexer/server"
"github.com/ethereum-optimism/optimism/indexer/services/l1/bridge"
"github.com/ethereum-optimism/optimism/indexer/services/l1/bridge"
...
@@ -66,17 +65,16 @@ type Driver interface {
...
@@ -66,17 +65,16 @@ type Driver interface {
}
}
type
ServiceConfig
struct
{
type
ServiceConfig
struct
{
Context
context
.
Context
Context
context
.
Context
Metrics
*
metrics
.
Metrics
Metrics
*
metrics
.
Metrics
L1Client
*
ethclient
.
Client
L1Client
*
ethclient
.
Client
RawL1Client
*
rpc
.
Client
RawL1Client
*
rpc
.
Client
ChainID
*
big
.
Int
ChainID
*
big
.
Int
AddressManagerAddress
common
.
Address
ConfDepth
uint64
ConfDepth
uint64
MaxHeaderBatchSize
uint64
MaxHeaderBatchSize
uint64
StartBlockNumber
uint64
StartBlockNumber
uint64
StartBlockHash
string
StartBlockHash
string
DB
*
db
.
Database
DB
*
db
.
Database
}
}
type
Service
struct
{
type
Service
struct
{
...
@@ -85,7 +83,6 @@ type Service struct {
...
@@ -85,7 +83,6 @@ type Service struct {
cancel
func
()
cancel
func
()
bridges
map
[
string
]
bridge
.
Bridge
bridges
map
[
string
]
bridge
.
Bridge
batchScanner
*
scc
.
StateCommitmentChainFilterer
latestHeader
uint64
latestHeader
uint64
headerSelector
*
ConfirmedHeaderSelector
headerSelector
*
ConfirmedHeaderSelector
...
@@ -116,24 +113,7 @@ func NewService(cfg ServiceConfig) (*Service, error) {
...
@@ -116,24 +113,7 @@ func NewService(cfg ServiceConfig) (*Service, error) {
return
nil
,
fmt
.
Errorf
(
"chain ID configured with %d but got %d"
,
cfg
.
ChainID
,
chainID
)
return
nil
,
fmt
.
Errorf
(
"chain ID configured with %d but got %d"
,
cfg
.
ChainID
,
chainID
)
}
}
addrs
,
err
:=
bridge
.
NewAddresses
(
cfg
.
L1Client
,
cfg
.
AddressManagerAddress
)
var
bridges
map
[
string
]
bridge
.
Bridge
if
err
!=
nil
{
cancel
()
return
nil
,
err
}
bridges
,
err
:=
bridge
.
BridgesByChainID
(
cfg
.
ChainID
,
cfg
.
L1Client
,
addrs
,
ctx
)
if
err
!=
nil
{
cancel
()
return
nil
,
err
}
batchScanner
,
err
:=
bridge
.
StateCommitmentChainScanner
(
cfg
.
L1Client
,
addrs
)
if
err
!=
nil
{
cancel
()
return
nil
,
err
}
logger
.
Info
(
"Scanning bridges for deposits"
,
"bridges"
,
bridges
)
logger
.
Info
(
"Scanning bridges for deposits"
,
"bridges"
,
bridges
)
confirmedHeaderSelector
,
err
:=
NewConfirmedHeaderSelector
(
HeaderSelectorConfig
{
confirmedHeaderSelector
,
err
:=
NewConfirmedHeaderSelector
(
HeaderSelectorConfig
{
...
@@ -151,7 +131,6 @@ func NewService(cfg ServiceConfig) (*Service, error) {
...
@@ -151,7 +131,6 @@ func NewService(cfg ServiceConfig) (*Service, error) {
ctx
:
ctx
,
ctx
:
ctx
,
cancel
:
cancel
,
cancel
:
cancel
,
bridges
:
bridges
,
bridges
:
bridges
,
batchScanner
:
batchScanner
,
headerSelector
:
confirmedHeaderSelector
,
headerSelector
:
confirmedHeaderSelector
,
metrics
:
cfg
.
Metrics
,
metrics
:
cfg
.
Metrics
,
tokenCache
:
map
[
common
.
Address
]
*
db
.
Token
{
tokenCache
:
map
[
common
.
Address
]
*
db
.
Token
{
...
@@ -284,66 +263,6 @@ func (s *Service) Update(newHeader *types.Header) error {
...
@@ -284,66 +263,6 @@ func (s *Service) Update(newHeader *types.Header) error {
}
}
}
}
stateBatches
,
err
:=
QueryStateBatches
(
s
.
batchScanner
,
startHeight
,
endHeight
,
s
.
ctx
)
if
err
!=
nil
{
logger
.
Error
(
"Error querying state batches"
,
"err"
,
err
)
}
for
i
,
header
:=
range
headers
{
blockHash
:=
header
.
Hash
number
:=
header
.
Number
.
Uint64
()
deposits
:=
depositsByBlockHash
[
blockHash
]
batches
:=
stateBatches
[
blockHash
]
if
len
(
deposits
)
==
0
&&
len
(
batches
)
==
0
&&
i
!=
len
(
headers
)
-
1
{
continue
}
block
:=
&
db
.
IndexedL1Block
{
Hash
:
blockHash
,
ParentHash
:
header
.
ParentHash
,
Number
:
number
,
Timestamp
:
header
.
Time
,
Deposits
:
deposits
,
}
err
:=
s
.
cfg
.
DB
.
AddIndexedL1Block
(
block
)
if
err
!=
nil
{
logger
.
Error
(
"Unable to import "
,
"block"
,
number
,
"hash"
,
blockHash
,
"err"
,
err
,
"block"
,
block
,
)
return
err
}
err
=
s
.
cfg
.
DB
.
AddStateBatch
(
batches
)
if
err
!=
nil
{
logger
.
Error
(
"Unable to import state append batch"
,
"block"
,
number
,
"hash"
,
blockHash
,
"err"
,
err
,
"block"
,
block
,
)
return
err
}
s
.
metrics
.
RecordStateBatches
(
len
(
batches
))
logger
.
Debug
(
"Imported "
,
"block"
,
number
,
"hash"
,
blockHash
,
"deposits"
,
len
(
block
.
Deposits
))
for
_
,
deposit
:=
range
block
.
Deposits
{
token
:=
s
.
tokenCache
[
deposit
.
L1Token
]
logger
.
Info
(
"indexed deposit"
,
"tx_hash"
,
deposit
.
TxHash
,
"symbol"
,
token
.
Symbol
,
"amount"
,
deposit
.
Amount
,
)
s
.
metrics
.
RecordDeposit
(
deposit
.
L1Token
)
}
}
newHeaderNumber
:=
newHeader
.
Number
.
Uint64
()
newHeaderNumber
:=
newHeader
.
Number
.
Uint64
()
s
.
metrics
.
SetL1SyncHeight
(
endHeight
)
s
.
metrics
.
SetL1SyncHeight
(
endHeight
)
s
.
metrics
.
SetL1SyncPercent
(
endHeight
,
newHeaderNumber
)
s
.
metrics
.
SetL1SyncPercent
(
endHeight
,
newHeaderNumber
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment