arnaucube
arnaucube/hermez-nodePublic Self-hosted repository
hermez-node/common/scvars.go
common/scvars.goRaw
 1package common
 2
 3import (
 4	"math/big"
 5	"time"
 6
 7	eth "github.com/ethereum/go-ethereum/common"
 8)
 9
10// RollupVars contain the Rollup smart contract variables
11type RollupVars struct {
12	EthBlockNum    uint64
13	ForgeL1Timeout *big.Int
14	FeeL1UserTx    *big.Int
15	FeeAddToken    *big.Int
16	TokensHEZ      eth.Address
17	Governance     eth.Address
18}
19
20// AuctionVars contain the Auction smart contract variables
21type AuctionVars struct {
22	EthBlockNum       uint64
23	SlotDeadline      uint
24	CloseAuctionSlots uint
25	OpenAuctionSlots  uint
26	Governance        eth.Address
27	MinBidSlots       MinBidSlots
28	Outbidding        int
29	DonationAddress   eth.Address
30	GovernanceAddress eth.Address
31	AllocationRatio   AllocationRatio
32}
33
34// WithdrawDelayerVars contains the Withdrawal Delayer smart contract variables
35type WithdrawDelayerVars struct {
36	HermezRollupAddress        eth.Address
37	HermezGovernanceDAOAddress eth.Address
38	WhiteHackGroupAddress      eth.Address
39	WithdrawalDelay            uint
40	EmergencyModeStartingTime  time.Time
41	EmergencyModeEnabled       bool
42}
43
44// MinBidSlots TODO
45type MinBidSlots [6]uint
46
47// AllocationRatio TODO
48type AllocationRatio struct {
49	Donation uint
50	Burn     uint
51	Forger   uint
52}