Skip to content

Commit

Permalink
Merge pull request #326 from filecoin-project/chore/merge-v1.10.0
Browse files Browse the repository at this point in the history
Chore/merge v1.10.0
  • Loading branch information
diwufeiwen authored Mar 9, 2023
2 parents e109401 + 9d610f9 commit 7cd8d49
Show file tree
Hide file tree
Showing 11 changed files with 228 additions and 60 deletions.
15 changes: 15 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
# venus-message changelog

## v1.10.1

* 支持 delegated 地址的消息 [[#323](https://github.com/filecoin-project/venus-messager/pull/323)]
* 升级 venus 和 venus-auth 版本到 v1.10.1

## v1.10.0

* 升级 venus 和 venus-auth 版本到 v1.10.0
* 升级 go-jsonrpc 版本到 v0.1.7

## v1.10.0-rc3

1. 升级 venus 和 go-jsonrpc 版本
2. 推送消息接口先解析地址再验证权限

## v1.10.0-rc1

支持 Filecoin NV18 网络升级
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ endif

GOFLAGS+=-ldflags="$(ldflags)"

build: tools
build:
rm -rf venus-messager
go build $(GOFLAGS) -o venus-messager .

Expand Down
34 changes: 32 additions & 2 deletions api/messager_impl.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import (
"github.com/filecoin-project/go-address"
"github.com/filecoin-project/go-jsonrpc/auth"
"github.com/filecoin-project/venus-messager/publisher/pubsub"
v1 "github.com/filecoin-project/venus/venus-shared/api/chain/v1"
"github.com/filecoin-project/venus/venus-shared/api/messager"
venusTypes "github.com/filecoin-project/venus/venus-shared/types"
types "github.com/filecoin-project/venus/venus-shared/types/messager"
Expand All @@ -32,6 +33,7 @@ type ImplParams struct {
SharedParamsService *service.SharedParamsService
Net pubsub.INet
AuthClient jwtclient.IAuthClient
NodeClient v1.FullNode
}

func NewMessageImp(implParams ImplParams) *MessageImp {
Expand All @@ -42,6 +44,7 @@ func NewMessageImp(implParams ImplParams) *MessageImp {
ParamsSrv: implParams.SharedParamsService,
Net: implParams.Net,
AuthClient: implParams.AuthClient,
NodeClient: implParams.NodeClient,
}
}

Expand All @@ -52,6 +55,7 @@ type MessageImp struct {
ParamsSrv *service.SharedParamsService
Net pubsub.INet
AuthClient jwtclient.IAuthClient
NodeClient v1.FullNode
}

var _ messager.IMessager = (*MessageImp)(nil)
Expand All @@ -71,17 +75,43 @@ func (m *MessageImp) WaitMessage(ctx context.Context, id string, confidence uint
return m.MessageSrv.WaitMessage(ctx, id, confidence)
}

func (m *MessageImp) PushMessage(ctx context.Context, msg *venusTypes.Message, meta *types.SendSpec) (string, error) {
func (m MessageImp) resolveAddress(ctx context.Context, addr address.Address) (address.Address, error) {
if addr.Protocol() == address.ID {
addrTmp, err := m.NodeClient.StateAccountKey(ctx, addr, venusTypes.EmptyTSK)
if err != nil {
return address.Undef, fmt.Errorf("getting key address %s failed: %w", addr, err)
}
log.Infof("resolve ID address from %s to %s", addr, addrTmp)

addr = addrTmp
}

return addr, nil
}

func (m MessageImp) PushMessage(ctx context.Context, msg *venusTypes.Message, meta *types.SendSpec) (string, error) {
var err error
msg.From, err = m.resolveAddress(ctx, msg.From)
if err != nil {
return "", err
}
if err := jwtclient.CheckPermissionBySigner(ctx, m.AuthClient, msg.From); err != nil {
return "", err
}

return m.MessageSrv.PushMessage(ctx, msg, meta)
}

func (m *MessageImp) PushMessageWithId(ctx context.Context, id string, msg *venusTypes.Message, meta *types.SendSpec) (string, error) {
func (m MessageImp) PushMessageWithId(ctx context.Context, id string, msg *venusTypes.Message, meta *types.SendSpec) (string, error) {
var err error
msg.From, err = m.resolveAddress(ctx, msg.From)
if err != nil {
return "", err
}
if err := jwtclient.CheckPermissionBySigner(ctx, m.AuthClient, msg.From); err != nil {
return "", err
}

return m.MessageSrv.PushMessageWithId(ctx, id, msg, meta)
}

Expand Down
29 changes: 17 additions & 12 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ require (
github.com/filecoin-project/go-address v1.1.0
github.com/filecoin-project/go-bitfield v0.2.4
github.com/filecoin-project/go-jsonrpc v0.1.5
github.com/filecoin-project/go-state-types v0.10.0-rc3
github.com/filecoin-project/go-state-types v0.10.0
github.com/filecoin-project/specs-actors/v5 v5.0.6
github.com/filecoin-project/venus v1.10.0-rc2.0.20230228065413-0179375cef9f
github.com/filecoin-project/venus-auth v1.10.0-rc2.0.20230228032348-a2418f5a8838
github.com/filecoin-project/venus v1.10.2-0.20230309014040-73746cec80e4
github.com/filecoin-project/venus-auth v1.10.2-0.20230308100319-913815325d5e
github.com/golang/mock v1.6.0
github.com/google/uuid v1.3.0
github.com/hunjixin/automapper v0.0.0-20191127090318-9b979ce72ce2
Expand Down Expand Up @@ -79,12 +79,12 @@ require (
github.com/fsnotify/fsnotify v1.5.4 // indirect
github.com/gbrlsnchs/jwt/v3 v3.0.1
github.com/gin-contrib/sse v0.1.0 // indirect
github.com/gin-gonic/gin v1.7.7 // indirect
github.com/gin-gonic/gin v1.9.0 // indirect
github.com/go-kit/log v0.2.0 // indirect
github.com/go-logfmt/logfmt v0.5.1 // indirect
github.com/go-playground/locales v0.13.0 // indirect
github.com/go-playground/universal-translator v0.17.0 // indirect
github.com/go-playground/validator/v10 v10.4.1 // indirect
github.com/go-playground/locales v0.14.1 // indirect
github.com/go-playground/universal-translator v0.18.1 // indirect
github.com/go-playground/validator/v10 v10.11.2 // indirect
github.com/go-redis/redis/v7 v7.0.0-beta // indirect
github.com/go-redis/redis_rate/v7 v7.0.1 // indirect
github.com/go-resty/resty/v2 v2.4.0 // indirect
Expand Down Expand Up @@ -150,7 +150,7 @@ require (
github.com/magefile/mage v1.11.0 // indirect
github.com/marten-seemann/qtls-go1-18 v0.1.2 // indirect
github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd // indirect
github.com/mattn/go-isatty v0.0.16 // indirect
github.com/mattn/go-isatty v0.0.17 // indirect
github.com/mattn/go-sqlite3 v1.14.16 // indirect
github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect
github.com/miekg/dns v1.1.50 // indirect
Expand Down Expand Up @@ -194,7 +194,7 @@ require (
github.com/spf13/viper v1.12.0 // indirect
github.com/subosito/gotenv v1.4.0 // indirect
github.com/uber/jaeger-client-go v2.25.0+incompatible // indirect
github.com/ugorji/go/codec v1.2.4 // indirect
github.com/ugorji/go/codec v1.2.9 // indirect
github.com/whyrusleeping/go-keyspace v0.0.0-20160322163242-5b898ac5add1 // indirect
github.com/whyrusleeping/go-logging v0.0.1 // indirect
github.com/whyrusleeping/timecache v0.0.0-20160911033111-cfcb2f1abfee // indirect
Expand All @@ -203,7 +203,7 @@ require (
go.uber.org/dig v1.12.0 // indirect
go.uber.org/multierr v1.8.0 // indirect
go.uber.org/zap v1.23.0
golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 // indirect
golang.org/x/crypto v0.5.0 // indirect
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect
golang.org/x/net v0.7.0 // indirect
golang.org/x/sync v0.0.0-20220907140024-f12130a52804 // indirect
Expand All @@ -220,11 +220,14 @@ require (
)

require (
github.com/bytedance/sonic v1.8.0 // indirect
github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 // indirect
github.com/filecoin-project/go-crypto v0.0.1 // indirect
github.com/filecoin-project/specs-actors v0.9.15 // indirect
github.com/filecoin-project/specs-actors/v6 v6.0.2 // indirect
github.com/go-logr/logr v1.2.3 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/goccy/go-json v0.10.0 // indirect
github.com/hraban/lrucache v0.0.0-20201130153820-17052bf09781 // indirect
github.com/ipfs/go-block-format v0.1.1 // indirect
github.com/ipfs/go-libipfs v0.4.1 // indirect
Expand All @@ -236,15 +239,17 @@ require (
github.com/mattn/go-colorable v0.1.13 // indirect
github.com/mattn/go-pointer v0.0.1 // indirect
github.com/patrickmn/go-cache v2.1.0+incompatible // indirect
github.com/pelletier/go-toml/v2 v2.0.2 // indirect
github.com/pelletier/go-toml/v2 v2.0.6 // indirect
github.com/sirupsen/logrus v1.9.0 // indirect
github.com/spf13/afero v1.8.2 // indirect
github.com/spf13/cast v1.5.0 // indirect
github.com/twitchyliquid64/golang-asm v0.15.1 // indirect
go.opentelemetry.io/otel v1.10.0 // indirect
go.opentelemetry.io/otel/trace v1.10.0 // indirect
golang.org/x/arch v0.0.0-20210923205945-b76863e36670 // indirect
golang.org/x/exp v0.0.0-20220916125017-b168a2c6b86b // indirect
google.golang.org/api v0.81.0 // indirect
gopkg.in/ini.v1 v1.66.6 // indirect
)

replace github.com/filecoin-project/go-jsonrpc => github.com/ipfs-force-community/go-jsonrpc v0.1.7-0.20230214070559-dbe74781184a
replace github.com/filecoin-project/go-jsonrpc => github.com/ipfs-force-community/go-jsonrpc v0.1.7
Loading

0 comments on commit 7cd8d49

Please sign in to comment.