feat: gateway - MpoolPush

This commit is contained in:
Dirk McCormick
2020-10-09 11:43:03 +02:00
parent 00a14de094
commit 8fa4c0a970
4 changed files with 37 additions and 1 deletions
+3
View File
@@ -6,6 +6,8 @@ import (
"os"
"time"
"github.com/filecoin-project/lotus/node/impl/full"
logging "github.com/ipfs/go-log"
ci "github.com/libp2p/go-libp2p-core/crypto"
"github.com/libp2p/go-libp2p-core/host"
@@ -262,6 +264,7 @@ func Online() Option {
Override(new(stmgr.UpgradeSchedule), stmgr.DefaultUpgradeSchedule()),
Override(new(*stmgr.StateManager), stmgr.NewStateManagerWithUpgradeSchedule),
Override(new(stmgr.StateManagerAPI), From(new(*stmgr.StateManager))),
Override(new(full.PushMessageAPI), From(new(full.MpoolAPI))),
Override(new(*wallet.Wallet), wallet.NewWallet),
Override(new(*messagesigner.MessageSigner), messagesigner.NewMessageSigner),
+6 -1
View File
@@ -15,11 +15,16 @@ import (
"github.com/filecoin-project/lotus/node/modules/dtypes"
)
type PushMessageAPI interface {
MpoolPush(ctx context.Context, smsg *types.SignedMessage) (cid.Cid, error)
}
type MpoolAPI struct {
fx.In
WalletAPI
GasAPI
PushMessageAPI
MessageSigner *messagesigner.MessageSigner
@@ -107,7 +112,7 @@ func (a *MpoolAPI) MpoolClear(ctx context.Context, local bool) error {
}
func (a *MpoolAPI) MpoolPush(ctx context.Context, smsg *types.SignedMessage) (cid.Cid, error) {
return a.Mpool.Push(smsg)
return a.PushMessageAPI.MpoolPush(ctx, smsg)
}
func (a *MpoolAPI) MpoolPushUntrusted(ctx context.Context, smsg *types.SignedMessage) (cid.Cid, error) {
+25
View File
@@ -0,0 +1,25 @@
package modules
import (
"context"
"github.com/filecoin-project/lotus/api"
"github.com/filecoin-project/lotus/node/impl/full"
"github.com/ipfs/go-cid"
"github.com/filecoin-project/lotus/chain/types"
)
type RPCPushMessageAPI struct {
gapi api.GatewayAPI
}
func NewRPCPushMessageAPI(api api.GatewayAPI) *RPCPushMessageAPI {
return &RPCPushMessageAPI{gapi: api}
}
func (p *RPCPushMessageAPI) MpoolPush(ctx context.Context, smsg *types.SignedMessage) (cid.Cid, error) {
return p.gapi.MpoolPush(ctx, smsg)
}
var _ full.PushMessageAPI = (*RPCPushMessageAPI)(nil)