Skip to content

Commit

Permalink
Use time.now for ready_time
Browse files Browse the repository at this point in the history
  • Loading branch information
trunghai95 committed Mar 21, 2024
1 parent ac0c17d commit 10652b2
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 14 deletions.
8 changes: 4 additions & 4 deletions claimtxman/claimtxman_xlayer.go
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ func (tm *ClaimTxManager) processDepositStatusL2(ger *etherman.GlobalExitRoot) e
return err
}
log.Infof("Rollup exitroot %v is updated", ger.ExitRoots[1])
deposits, err := tm.storage.UpdateL2DepositsStatusXLayer(tm.ctx, ger.ExitRoots[1][:], ger.Time, tm.rollupID, tm.l2NetworkID, dbTx)
deposits, err := tm.storage.UpdateL2DepositsStatusXLayer(tm.ctx, ger.ExitRoots[1][:], tm.rollupID, tm.l2NetworkID, dbTx)
if err != nil {
log.Errorf("error getting and updating L2DepositsStatus. Error: %v", err)
rollbackErr := tm.storage.Rollback(tm.ctx, dbTx)
Expand Down Expand Up @@ -168,7 +168,7 @@ func (tm *ClaimTxManager) processDepositStatusL1(newGer *etherman.GlobalExitRoot
if err != nil {
return err
}
err = tm.storage.UpdateL1DepositStatus(tm.ctx, deposit.DepositCount, newGer.Time, dbTx)
err = tm.storage.UpdateL1DepositStatus(tm.ctx, deposit.DepositCount, dbTx)
if err != nil {
log.Errorf("error update deposit %d status. Error: %v", deposit.DepositCount, err)
tm.rollbackStore(dbTx)
Expand Down Expand Up @@ -280,7 +280,7 @@ func (tm *ClaimTxManager) rollbackStore(dbTx pgx.Tx) {
func (tm *ClaimTxManager) processDepositStatusXLayer(ger *etherman.GlobalExitRoot, dbTx pgx.Tx) error {
if ger.BlockID != 0 { // L2 exit root is updated
log.Infof("Rollup exitroot %v is updated", ger.ExitRoots[1])
deposits, err := tm.storage.UpdateL2DepositsStatusXLayer(tm.ctx, ger.ExitRoots[1][:], ger.Time, tm.rollupID, tm.l2NetworkID, dbTx)
deposits, err := tm.storage.UpdateL2DepositsStatusXLayer(tm.ctx, ger.ExitRoots[1][:], tm.rollupID, tm.l2NetworkID, dbTx)
if err != nil {
log.Errorf("error getting and updating L2DepositsStatus. Error: %v", err)
return err
Expand All @@ -293,7 +293,7 @@ func (tm *ClaimTxManager) processDepositStatusXLayer(ger *etherman.GlobalExitRoo
}
} else { // L1 exit root is updated in the trusted state
log.Infof("Mainnet exitroot %v is updated", ger.ExitRoots[0])
deposits, err := tm.storage.UpdateL1DepositsStatusXLayer(tm.ctx, ger.ExitRoots[0][:], ger.Time, dbTx)
deposits, err := tm.storage.UpdateL1DepositsStatusXLayer(tm.ctx, ger.ExitRoots[0][:], dbTx)
if err != nil {
log.Errorf("error getting and updating L1DepositsStatus. Error: %v", err)
return err
Expand Down
7 changes: 3 additions & 4 deletions claimtxman/interfaces.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package claimtxman

import (
"context"
"time"

"github.com/0xPolygonHermez/zkevm-bridge-service/bridgectrl"
"github.com/0xPolygonHermez/zkevm-bridge-service/claimtxman/types"
Expand All @@ -23,10 +22,10 @@ type storageInterface interface {
Commit(ctx context.Context, dbTx pgx.Tx) error

// XLayer
UpdateL1DepositsStatusXLayer(ctx context.Context, exitRoot []byte, eventTime time.Time, dbTx pgx.Tx) ([]*etherman.Deposit, error)
UpdateL2DepositsStatusXLayer(ctx context.Context, exitRoot []byte, eventTime time.Time, rollupID, networkID uint, dbTx pgx.Tx) ([]*etherman.Deposit, error)
UpdateL1DepositsStatusXLayer(ctx context.Context, exitRoot []byte, dbTx pgx.Tx) ([]*etherman.Deposit, error)
UpdateL2DepositsStatusXLayer(ctx context.Context, exitRoot []byte, rollupID, networkID uint, dbTx pgx.Tx) ([]*etherman.Deposit, error)
GetL1Deposits(ctx context.Context, exitRoot []byte, dbTx pgx.Tx) ([]*etherman.Deposit, error)
UpdateL1DepositStatus(ctx context.Context, depositCount uint, eventTime time.Time, dbTx pgx.Tx) error
UpdateL1DepositStatus(ctx context.Context, depositCount uint, dbTx pgx.Tx) error
GetDeposit(ctx context.Context, depositCounterUser uint, networkID uint, dbTx pgx.Tx) (*etherman.Deposit, error)
GetClaim(ctx context.Context, depositCount, networkID uint, dbTx pgx.Tx) (*etherman.Claim, error)
}
Expand Down
12 changes: 6 additions & 6 deletions db/pgstorage/pgstorage_xlayer.go
Original file line number Diff line number Diff line change
Expand Up @@ -151,21 +151,21 @@ func (p *PostgresStorage) GetL1Deposits(ctx context.Context, exitRoot []byte, db
return deposits, nil
}

func (p *PostgresStorage) UpdateL1DepositStatus(ctx context.Context, depositCount uint, eventTime time.Time, dbTx pgx.Tx) error {
func (p *PostgresStorage) UpdateL1DepositStatus(ctx context.Context, depositCount uint, dbTx pgx.Tx) error {
const updateDepositStatusSQL = `UPDATE sync.deposit SET ready_for_claim = true, ready_time = $1
WHERE deposit_cnt = $2 And network_id = 0`
_, err := p.getExecQuerier(dbTx).Exec(ctx, updateDepositStatusSQL, eventTime, depositCount)
_, err := p.getExecQuerier(dbTx).Exec(ctx, updateDepositStatusSQL, time.Now(), depositCount)
return err
}

// UpdateL2DepositsStatus updates the ready_for_claim status of L2 deposits. and return deposit list
func (p *PostgresStorage) UpdateL2DepositsStatusXLayer(ctx context.Context, exitRoot []byte, eventTime time.Time, rollupID, networkID uint, dbTx pgx.Tx) ([]*etherman.Deposit, error) {
func (p *PostgresStorage) UpdateL2DepositsStatusXLayer(ctx context.Context, exitRoot []byte, rollupID, networkID uint, dbTx pgx.Tx) ([]*etherman.Deposit, error) {
const updateDepositsStatusSQL = `UPDATE sync.deposit SET ready_for_claim = true, ready_time = $4
WHERE deposit_cnt <=
(SELECT d.deposit_cnt FROM mt.root as r INNER JOIN sync.deposit as d ON d.id = r.deposit_id WHERE r.root = (select leaf from mt.rollup_exit where root = $1 and rollup_id = $2) AND r.network = $3)
AND network_id = $3 AND ready_for_claim = false
RETURNING leaf_type, orig_net, orig_addr, amount, dest_net, dest_addr, deposit_cnt, block_id, network_id, tx_hash, metadata, ready_for_claim;`
rows, err := p.getExecQuerier(dbTx).Query(ctx, updateDepositsStatusSQL, exitRoot, rollupID, networkID, eventTime)
rows, err := p.getExecQuerier(dbTx).Query(ctx, updateDepositsStatusSQL, exitRoot, rollupID, networkID, time.Now())
if err != nil {
return nil, err
}
Expand Down Expand Up @@ -300,15 +300,15 @@ func (p *PostgresStorage) GetLatestReadyDeposits(ctx context.Context, networkID
}

// UpdateL1DepositsStatusXLayer updates the ready_for_claim status of L1 deposits.
func (p *PostgresStorage) UpdateL1DepositsStatusXLayer(ctx context.Context, exitRoot []byte, eventTime time.Time, dbTx pgx.Tx) ([]*etherman.Deposit, error) {
func (p *PostgresStorage) UpdateL1DepositsStatusXLayer(ctx context.Context, exitRoot []byte, dbTx pgx.Tx) ([]*etherman.Deposit, error) {
const updateDepositsStatusSQL = `WITH d AS (UPDATE sync.deposit SET ready_for_claim = true, ready_time = $1
WHERE deposit_cnt <=
(SELECT d.deposit_cnt FROM mt.root as r INNER JOIN sync.deposit as d ON d.id = r.deposit_id WHERE r.root = $2 AND r.network = 0)
AND network_id = 0 AND ready_for_claim = false
RETURNING *)
SELECT d.id, leaf_type, orig_net, orig_addr, amount, dest_net, dest_addr, deposit_cnt, block_id, b.block_num, d.network_id, tx_hash, metadata, ready_for_claim, b.received_at
FROM d INNER JOIN sync.block as b ON d.network_id = b.network_id AND d.block_id = b.id`
rows, err := p.getExecQuerier(dbTx).Query(ctx, updateDepositsStatusSQL, eventTime, exitRoot)
rows, err := p.getExecQuerier(dbTx).Query(ctx, updateDepositsStatusSQL, time.Now(), exitRoot)
if err != nil {
return nil, err
}
Expand Down

0 comments on commit 10652b2

Please sign in to comment.