mirror of
https://github.com/arnaucube/hermez-node.git
synced 2026-02-06 19:06:42 +01:00
Update Synchronizer (node) implementation
- node:
- Extend config to add initial variables of the smart contracts used as
defaults before they are changed via events.
- In stopped channels, set size 1 so that panics are not witheld until the
node stops completely.
- common:
- In Smart Contract variables, comment:
- `WDelayerVariables.HermezRollupAddress` because it's not needed.
- `RollupVariables.Buckets` because there are no events for it, and for
now it's not used.
- historydb:
- Add functions to get and set smart contract variables.
- db:
- Add `Rollback` function in `utils.go` to reduce boilerplate in sql
transaction rollbacks in defers in db functions.
- Update `rollup_vars` and `auction_vars` (renamed from `consensus_vars`)
table, and add `wdelayer_vars` table.
- synchronizer:
- Synchronize WDelayer
- Handle SC variables properly
- test/ethclient:
- Add essential implementation of WDelayer
This commit is contained in:
@@ -8,6 +8,7 @@ import (
|
||||
"github.com/BurntSushi/toml"
|
||||
ethCommon "github.com/ethereum/go-ethereum/common"
|
||||
"github.com/hermeznetwork/hermez-node/common"
|
||||
"github.com/hermeznetwork/hermez-node/synchronizer"
|
||||
"gopkg.in/go-playground/validator.v9"
|
||||
)
|
||||
|
||||
@@ -65,16 +66,14 @@ type Node struct {
|
||||
URL string `validate:"required"`
|
||||
} `validate:"required"`
|
||||
Synchronizer struct {
|
||||
SyncLoopInterval Duration `validate:"required"`
|
||||
StartBlockNum struct {
|
||||
Rollup int64 `validate:"required"`
|
||||
Auction int64 `validate:"required"`
|
||||
WDelayer int64 `validate:"required"`
|
||||
} `validate:"required"`
|
||||
SyncLoopInterval Duration `validate:"required"`
|
||||
StartBlockNum synchronizer.ConfigStartBlockNum `validate:"required"`
|
||||
InitialVariables synchronizer.SCVariables `validate:"required"`
|
||||
} `validate:"required"`
|
||||
SmartContracts struct {
|
||||
Rollup ethCommon.Address `validate:"required"`
|
||||
Auction ethCommon.Address `validate:"required"`
|
||||
WDelayer ethCommon.Address `validate:"required"`
|
||||
TokenHEZ ethCommon.Address `validate:"required"`
|
||||
TokenHEZName string `validate:"required"`
|
||||
} `validate:"required"`
|
||||
|
||||
Reference in New Issue
Block a user