|
package common
|
|
|
|
import (
|
|
"math/big"
|
|
|
|
eth "github.com/ethereum/go-ethereum/common"
|
|
)
|
|
|
|
// Batch is a struct that represents Hermez network batch
|
|
type Batch struct {
|
|
BatchNum BatchNum
|
|
SlotNum SlotNum // Slot in which the batch is forged
|
|
EthTxHash eth.Hash
|
|
EthBlockNum uint64 // Ethereum block in which the batch is forged
|
|
ExitRoot Hash
|
|
OldStateRoot Hash
|
|
NewStateRoot Hash
|
|
OldNumAccounts int
|
|
NewNumAccounts int
|
|
ToForgeL1TxsNum uint32 // optional, Only when the batch forges L1 txs. Identifier that corresponds to the group of L1 txs forged in the current batch.
|
|
ToForgeL1TxsHash eth.Hash // optional, Only when the batch forges L1 txs. Frozen from pendingL1TxsHash (which are the group of L1UserTxs), to be forged in ToForgeL1TxsNum + 1.
|
|
ForgedL1TxsHash eth.Hash // optional, Only when the batch forges L1 txs. This will be the Hash of the group of L1 txs (L1UserTxs + L1CoordinatorTx) forged in the current batch.
|
|
CollectedFees map[TokenID]*big.Int
|
|
ForgerAddr eth.Address // TODO: Should this be retrieved via slot reference?
|
|
}
|
|
|
|
// BatchNum identifies a batch
|
|
type BatchNum uint32
|