mirror of
https://github.com/status-im/status-go.git
synced 2025-01-31 00:48:01 +00:00
be9c55bc16
* WIP accounts implementation * Accounts datasore and changes to status mobile API * Add library changes and method to update config * Handle error after account selection * Add two methods to start account to backend * Use encrypted database for settings and add a service for them * Resolve linter warning * Bring back StartNode StopNode for tests * Add sub accounts and get/save api * Changes to accounts structure * Login use root address and fetch necessary info from database * Cover accounts store with tests * Refactor in progress * Initialize status keystore instance before starting ethereum node * Rework library tests * Resolve failures in private api test and send transaction test * Pass pointer to initialized config to unmarshal * Use multiaccounts/accounts naming consistently Multiaccount is used as a login identifier Account references an address and a key, if account is not watch-only. * Add login timestamp stored in the database to accounts.Account object * Add photo-path field for multiaccount struct * Add multiaccoutns rpc with updateAccount method Update to any other account that wasn't used for login will return an error * Fix linter in services/accounts * Select account before starting a node * Save list of accounts on first login * Pass account manager to accounts service to avoid selecting account before starting a node * Add logs to login with save and regualr login
52 lines
1.2 KiB
Go
52 lines
1.2 KiB
Go
package node
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/ethereum/go-ethereum/accounts"
|
|
whisper "github.com/status-im/whisper/whisperv6"
|
|
|
|
"github.com/status-im/status-go/params"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestWhisperLightModeEnabledSetsEmptyBloomFilter(t *testing.T) {
|
|
config := params.NodeConfig{
|
|
WhisperConfig: params.WhisperConfig{
|
|
Enabled: true,
|
|
LightClient: true,
|
|
},
|
|
}
|
|
node := New()
|
|
require.NoError(t, node.Start(&config, &accounts.Manager{}))
|
|
defer func() {
|
|
require.NoError(t, node.Stop())
|
|
}()
|
|
|
|
var whisper *whisper.Whisper
|
|
require.NoError(t, node.gethService(&whisper))
|
|
|
|
bloomFilter := whisper.BloomFilter()
|
|
expectedEmptyBloomFilter := make([]byte, 64)
|
|
require.NotNil(t, bloomFilter)
|
|
require.Equal(t, expectedEmptyBloomFilter, bloomFilter)
|
|
}
|
|
|
|
func TestWhisperLightModeEnabledSetsNilBloomFilter(t *testing.T) {
|
|
config := params.NodeConfig{
|
|
WhisperConfig: params.WhisperConfig{
|
|
Enabled: true,
|
|
LightClient: false,
|
|
},
|
|
}
|
|
node := New()
|
|
require.NoError(t, node.Start(&config, &accounts.Manager{}))
|
|
defer func() {
|
|
require.NoError(t, node.Stop())
|
|
}()
|
|
|
|
var whisper *whisper.Whisper
|
|
require.NoError(t, node.gethService(&whisper))
|
|
require.Nil(t, whisper.BloomFilter())
|
|
}
|