chore_: remove waku api wrappers

This commit is contained in:
Patryk Osmaczko 2025-01-17 11:16:08 +01:00 committed by osmaczko
parent b2bb680ccc
commit 69855f2e36
7 changed files with 25 additions and 147 deletions

View File

@ -13,24 +13,24 @@ import (
type testWakuWrapper struct {
*bridge.GethWakuWrapper
publicWakuAPIWrapper *testPublicWakuAPIWrapper
api *testPublicWakuAPI
}
func newTestWaku(w *wakuv1.Waku) wakutypes.Waku {
wrapper := bridge.NewGethWakuWrapper(w)
return &testWakuWrapper{
GethWakuWrapper: wrapper.(*bridge.GethWakuWrapper),
publicWakuAPIWrapper: newTestPublicWakuAPI(wakuv1.NewPublicWakuAPI(w)).(*testPublicWakuAPIWrapper),
GethWakuWrapper: wrapper.(*bridge.GethWakuWrapper),
api: newTestPublicWakuAPI(wakuv1.NewPublicWakuAPI(w)),
}
}
func (tw *testWakuWrapper) PublicWakuAPI() wakutypes.PublicWakuAPI {
return tw.publicWakuAPIWrapper
return tw.api
}
func (tw *testWakuWrapper) SubscribePostEvents() chan *PostMessageSubscription {
subscription := make(chan *PostMessageSubscription, 100)
tw.publicWakuAPIWrapper.postSubscriptions = append(tw.publicWakuAPIWrapper.postSubscriptions, subscription)
tw.api.postSubscriptions = append(tw.api.postSubscriptions, subscription)
return subscription
}
@ -39,21 +39,20 @@ type PostMessageSubscription struct {
msg *wakutypes.NewMessage
}
type testPublicWakuAPIWrapper struct {
*bridge.GethPublicWakuAPIWrapper
type testPublicWakuAPI struct {
*wakuv1.PublicWakuAPI
postSubscriptions []chan *PostMessageSubscription
}
func newTestPublicWakuAPI(api *wakuv1.PublicWakuAPI) wakutypes.PublicWakuAPI {
wrapper := bridge.NewGethPublicWakuAPIWrapper(api)
return &testPublicWakuAPIWrapper{
GethPublicWakuAPIWrapper: wrapper.(*bridge.GethPublicWakuAPIWrapper),
func newTestPublicWakuAPI(api *wakuv1.PublicWakuAPI) *testPublicWakuAPI {
return &testPublicWakuAPI{
PublicWakuAPI: api,
}
}
func (tp *testPublicWakuAPIWrapper) Post(ctx context.Context, req wakutypes.NewMessage) ([]byte, error) {
id, err := tp.GethPublicWakuAPIWrapper.Post(ctx, req)
func (tp *testPublicWakuAPI) Post(ctx context.Context, req wakutypes.NewMessage) ([]byte, error) {
id, err := tp.PublicWakuAPI.Post(ctx, req)
if err != nil {
return nil, err
}

View File

@ -1,64 +0,0 @@
package bridge
import (
"context"
"github.com/ethereum/go-ethereum/common/hexutil"
"github.com/status-im/status-go/eth-node/types"
"github.com/status-im/status-go/wakuv1"
wakutypes "github.com/status-im/status-go/waku/types"
)
type GethPublicWakuAPIWrapper struct {
api *wakuv1.PublicWakuAPI
}
// NewGethPublicWakuAPIWrapper returns an object that wraps Geth's PublicWakuAPI in a types interface
func NewGethPublicWakuAPIWrapper(api *wakuv1.PublicWakuAPI) wakutypes.PublicWakuAPI {
if api == nil {
panic("PublicWakuAPI cannot be nil")
}
return &GethPublicWakuAPIWrapper{
api: api,
}
}
// AddPrivateKey imports the given private key.
func (w *GethPublicWakuAPIWrapper) AddPrivateKey(ctx context.Context, privateKey types.HexBytes) (string, error) {
return w.api.AddPrivateKey(ctx, hexutil.Bytes(privateKey))
}
// GenerateSymKeyFromPassword derives a key from the given password, stores it, and returns its ID.
func (w *GethPublicWakuAPIWrapper) GenerateSymKeyFromPassword(ctx context.Context, passwd string) (string, error) {
return w.api.GenerateSymKeyFromPassword(ctx, passwd)
}
// DeleteKeyPair removes the key with the given key if it exists.
func (w *GethPublicWakuAPIWrapper) DeleteKeyPair(ctx context.Context, key string) (bool, error) {
return w.api.DeleteKeyPair(ctx, key)
}
// NewMessageFilter creates a new filter that can be used to poll for
// (new) messages that satisfy the given criteria.
func (w *GethPublicWakuAPIWrapper) NewMessageFilter(req wakutypes.Criteria) (string, error) {
return w.api.NewMessageFilter(req)
}
func (w *GethPublicWakuAPIWrapper) BloomFilter() []byte {
return w.api.BloomFilter()
}
// GetFilterMessages returns the messages that match the filter criteria and
// are received between the last poll and now.
func (w *GethPublicWakuAPIWrapper) GetFilterMessages(id string) ([]*wakutypes.Message, error) {
return w.api.GetFilterMessages(id)
}
// Post posts a message on the network.
// returns the hash of the message in case of success.
func (w *GethPublicWakuAPIWrapper) Post(ctx context.Context, req wakutypes.NewMessage) ([]byte, error) {
return w.api.Post(ctx, req)
}

View File

@ -1,64 +0,0 @@
package bridge
import (
"context"
"github.com/ethereum/go-ethereum/common/hexutil"
"github.com/status-im/status-go/eth-node/types"
"github.com/status-im/status-go/wakuv2"
wakutypes "github.com/status-im/status-go/waku/types"
)
type gethPublicWakuV2APIWrapper struct {
api *wakuv2.PublicWakuAPI
}
// NewGethPublicWakuAPIWrapper returns an object that wraps Geth's PublicWakuAPI in a types interface
func NewGethPublicWakuV2APIWrapper(api *wakuv2.PublicWakuAPI) wakutypes.PublicWakuAPI {
if api == nil {
panic("PublicWakuV2API cannot be nil")
}
return &gethPublicWakuV2APIWrapper{
api: api,
}
}
// AddPrivateKey imports the given private key.
func (w *gethPublicWakuV2APIWrapper) AddPrivateKey(ctx context.Context, privateKey types.HexBytes) (string, error) {
return w.api.AddPrivateKey(ctx, hexutil.Bytes(privateKey))
}
// GenerateSymKeyFromPassword derives a key from the given password, stores it, and returns its ID.
func (w *gethPublicWakuV2APIWrapper) GenerateSymKeyFromPassword(ctx context.Context, passwd string) (string, error) {
return w.api.GenerateSymKeyFromPassword(ctx, passwd)
}
// DeleteKeyPair removes the key with the given key if it exists.
func (w *gethPublicWakuV2APIWrapper) DeleteKeyPair(ctx context.Context, key string) (bool, error) {
return w.api.DeleteKeyPair(ctx, key)
}
func (w *gethPublicWakuV2APIWrapper) BloomFilter() []byte {
return w.api.BloomFilter()
}
// NewMessageFilter creates a new filter that can be used to poll for
// (new) messages that satisfy the given criteria.
func (w *gethPublicWakuV2APIWrapper) NewMessageFilter(req wakutypes.Criteria) (string, error) {
return w.api.NewMessageFilter(req)
}
// GetFilterMessages returns the messages that match the filter criteria and
// are received between the last poll and now.
func (w *gethPublicWakuV2APIWrapper) GetFilterMessages(id string) ([]*wakutypes.Message, error) {
return w.api.GetFilterMessages(id)
}
// Post posts a message on the network.
// returns the hash of the message in case of success.
func (w *gethPublicWakuV2APIWrapper) Post(ctx context.Context, req wakutypes.NewMessage) ([]byte, error) {
return w.api.Post(ctx, req)
}

View File

@ -43,7 +43,7 @@ func GetGethWakuFrom(m wakutypes.Waku) *wakuv1.Waku {
}
func (w *GethWakuWrapper) PublicWakuAPI() wakutypes.PublicWakuAPI {
return NewGethPublicWakuAPIWrapper(wakuv1.NewPublicWakuAPI(w.waku))
return wakuv1.NewPublicWakuAPI(w.waku)
}
func (w *GethWakuWrapper) Version() uint {

View File

@ -44,7 +44,7 @@ func GetGethWakuV2From(m wakutypes.Waku) *wakuv2.Waku {
}
func (w *gethWakuV2Wrapper) PublicWakuAPI() wakutypes.PublicWakuAPI {
return NewGethPublicWakuV2APIWrapper(wakuv2.NewPublicWakuAPI(w.waku))
return wakuv2.NewPublicWakuAPI(w.waku)
}
func (w *gethWakuV2Wrapper) Version() uint {

View File

@ -29,6 +29,8 @@ import (
"go.uber.org/zap"
"github.com/status-im/status-go/logutils"
ethtypes "github.com/status-im/status-go/eth-node/types"
"github.com/status-im/status-go/waku/types"
"github.com/status-im/status-go/wakuv1/common"
@ -58,6 +60,8 @@ type PublicWakuAPI struct {
lastUsed map[string]time.Time // keeps track when a filter was polled for the last time.
}
var _ types.PublicWakuAPI = (*PublicWakuAPI)(nil)
// NewPublicWakuAPI create a new RPC waku service.
func NewPublicWakuAPI(w *Waku) *PublicWakuAPI {
api := &PublicWakuAPI{
@ -122,7 +126,7 @@ func (api *PublicWakuAPI) NewKeyPair(ctx context.Context) (string, error) {
}
// AddPrivateKey imports the given private key.
func (api *PublicWakuAPI) AddPrivateKey(ctx context.Context, privateKey hexutil.Bytes) (string, error) {
func (api *PublicWakuAPI) AddPrivateKey(ctx context.Context, privateKey ethtypes.HexBytes) (string, error) {
key, err := crypto.ToECDSA(privateKey)
if err != nil {
return "", err
@ -212,7 +216,7 @@ func (api *PublicWakuAPI) CancelLightClient(ctx context.Context) bool {
// Post posts a message on the Waku network.
// returns the hash of the message in case of success.
func (api *PublicWakuAPI) Post(ctx context.Context, req types.NewMessage) (hexutil.Bytes, error) {
func (api *PublicWakuAPI) Post(ctx context.Context, req types.NewMessage) ([]byte, error) {
var (
symKeyGiven = len(req.SymKeyID) > 0
pubKeyGiven = len(req.PublicKey) > 0

View File

@ -31,6 +31,7 @@ import (
"github.com/waku-org/go-waku/waku/v2/payload"
"github.com/waku-org/go-waku/waku/v2/protocol/pb"
ethtypes "github.com/status-im/status-go/eth-node/types"
"github.com/status-im/status-go/logutils"
"github.com/status-im/status-go/waku/types"
"github.com/status-im/status-go/wakuv2/common"
@ -63,6 +64,8 @@ type PublicWakuAPI struct {
lastUsed map[string]time.Time // keeps track when a filter was polled for the last time.
}
var _ types.PublicWakuAPI = (*PublicWakuAPI)(nil)
// NewPublicWakuAPI create a new RPC waku service.
func NewPublicWakuAPI(w *Waku) *PublicWakuAPI {
api := &PublicWakuAPI{
@ -95,7 +98,7 @@ func (api *PublicWakuAPI) NewKeyPair(ctx context.Context) (string, error) {
}
// AddPrivateKey imports the given private key.
func (api *PublicWakuAPI) AddPrivateKey(ctx context.Context, privateKey hexutil.Bytes) (string, error) {
func (api *PublicWakuAPI) AddPrivateKey(ctx context.Context, privateKey ethtypes.HexBytes) (string, error) {
key, err := crypto.ToECDSA(privateKey)
if err != nil {
return "", err
@ -176,7 +179,7 @@ func (api *PublicWakuAPI) BloomFilter() []byte {
// Post posts a message on the Waku network.
// returns the hash of the message in case of success.
func (api *PublicWakuAPI) Post(ctx context.Context, req types.NewMessage) (hexutil.Bytes, error) {
func (api *PublicWakuAPI) Post(ctx context.Context, req types.NewMessage) ([]byte, error) {
var (
symKeyGiven = len(req.SymKeyID) > 0
pubKeyGiven = len(req.PublicKey) > 0