mirror of
https://github.com/arnaucube/hermez-node.git
synced 2026-02-07 03:16:45 +01:00
Add usefull methods for reorg
This commit is contained in:
@@ -4,9 +4,9 @@ import (
|
||||
"math/big"
|
||||
)
|
||||
|
||||
type ExitTreeLeaf struct {
|
||||
type ExitInfo struct {
|
||||
AccountIdx Idx
|
||||
MerkleProof []byte
|
||||
Amount *big.Int
|
||||
Balance *big.Int
|
||||
Nullifier *big.Int
|
||||
}
|
||||
|
||||
@@ -22,8 +22,7 @@ type L1Tx struct {
|
||||
Amount *big.Int `meddler:"amount,bigint"`
|
||||
LoadAmount *big.Int `meddler:"load_amount,bigint"`
|
||||
EthBlockNum uint64 `meddler:"eth_block_num"` // Ethereum Block Number in which this L1Tx was added to the queue
|
||||
// Extra metadata, may be uninitialized
|
||||
Type TxType `meddler:"-"` // optional, descrives which kind of tx it's
|
||||
Type TxType `meddler:"tx_type"`
|
||||
}
|
||||
|
||||
func (tx *L1Tx) Tx() *Tx {
|
||||
|
||||
@@ -15,8 +15,7 @@ type L2Tx struct {
|
||||
Amount *big.Int `meddler:"amount,bigint"`
|
||||
Fee FeeSelector `meddler:"fee"`
|
||||
Nonce Nonce `meddler:"nonce"`
|
||||
// Extra metadata, may be uninitialized
|
||||
Type TxType `meddler:"-"` // optional, descrives which kind of tx it's
|
||||
Type TxType `meddler:"tx_type"`
|
||||
}
|
||||
|
||||
func (tx *L2Tx) Tx() *Tx {
|
||||
|
||||
@@ -62,8 +62,8 @@ type PoolL2Tx struct {
|
||||
RqNonce uint64 `meddler:"rq_nonce,zeroisnull"` // effective 48 bits used
|
||||
AbsoluteFee float64 `meddler:"absolute_fee,zeroisnull"`
|
||||
AbsoluteFeeUpdate time.Time `meddler:"absolute_fee_update,utctimez"`
|
||||
Type TxType `meddler:"tx_type"`
|
||||
// Extra metadata, may be uninitialized
|
||||
Type TxType `meddler:"-"` // optional, descrives which kind of tx it's
|
||||
RqTxCompressedData []byte `meddler:"-"` // 253 bits, optional for atomic txs
|
||||
}
|
||||
|
||||
|
||||
@@ -54,7 +54,12 @@ func (hdb *HistoryDB) addBlocks(blocks []common.Block) error {
|
||||
)
|
||||
}
|
||||
|
||||
// GetBlocks retrrieve blocks from the DB
|
||||
// GetBlock retrieve a block from the DB, given a block number
|
||||
func (hdb *HistoryDB) GetBlock(blockNum uint64) (*common.Block, error) {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
// GetBlocks retrieve blocks from the DB, given a range of block numbers defined by from and to
|
||||
func (hdb *HistoryDB) GetBlocks(from, to uint64) ([]*common.Block, error) {
|
||||
var blocks []*common.Block
|
||||
err := meddler.QueryAll(
|
||||
@@ -65,6 +70,16 @@ func (hdb *HistoryDB) GetBlocks(from, to uint64) ([]*common.Block, error) {
|
||||
return blocks, err
|
||||
}
|
||||
|
||||
// GetLastBlock retrieve the block with the highest block number from the DB
|
||||
func (hdb *HistoryDB) GetLastBlock() (*common.Block, error) {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
// GetLastBatchNum returns the BatchNum of the latest forged batch
|
||||
func (hdb *HistoryDB) GetLastBatchNum() (*common.BatchNum, error) {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
// Reorg deletes all the information that was added into the DB after the lastValidBlock
|
||||
// WARNING: this is a draaft of the function, useful at the moment for tests
|
||||
func (hdb *HistoryDB) Reorg(lastValidBlock uint64) error {
|
||||
|
||||
@@ -30,7 +30,7 @@ CREATE TABLE exit_tree (
|
||||
batch_num BIGINT REFERENCES batch (batch_num) ON DELETE CASCADE,
|
||||
account_idx BIGINT,
|
||||
merkle_proof BYTEA NOT NULL,
|
||||
amount NUMERIC NOT NULL,
|
||||
balance NUMERIC NOT NULL,
|
||||
nullifier BYTEA NOT NULL,
|
||||
PRIMARY KEY (batch_num, account_idx)
|
||||
);
|
||||
@@ -72,7 +72,8 @@ CREATE TABLE l1tx (
|
||||
token_id INT NOT NULL REFERENCES token (token_id),
|
||||
amount NUMERIC NOT NULL,
|
||||
load_amount BYTEA NOT NULL,
|
||||
eth_block_num BIGINT NOT NULL REFERENCES block (eth_block_num) ON DELETE CASCADE
|
||||
eth_block_num BIGINT NOT NULL REFERENCES block (eth_block_num) ON DELETE CASCADE,
|
||||
tx_type VARCHAR(40) NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE l2tx (
|
||||
@@ -83,7 +84,8 @@ CREATE TABLE l2tx (
|
||||
to_idx BIGINT NOT NULL,
|
||||
amount NUMERIC NOT NULL,
|
||||
fee INT NOT NULL,
|
||||
nonce BIGINT NOT NULL
|
||||
nonce BIGINT NOT NULL,
|
||||
tx_type VARCHAR(40) NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE account (
|
||||
|
||||
@@ -22,7 +22,8 @@ CREATE TABLE tx_pool (
|
||||
signature BYTEA NOT NULL,
|
||||
timestamp TIMESTAMP WITHOUT TIME ZONE NOT NULL,
|
||||
absolute_fee NUMERIC,
|
||||
absolute_fee_update TIMESTAMP WITHOUT TIME ZONE
|
||||
absolute_fee_update TIMESTAMP WITHOUT TIME ZONE,
|
||||
tx_type VARCHAR(40) NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE account_creation_auth (
|
||||
|
||||
Reference in New Issue
Block a user