Skip to content

Commit

Permalink
Modify code
Browse files Browse the repository at this point in the history
  • Loading branch information
zjg555543 committed Jun 25, 2024
1 parent 226ce99 commit fd233e3
Show file tree
Hide file tree
Showing 4 changed files with 41 additions and 43 deletions.
36 changes: 0 additions & 36 deletions jsonrpc/endpoints_zkevm.go
Original file line number Diff line number Diff line change
Expand Up @@ -195,42 +195,6 @@ func (z *ZKEVMEndpoints) GetBatchByNumber(batchNumber types.BatchNumber, fullTx
return rpcBatch, nil
}

// GetBatchDataByNumbers returns the batch data for batches by numbers, XLayer
func (z *ZKEVMEndpoints) GetBatchDataByNumbers(filter types.BatchFilter) (interface{}, types.Error) {
ctx := context.Background()

var batchNumbers []uint64
for _, bn := range filter.Numbers {
n, rpcErr := bn.GetNumericBatchNumber(ctx, z.state, z.etherman, nil)
if rpcErr != nil {
return nil, rpcErr
}
batchNumbers = append(batchNumbers, n)
}

batchesData, err := z.state.GetBatchL2DataByNumbers(ctx, batchNumbers, nil)
if errors.Is(err, state.ErrNotFound) {
return nil, nil
} else if err != nil {
return RPCErrorResponse(types.DefaultErrorCode,
fmt.Sprintf("couldn't load batch data from state by numbers %v", filter.Numbers), err, true)
}

var ret []*types.BatchData
for _, n := range batchNumbers {
data := &types.BatchData{Number: types.ArgUint64(n)}
if b, ok := batchesData[n]; ok {
data.BatchL2Data = b
data.Empty = false
} else {
data.Empty = true
}
ret = append(ret, data)
}

return types.BatchDataResult{Data: ret}, nil
}

// GetFullBlockByNumber returns information about a block by block number
func (z *ZKEVMEndpoints) GetFullBlockByNumber(number types.BlockNumber, fullTx bool) (interface{}, types.Error) {
ctx := context.Background()
Expand Down
38 changes: 38 additions & 0 deletions jsonrpc/endpoints_zkevm_xlayer.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,12 @@ package jsonrpc

import (
"context"
"errors"
"fmt"

"github.com/0xPolygonHermez/zkevm-node/hex"
"github.com/0xPolygonHermez/zkevm-node/jsonrpc/types"
"github.com/0xPolygonHermez/zkevm-node/state"
)

// GetBatchSealTime returns the seal time
Expand All @@ -24,3 +26,39 @@ func (z *ZKEVMEndpoints) GetBatchSealTime(batchNumber types.BatchNumber) (interf

return hex.EncodeUint64(sealTime), nil
}

// GetBatchDataByNumbers returns the batch data for batches by numbers, XLayer
func (z *ZKEVMEndpoints) GetBatchDataByNumbers(filter types.BatchFilter) (interface{}, types.Error) {
ctx := context.Background()

var batchNumbers []uint64
for _, bn := range filter.Numbers {
n, rpcErr := bn.GetNumericBatchNumber(ctx, z.state, z.etherman, nil)
if rpcErr != nil {
return nil, rpcErr
}
batchNumbers = append(batchNumbers, n)
}

batchesData, err := z.state.GetBatchL2DataByNumbers(ctx, batchNumbers, nil)
if errors.Is(err, state.ErrNotFound) {
return nil, nil
} else if err != nil {
return RPCErrorResponse(types.DefaultErrorCode,
fmt.Sprintf("couldn't load batch data from state by numbers %v", filter.Numbers), err, true)
}

var ret []*types.BatchData
for _, n := range batchNumbers {
data := &types.BatchData{Number: types.ArgUint64(n)}
if b, ok := batchesData[n]; ok {
data.BatchL2Data = b
data.Empty = false
} else {
data.Empty = true
}
ret = append(ret, data)
}

return types.BatchDataResult{Data: ret}, nil
}
8 changes: 2 additions & 6 deletions state/helper.go
Original file line number Diff line number Diff line change
Expand Up @@ -287,9 +287,7 @@ func GenerateReceipt(blockNumber *big.Int, processedTx *ProcessTransactionRespon
ContractAddress: processedTx.CreateAddress,
Logs: processedTx.Logs,
}

// for XLayer
if forkID <= FORKID_ELDERBERRY {
if forkID <= FORKID_ETROG {
receipt.PostState = processedTx.StateRoot.Bytes()
receipt.CumulativeGasUsed = processedTx.GasUsed
} else {
Expand All @@ -313,9 +311,7 @@ func GenerateReceipt(blockNumber *big.Int, processedTx *ProcessTransactionRespon
for i := 0; i < len(receipt.Logs); i++ {
receipt.Logs[i].TxHash = processedTx.Tx.Hash()
}

// for XLayer
if forkID <= FORKID_ELDERBERRY {
if forkID <= FORKID_ETROG {
if processedTx.RomError == nil {
receipt.Status = types.ReceiptStatusSuccessful
} else {
Expand Down
2 changes: 1 addition & 1 deletion state/transaction.go
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,7 @@ func (s *State) StoreL2Block(ctx context.Context, batchNumber uint64, l2Block *P

gasLimit := l2Block.GasLimit
// We check/set the maximum value of gasLimit for batches <= to ETROG fork. For batches >= to ELDERBERRY fork we use always the value returned by the executor
if forkID <= FORKID_ELDERBERRY && gasLimit > MaxL2BlockGasLimit {
if forkID <= FORKID_ETROG && gasLimit > MaxL2BlockGasLimit {
gasLimit = MaxL2BlockGasLimit
}

Expand Down

0 comments on commit fd233e3

Please sign in to comment.