Skip to content

Commit a5333ea

Browse files
wip: use pre-generated keys for deteminiistic behavior
1 parent 79c81cc commit a5333ea

File tree

2 files changed

+22
-13
lines changed

2 files changed

+22
-13
lines changed

app/client/keybase/debug/keystore.go

+3-5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
//go:build debug
2-
31
package debug
42

53
import (
@@ -45,7 +43,7 @@ func initializeDebugKeybase() error {
4543
err error
4644
)
4745

48-
validatorKeysPairMap, err = parseValidatorPrivateKeysFromEmbeddedYaml()
46+
validatorKeysPairMap, err = ParseValidatorPrivateKeysFromEmbeddedYaml()
4947

5048
if err != nil {
5149
return err
@@ -128,8 +126,8 @@ func initializeDebugKeybase() error {
128126
return nil
129127
}
130128

131-
// parseValidatorPrivateKeysFromEmbeddedYaml fetches the validator private keys from the embedded build/localnet/manifests/private-keys.yaml manifest file.
132-
func parseValidatorPrivateKeysFromEmbeddedYaml() (map[string]string, error) {
129+
// ParseValidatorPrivateKeysFromEmbeddedYaml fetches the validator private keys from the embedded build/localnet/manifests/private-keys.yaml manifest file.
130+
func ParseValidatorPrivateKeysFromEmbeddedYaml() (map[string]string, error) {
133131

134132
// Parse the YAML file and load into the config struct
135133
var config struct {

p2p/utils_test.go

+19-8
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import (
1717
mocknet "github.com/libp2p/go-libp2p/p2p/net/mock"
1818
"github.com/stretchr/testify/require"
1919

20+
"github.com/pokt-network/pocket/app/client/keybase/debug"
2021
"github.com/pokt-network/pocket/p2p/providers/current_height_provider"
2122
"github.com/pokt-network/pocket/p2p/providers/peerstore_provider"
2223
typesP2P "github.com/pokt-network/pocket/p2p/types"
@@ -52,17 +53,27 @@ func init() {
5253
keys = generateKeys(nil, maxNumKeys)
5354
}
5455

55-
func generateKeys(_ *testing.T, numValidators int) []cryptoPocket.PrivateKey {
56-
keys := make([]cryptoPocket.PrivateKey, numValidators)
56+
func generateKeys(t *testing.T, numValidators int) []cryptoPocket.PrivateKey {
57+
privKeys := make([]cryptoPocket.PrivateKey, numValidators)
58+
preGeneratedKeys, err := debug.ParseValidatorPrivateKeysFromEmbeddedYaml()
59+
require.NoError(t, err)
60+
61+
if numValidators > len(preGeneratedKeys) {
62+
t.Fatal("not enough pregenerated privKeys")
63+
}
64+
65+
idx := 0
66+
for _, keyHex := range preGeneratedKeys {
67+
privKey, err := cryptoPocket.NewPrivateKey(keyHex)
68+
require.NoError(t, err)
5769

58-
for i := range keys {
59-
seedInt := genesisConfigSeedStart + i
60-
keys[i] = cryptoPocket.GetPrivKeySeed(seedInt)
70+
privKeys[idx] = privKey
71+
idx++
6172
}
62-
sort.Slice(keys, func(i, j int) bool {
63-
return keys[i].Address().String() < keys[j].Address().String()
73+
sort.Slice(privKeys, func(i, j int) bool {
74+
return privKeys[i].Address().String() < privKeys[j].Address().String()
6475
})
65-
return keys
76+
return privKeys
6677
}
6778

6879
// A configuration helper used to specify how many messages are expected to be sent or read by the

0 commit comments

Comments
 (0)