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 }