mirror of
https://github.com/status-im/status-go.git
synced 2025-02-16 16:56:53 +00:00
fix: pubkey marshalling
This commit is contained in:
parent
85ba54f24f
commit
fe50f12ac9
@ -207,8 +207,8 @@ func insertShhExtConfig(tx *sql.Tx, c *params.NodeConfig) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, pubKey := range c.ShhextConfig.DefaultPushNotificationsServers {
|
for _, pushNotifServ := range c.ShhextConfig.DefaultPushNotificationsServers {
|
||||||
hexpubk := hexutil.Encode(crypto.FromECDSAPub(pubKey))
|
hexpubk := hexutil.Encode(crypto.FromECDSAPub(pushNotifServ.PublicKey))
|
||||||
_, err := tx.Exec(`INSERT OR REPLACE INTO shhext_default_push_notification_servers (public_key, synthetic_id) VALUES (?, 'id')`, hexpubk)
|
_, err := tx.Exec(`INSERT OR REPLACE INTO shhext_default_push_notification_servers (public_key, synthetic_id) VALUES (?, 'id')`, hexpubk)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
@ -637,7 +637,7 @@ func loadNodeConfig(tx *sql.Tx) (*params.NodeConfig, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
nodecfg.ShhextConfig.DefaultPushNotificationsServers = append(nodecfg.ShhextConfig.DefaultPushNotificationsServers, pubKey)
|
nodecfg.ShhextConfig.DefaultPushNotificationsServers = append(nodecfg.ShhextConfig.DefaultPushNotificationsServers, ¶ms.PushNotificationServer{PublicKey: pubKey})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -539,6 +539,24 @@ type BridgeConfig struct {
|
|||||||
Enabled bool
|
Enabled bool
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type PushNotificationServer struct {
|
||||||
|
*ecdsa.PublicKey
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p *PushNotificationServer) MarshalText() ([]byte, error) {
|
||||||
|
return []byte(hex.EncodeToString(crypto.FromECDSAPub(p.PublicKey))), nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p *PushNotificationServer) UnmarshalText(data []byte) error {
|
||||||
|
pk, err := crypto.UnmarshalPubkey(data)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
p.PublicKey = pk
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
// ShhextConfig defines options used by shhext service.
|
// ShhextConfig defines options used by shhext service.
|
||||||
type ShhextConfig struct {
|
type ShhextConfig struct {
|
||||||
PFSEnabled bool
|
PFSEnabled bool
|
||||||
@ -590,7 +608,7 @@ type ShhextConfig struct {
|
|||||||
VerifyTransactionChainID int64
|
VerifyTransactionChainID int64
|
||||||
|
|
||||||
// DefaultPushNotificationsServers is the default-status run push notification servers
|
// DefaultPushNotificationsServers is the default-status run push notification servers
|
||||||
DefaultPushNotificationsServers []*ecdsa.PublicKey
|
DefaultPushNotificationsServers []*PushNotificationServer
|
||||||
|
|
||||||
// AnonMetricsSendID is the public key used by a metrics node to decrypt metrics protobufs
|
// AnonMetricsSendID is the public key used by a metrics node to decrypt metrics protobufs
|
||||||
AnonMetricsSendID string
|
AnonMetricsSendID string
|
||||||
@ -722,7 +740,7 @@ func (c *NodeConfig) setDefaultPushNotificationsServers() error {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
c.ShhextConfig.DefaultPushNotificationsServers = append(c.ShhextConfig.DefaultPushNotificationsServers, key)
|
c.ShhextConfig.DefaultPushNotificationsServers = append(c.ShhextConfig.DefaultPushNotificationsServers, &PushNotificationServer{PublicKey: key})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
|
@ -464,8 +464,13 @@ func buildMessengerOptions(
|
|||||||
options = append(options, protocol.WithPushNotificationServerConfig(config))
|
options = append(options, protocol.WithPushNotificationServerConfig(config))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var pushNotifServKey []*ecdsa.PublicKey
|
||||||
|
for _, d := range config.ShhextConfig.DefaultPushNotificationsServers {
|
||||||
|
pushNotifServKey = append(pushNotifServKey, d.PublicKey)
|
||||||
|
}
|
||||||
|
|
||||||
options = append(options, protocol.WithPushNotificationClientConfig(&pushnotificationclient.Config{
|
options = append(options, protocol.WithPushNotificationClientConfig(&pushnotificationclient.Config{
|
||||||
DefaultServers: config.ShhextConfig.DefaultPushNotificationsServers,
|
DefaultServers: pushNotifServKey,
|
||||||
BlockMentions: settings.PushNotificationsBlockMentions,
|
BlockMentions: settings.PushNotificationsBlockMentions,
|
||||||
SendEnabled: settings.SendPushNotifications,
|
SendEnabled: settings.SendPushNotifications,
|
||||||
AllowFromContactsOnly: settings.PushNotificationsFromContactsOnly,
|
AllowFromContactsOnly: settings.PushNotificationsFromContactsOnly,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user