diff --git a/api/api_full.go b/api/api_full.go index 6e6796476..5325a1973 100644 --- a/api/api_full.go +++ b/api/api_full.go @@ -44,7 +44,7 @@ type FullNode interface { // messages MpoolPending(context.Context, *types.TipSet) ([]*types.SignedMessage, error) - MpoolPush(context.Context, *types.SignedMessage) error // TODO: remove + MpoolPush(context.Context, *types.SignedMessage) (cid.Cid, error) MpoolPushMessage(context.Context, *types.Message) (*types.SignedMessage, error) // get nonce, sign, push MpoolGetNonce(context.Context, address.Address) (uint64, error) MpoolSub(context.Context) (<-chan MpoolUpdate, error) diff --git a/api/apistruct/struct.go b/api/apistruct/struct.go index 7a95f318c..ec160d1e9 100644 --- a/api/apistruct/struct.go +++ b/api/apistruct/struct.go @@ -60,7 +60,7 @@ type FullNodeStruct struct { SyncIncomingBlocks func(ctx context.Context) (<-chan *types.BlockHeader, error) `perm:"read"` MpoolPending func(context.Context, *types.TipSet) ([]*types.SignedMessage, error) `perm:"read"` - MpoolPush func(context.Context, *types.SignedMessage) error `perm:"write"` + MpoolPush func(context.Context, *types.SignedMessage) (cid.Cid, error) `perm:"write"` MpoolPushMessage func(context.Context, *types.Message) (*types.SignedMessage, error) `perm:"sign"` MpoolGetNonce func(context.Context, address.Address) (uint64, error) `perm:"read"` MpoolSub func(context.Context) (<-chan api.MpoolUpdate, error) `perm:"read"` @@ -232,7 +232,7 @@ func (c *FullNodeStruct) MpoolPending(ctx context.Context, ts *types.TipSet) ([] return c.Internal.MpoolPending(ctx, ts) } -func (c *FullNodeStruct) MpoolPush(ctx context.Context, smsg *types.SignedMessage) error { +func (c *FullNodeStruct) MpoolPush(ctx context.Context, smsg *types.SignedMessage) (cid.Cid, error) { return c.Internal.MpoolPush(ctx, smsg) } diff --git a/build/version.go b/build/version.go index c93598684..99590904e 100644 --- a/build/version.go +++ b/build/version.go @@ -31,7 +31,7 @@ func (ve Version) EqMajorMinor(v2 Version) bool { } // APIVersion is a semver version of the rpc api exposed -var APIVersion Version = newVer(0, 1, 5) +var APIVersion Version = newVer(0, 1, 6) const ( majorMask = 0xff0000 diff --git a/chain/messagepool/messagepool.go b/chain/messagepool/messagepool.go index 94f495d0a..8bbf3823a 100644 --- a/chain/messagepool/messagepool.go +++ b/chain/messagepool/messagepool.go @@ -263,24 +263,24 @@ func (mp *MessagePool) addLocal(m *types.SignedMessage, msgb []byte) error { return nil } -func (mp *MessagePool) Push(m *types.SignedMessage) error { +func (mp *MessagePool) Push(m *types.SignedMessage) (cid.Cid, error) { msgb, err := m.Serialize() if err != nil { - return err + return cid.Undef, err } if err := mp.Add(m); err != nil { - return err + return cid.Undef, err } mp.lk.Lock() if err := mp.addLocal(m, msgb); err != nil { mp.lk.Unlock() - return err + return cid.Undef, err } mp.lk.Unlock() - return mp.api.PubSubPublish(msgTopic, msgb) + return m.Cid(), mp.api.PubSubPublish(msgTopic, msgb) } func (mp *MessagePool) Add(m *types.SignedMessage) error { diff --git a/node/impl/full/mpool.go b/node/impl/full/mpool.go index 9f1f02e9a..cedb1785e 100644 --- a/node/impl/full/mpool.go +++ b/node/impl/full/mpool.go @@ -78,7 +78,7 @@ func (a *MpoolAPI) MpoolPending(ctx context.Context, ts *types.TipSet) ([]*types } } -func (a *MpoolAPI) MpoolPush(ctx context.Context, smsg *types.SignedMessage) error { +func (a *MpoolAPI) MpoolPush(ctx context.Context, smsg *types.SignedMessage) (cid.Cid, error) { return a.Mpool.Push(smsg) }