github.com/0xPolygon/supernets2-node@v0.0.0-20230711153321-2fe574524eaa/test/benchmarks/sequencer/scripts/erc20-transfers/main.go (about)

     1  package main
     2  
     3  import (
     4  	"time"
     5  
     6  	"github.com/0xPolygon/supernets2-node/pool"
     7  	"github.com/0xPolygon/supernets2-node/test/benchmarks/sequencer/common/params"
     8  	"github.com/0xPolygon/supernets2-node/test/benchmarks/sequencer/common/transactions"
     9  	erc20transfers "github.com/0xPolygon/supernets2-node/test/benchmarks/sequencer/erc20-transfers"
    10  	"github.com/0xPolygon/supernets2-node/test/benchmarks/sequencer/scripts/common/environment"
    11  	"github.com/0xPolygon/supernets2-node/test/benchmarks/sequencer/scripts/common/results"
    12  	"github.com/0xPolygon/supernets2-node/test/contracts/bin/ERC20"
    13  	"github.com/ethereum/go-ethereum/common"
    14  )
    15  
    16  func main() {
    17  	var (
    18  		err error
    19  	)
    20  	ctx, pl, state, l2Client, auth := environment.Init()
    21  	initialCount, err := pl.CountTransactionsByStatus(params.Ctx, pool.TxStatusSelected)
    22  	if err != nil {
    23  		panic(err)
    24  	}
    25  
    26  	start := time.Now()
    27  	erc20SC, err := ERC20.NewERC20(common.HexToAddress(environment.Erc20TokenAddress), l2Client)
    28  	if err != nil {
    29  		panic(err)
    30  	}
    31  	// Send Txs
    32  	err = transactions.SendAndWait(
    33  		ctx,
    34  		auth,
    35  		l2Client,
    36  		pl.CountTransactionsByStatus,
    37  		params.NumberOfTxs,
    38  		erc20SC,
    39  		erc20transfers.TxSender,
    40  	)
    41  	if err != nil {
    42  		panic(err)
    43  	}
    44  
    45  	// Wait for Txs to be selected
    46  	err = transactions.WaitStatusSelected(pl.CountTransactionsByStatus, initialCount, params.NumberOfTxs)
    47  	if err != nil {
    48  		panic(err)
    49  	}
    50  
    51  	lastL2BlockTimestamp, err := state.GetLastL2BlockCreatedAt(params.Ctx, nil)
    52  	if err != nil {
    53  		panic(err)
    54  	}
    55  	elapsed := lastL2BlockTimestamp.Sub(start)
    56  	results.Print(elapsed)
    57  }