Skip to content

Commit dc00913

Browse files
Merge pull request #2 from sei-protocol/gprusak-refactor
refactor
2 parents 2359226 + 75f22ab commit dc00913

37 files changed

Lines changed: 1695 additions & 851 deletions

Makefile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ ifeq ($(GOPATH),)
1515
endif
1616

1717
# Tools
18-
SOLC := solc
18+
SOLC := /tmp/solc
1919
ABIGEN := abigen
2020
NVM_DIR := $(HOME)/.nvm
2121
NODE_VERSION := 20
@@ -63,8 +63,8 @@ setup-node:
6363
nvm install $(NODE_VERSION) && \
6464
nvm use $(NODE_VERSION)
6565
@echo "📦 Installing native solc binary..."
66-
@curl -L https://github.com/ethereum/solidity/releases/download/v0.8.19/solc-static-linux -o /usr/local/bin/solc && \
67-
chmod +x /usr/local/bin/solc
66+
@curl -L https://github.com/ethereum/solidity/releases/download/v0.8.19/solc-static-linux -o /tmp/solc && \
67+
chmod +x /tmp/solc
6868
@echo "✅ Node.js environment setup complete"
6969
@echo "ℹ️ Note: You may need to restart your shell or run 'source ~/.bashrc' to use nvm in new sessions"
7070

generator/generator.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ import (
77

88
"github.com/ethereum/go-ethereum/common"
99

10-
"seiload/config"
11-
"seiload/generator/scenarios"
12-
"seiload/types"
10+
"github.com/sei-protocol/sei-load/config"
11+
"github.com/sei-protocol/sei-load/generator/scenarios"
12+
"github.com/sei-protocol/sei-load/types"
1313
)
1414

1515
// Generator interface defines the contract for transaction generators

generator/generator_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ import (
55

66
"github.com/stretchr/testify/require"
77

8-
"seiload/config"
9-
"seiload/generator"
10-
"seiload/generator/scenarios"
8+
"github.com/sei-protocol/sei-load/config"
9+
"github.com/sei-protocol/sei-load/generator"
10+
"github.com/sei-protocol/sei-load/generator/scenarios"
1111
)
1212

1313
func TestScenarioWeightsAndAccountDistribution(t *testing.T) {

generator/prewarm.go

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -3,85 +3,85 @@ package generator
33
import (
44
"sync"
55

6-
"seiload/config"
7-
"seiload/generator/scenarios"
8-
"seiload/types"
6+
"github.com/sei-protocol/sei-load/config"
7+
"github.com/sei-protocol/sei-load/generator/scenarios"
8+
"github.com/sei-protocol/sei-load/types"
99
)
1010

1111
// PrewarmGenerator generates self-transfer transactions to prewarm account nonces
1212
type PrewarmGenerator struct {
13-
accountPools []types.AccountPool
14-
evmScenario scenarios.TxGenerator
15-
currentPoolIdx int
16-
finished bool
17-
mu sync.RWMutex
13+
accountPools []types.AccountPool
14+
evmScenario scenarios.TxGenerator
15+
currentPoolIdx int
16+
finished bool
17+
mu sync.RWMutex
1818
}
1919

2020
// NewPrewarmGenerator creates a new prewarm generator using all account pools from the main generator
2121
func NewPrewarmGenerator(config *config.LoadConfig, mainGenerator Generator) *PrewarmGenerator {
2222
// Get all account pools from the main generator
2323
accountPools := mainGenerator.GetAccountPools()
24-
24+
2525
// Create EVMTransfer scenario for prewarming
2626
evmScenario := scenarios.NewEVMTransferScenario()
27-
27+
2828
// Deploy/initialize the scenario (EVMTransfer doesn't need actual deployment)
2929
deployerAccounts := types.GenerateAccounts(1)
3030
deployer := deployerAccounts[0]
3131
evmScenario.Deploy(config, deployer)
32-
32+
3333
return &PrewarmGenerator{
34-
accountPools: accountPools,
35-
evmScenario: evmScenario,
34+
accountPools: accountPools,
35+
evmScenario: evmScenario,
3636
currentPoolIdx: 0,
37-
finished: false,
37+
finished: false,
3838
}
3939
}
4040

4141
// Generate generates self-transfer transactions until all accounts are prewarmed
4242
func (pg *PrewarmGenerator) Generate() (*types.LoadTx, bool) {
4343
pg.mu.Lock()
4444
defer pg.mu.Unlock()
45-
45+
4646
// Check if we're already finished
4747
if pg.finished || pg.currentPoolIdx >= len(pg.accountPools) {
4848
return nil, false
4949
}
50-
50+
5151
// Get current pool
5252
currentPool := pg.accountPools[pg.currentPoolIdx]
5353
account := currentPool.NextAccount()
54-
54+
5555
// If this account has nonce > 0, we've already prewarmed it (round-robin means we're done with this pool)
5656
if account.Nonce > 0 {
5757
// Move to next pool
5858
pg.currentPoolIdx++
59-
59+
6060
// Check if we've finished all pools
6161
if pg.currentPoolIdx >= len(pg.accountPools) {
6262
pg.finished = true
6363
return nil, false
6464
}
65-
65+
6666
// Get account from next pool
6767
currentPool = pg.accountPools[pg.currentPoolIdx]
6868
account = currentPool.NextAccount()
69-
69+
7070
// If this account also has nonce > 0, we're completely done
7171
if account.Nonce > 0 {
7272
pg.finished = true
7373
return nil, false
7474
}
7575
}
76-
76+
7777
// Create self-transfer transaction
7878
scenario := &types.TxScenario{
7979
Name: "EVMTransfer",
8080
Sender: account,
8181
Receiver: account.Address, // Send to self
8282
Nonce: account.GetAndIncrementNonce(),
8383
}
84-
84+
8585
// Generate the transaction using EVMTransfer scenario
8686
return pg.evmScenario.Generate(scenario), true
8787
}
@@ -103,7 +103,7 @@ func (pg *PrewarmGenerator) GenerateN(n int) []*types.LoadTx {
103103
func (pg *PrewarmGenerator) GetAccountPools() []types.AccountPool {
104104
pg.mu.RLock()
105105
defer pg.mu.RUnlock()
106-
106+
107107
// Return a copy to prevent external modification
108108
pools := make([]types.AccountPool, len(pg.accountPools))
109109
copy(pools, pg.accountPools)

generator/scenario.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ package generator
33
import (
44
"sync"
55

6-
"seiload/generator/scenarios"
7-
"seiload/types"
6+
"github.com/sei-protocol/sei-load/generator/scenarios"
7+
"github.com/sei-protocol/sei-load/types"
88
)
99

1010
type scenarioGenerator struct {

generator/scenarios/ERC20.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ import (
66
ethtypes "github.com/ethereum/go-ethereum/core/types"
77
"github.com/ethereum/go-ethereum/ethclient"
88

9-
"seiload/config"
10-
"seiload/generator/bindings"
11-
"seiload/types"
9+
"github.com/sei-protocol/sei-load/config"
10+
"github.com/sei-protocol/sei-load/generator/bindings"
11+
"github.com/sei-protocol/sei-load/types"
1212
)
1313

1414
const ERC20 = "ERC20"

generator/scenarios/ERC20Conflict.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ import (
66
ethtypes "github.com/ethereum/go-ethereum/core/types"
77
"github.com/ethereum/go-ethereum/ethclient"
88

9-
"seiload/config"
10-
"seiload/generator/bindings"
11-
"seiload/types"
9+
"github.com/sei-protocol/sei-load/config"
10+
"github.com/sei-protocol/sei-load/generator/bindings"
11+
"github.com/sei-protocol/sei-load/types"
1212
)
1313

1414
const ERC20Conflict = "ERC20Conflict"

generator/scenarios/ERC20Noop.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ import (
66
ethtypes "github.com/ethereum/go-ethereum/core/types"
77
"github.com/ethereum/go-ethereum/ethclient"
88

9-
"seiload/config"
10-
"seiload/generator/bindings"
11-
"seiload/types"
9+
"github.com/sei-protocol/sei-load/config"
10+
"github.com/sei-protocol/sei-load/generator/bindings"
11+
"github.com/sei-protocol/sei-load/types"
1212
)
1313

1414
const ERC20Noop = "ERC20Noop"

generator/scenarios/ERC721.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ import (
99
ethtypes "github.com/ethereum/go-ethereum/core/types"
1010
"github.com/ethereum/go-ethereum/ethclient"
1111

12-
"seiload/config"
13-
"seiload/generator/bindings"
14-
"seiload/types"
12+
"github.com/sei-protocol/sei-load/config"
13+
"github.com/sei-protocol/sei-load/generator/bindings"
14+
"github.com/sei-protocol/sei-load/types"
1515
)
1616

1717
const ERC721 = "ERC721"

generator/scenarios/EVMTransfer.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ import (
66
"github.com/ethereum/go-ethereum/common"
77
ethtypes "github.com/ethereum/go-ethereum/core/types"
88

9-
"seiload/config"
10-
types2 "seiload/types"
9+
"github.com/sei-protocol/sei-load/config"
10+
types2 "github.com/sei-protocol/sei-load/types"
1111
)
1212

1313
const EVMTransfer = "EVMTransfer"

0 commit comments

Comments
 (0)