Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prep/v2.2.0 rc2 #149

Merged
merged 16 commits into from
Jun 25, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ sequence_chart.md
.idea
.vscode
coverage.*
.vscode
# Test binary, built with `go test -c`
*.test
data-transfer
Expand Down
10 changes: 3 additions & 7 deletions api/clients/modules.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package clients

import (
"context"
"time"

"github.com/filecoin-project/go-address"
"github.com/filecoin-project/venus-market/v2/config"
Expand Down Expand Up @@ -34,15 +33,12 @@ func ConvertWalletToISinge(fullNode v1api.FullNode, signer ISinger) error {
}

func NewMarketEvent(mctx metrics.MetricsCtx) (*marketevent.MarketEventStream, error) {
stream := marketevent.NewMarketEventStream(mctx, &localMinerValidator{}, &types3.Config{
RequestQueueSize: 30,
RequestTimeout: time.Second * 30,
})
stream := marketevent.NewMarketEventStream(mctx, &localMinerValidator{}, types3.DefaultConfig())
return stream, nil
}

func NewMarketEventAPI(stream *marketevent.MarketEventStream) (*marketevent.MarketEventAPI, error) {
return marketevent.NewMarketEventAPI(stream), nil
func NewMarketEventAPI(stream *marketevent.MarketEventStream) (marketevent.IMarketEventAPI, error) {
return stream, nil
}

func NewIMarketEvent(stream *marketevent.MarketEventStream) (MarketRequestEvent, error) {
Expand Down
4 changes: 2 additions & 2 deletions api/clients/sign_client.go
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,9 @@ func NewISignerClient(mctx metrics.MetricsCtx, lc fx.Lifecycle, params SignerPar
var closer jsonrpc.ClientCloser
var err error
switch params.SignerCfg.SignerType {
case "wallet":
case config.SignerTypeWallet:
signer, closer, err = newWalletClient(context.Background(), params.SignerCfg.Token, params.SignerCfg.Url)
case "gateway":
case config.SignerTypeGateway:
signer, closer, err = newGatewayWalletClient(context.Background(), params.Mgr, params.SignerCfg)
default:
return nil, fmt.Errorf("unsupport sign type %s", params.SignerCfg.SignerType)
Expand Down
15 changes: 7 additions & 8 deletions api/clients/venus_message_client.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,31 +3,30 @@ package clients
import (
"context"
"errors"
"net/http"

"github.com/filecoin-project/venus-market/v2/config"
client2 "github.com/filecoin-project/venus-messager/api/client"
"github.com/ipfs-force-community/venus-common-utils/apiinfo"
"github.com/filecoin-project/venus/venus-shared/api/messager"
"github.com/ipfs-force-community/venus-common-utils/metrics"
"go.uber.org/fx"
)

var ErrFailMsg = errors.New("message fail")

type IVenusMessager = client2.IMessager
type IVenusMessager = messager.IMessager

func MessagerClient(mctx metrics.MetricsCtx, lc fx.Lifecycle, nodeCfg *config.Messager) (IVenusMessager, error) {
info := apiinfo.NewAPIInfo(nodeCfg.Url, nodeCfg.Token)
dialAddr, err := info.DialArgs("v0")
func MessagerClient(mctx metrics.MetricsCtx, lc fx.Lifecycle, messageCfg *config.Messager) (IVenusMessager, error) {
client, closer, err := messager.DialIMessagerRPC(mctx, messageCfg.Url, messageCfg.Token, http.Header{})
if err != nil {
return nil, err
}

client, closer, err := client2.NewMessageRPC(mctx, dialAddr, info.AuthHeader())
lc.Append(fx.Hook{
OnStop: func(_ context.Context) error {
closer()
return nil
},
})
return client, err

return client, nil
}
8 changes: 4 additions & 4 deletions api/impl/venus_market.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ import (
"github.com/filecoin-project/venus-market/v2/retrievalprovider"
"github.com/filecoin-project/venus-market/v2/storageprovider"

"github.com/filecoin-project/go-state-types/builtin/v8/paych"
"github.com/filecoin-project/venus/pkg/constants"
"github.com/filecoin-project/venus/venus-shared/actors/builtin/paych"
v1api "github.com/filecoin-project/venus/venus-shared/api/chain/v1"
marketapi "github.com/filecoin-project/venus/venus-shared/api/market"
vTypes "github.com/filecoin-project/venus/venus-shared/types"
Expand Down Expand Up @@ -121,7 +121,7 @@ func (m MarketNodeImpl) MarketImportPublishedDeal(ctx context.Context, deal type
return m.StorageProvider.ImportPublishedDeal(ctx, deal)
}

func (m MarketNodeImpl) MarketListDeals(ctx context.Context, addrs []address.Address) ([]vTypes.MarketDeal, error) {
func (m MarketNodeImpl) MarketListDeals(ctx context.Context, addrs []address.Address) ([]*vTypes.MarketDeal, error) {
return m.listDeals(ctx, addrs)
}

Expand Down Expand Up @@ -403,7 +403,7 @@ func (m MarketNodeImpl) MessagerGetMessage(ctx context.Context, mid cid.Cid) (*v
return m.Messager.GetMessage(ctx, mid)
}

func (m MarketNodeImpl) listDeals(ctx context.Context, addrs []address.Address) ([]vTypes.MarketDeal, error) {
func (m MarketNodeImpl) listDeals(ctx context.Context, addrs []address.Address) ([]*vTypes.MarketDeal, error) {
ts, err := m.FullNode.ChainHead(ctx)
if err != nil {
return nil, err
Expand All @@ -414,7 +414,7 @@ func (m MarketNodeImpl) listDeals(ctx context.Context, addrs []address.Address)
return nil, err
}

var out []vTypes.MarketDeal
var out []*vTypes.MarketDeal

has := func(addr address.Address) bool {
for _, a := range addrs {
Expand Down
6 changes: 3 additions & 3 deletions cli/actor.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ import (
"github.com/filecoin-project/go-address"
"github.com/filecoin-project/go-state-types/abi"
miner7 "github.com/filecoin-project/specs-actors/v7/actors/builtin/miner"
"github.com/filecoin-project/specs-actors/v8/actors/builtin"
"github.com/filecoin-project/venus/venus-shared/actors"
"github.com/filecoin-project/venus/venus-shared/actors/builtin/miner"
"github.com/filecoin-project/venus/venus-shared/types"
)

Expand Down Expand Up @@ -145,7 +145,7 @@ var actorSetAddrsCmd = &cli.Command{
From: minfo.Worker,
Value: types.NewInt(0),
GasLimit: gasLimit,
Method: miner.Methods.ChangeMultiaddrs,
Method: builtin.MethodsMiner.ChangeMultiaddrs,
Params: params,
}, nil)
if err != nil {
Expand Down Expand Up @@ -218,7 +218,7 @@ var actorSetPeeridCmd = &cli.Command{
From: minfo.Worker,
Value: types.NewInt(0),
GasLimit: gasLimit,
Method: miner.Methods.ChangePeerID,
Method: builtin.MethodsMiner.ChangePeerID,
Params: params,
}, nil)
if err != nil {
Expand Down
9 changes: 7 additions & 2 deletions client/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ import (
"github.com/filecoin-project/go-fil-markets/storagemarket/network"
"github.com/filecoin-project/go-fil-markets/stores"
"github.com/filecoin-project/go-state-types/abi"
"github.com/filecoin-project/specs-actors/v7/actors/builtin/market"
"github.com/filecoin-project/go-state-types/builtin/v8/market"
textselector "github.com/ipld/go-ipld-selector-text-lite"

"github.com/filecoin-project/venus-market/v2/config"
Expand Down Expand Up @@ -221,12 +221,17 @@ func (a *API) dealStarter(ctx context.Context, params *types.StartDealParams, is
// stateless flow from here to the end
//

label, err := market.NewLabelFromString(params.Data.Root.Encode(multibase.MustNewEncoder('u')))
if err != nil {
return nil, fmt.Errorf("failed to encode label: %w", err)
}

dealProposal := &market.DealProposal{
PieceCID: *params.Data.PieceCid,
PieceSize: params.Data.PieceSize.Padded(),
Client: walletKey,
Provider: params.Miner,
Label: params.Data.Root.Encode(multibase.MustNewEncoder('u')),
Label: label,
StartEpoch: dealStart,
EndEpoch: calcDealExpiration(params.MinBlocksDuration, md, dealStart),
StoragePricePerEpoch: big.Zero(),
Expand Down
25 changes: 25 additions & 0 deletions cmd/load_builtin_actor.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package cmd

import (
"context"

"github.com/filecoin-project/venus-market/v2/config"
v1 "github.com/filecoin-project/venus/venus-shared/api/chain/v1"
"github.com/filecoin-project/venus/venus-shared/utils"
"github.com/ipfs-force-community/venus-common-utils/apiinfo"
)

func FetchAndLoadBundles(ctx context.Context, nodeCfg config.Node) error {
apiInfo := apiinfo.NewAPIInfo(nodeCfg.Url, nodeCfg.Token)
addr, err := apiInfo.DialArgs("v1")
if err != nil {
return err
}
fullNodeAPI, closer, err := v1.NewFullNodeRPC(ctx, addr, apiInfo.AuthHeader())
if err != nil {
return err
}
defer closer()

return utils.LoadBuiltinActors(ctx, fullNodeAPI)
}
5 changes: 5 additions & 0 deletions cmd/market-client/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import (
"os"

clients2 "github.com/filecoin-project/venus-market/v2/api/clients"
"github.com/filecoin-project/venus-market/v2/cmd"
clientapi "github.com/filecoin-project/venus/venus-shared/api/market/client"
"github.com/gorilla/mux"
logging "github.com/ipfs/go-log/v2"
Expand Down Expand Up @@ -220,6 +221,10 @@ func marketClient(cctx *cli.Context) error {
if err != nil {
return err
}
if err := cmd.FetchAndLoadBundles(cctx.Context, cfg.Node); err != nil {
return err
}

resAPI := &impl.MarketClientNodeImpl{}
shutdownChan := make(chan struct{})
closeFunc, err := builder.New(ctx,
Expand Down
11 changes: 9 additions & 2 deletions cmd/venus-market/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ import (
"os"
"strings"

"github.com/filecoin-project/venus-market/v2/cmd"

logging "github.com/ipfs/go-log/v2"
"github.com/urfave/cli/v2"

Expand Down Expand Up @@ -152,7 +154,12 @@ func main() {
}
}

func prepare(cctx *cli.Context) (*config.MarketConfig, error) {
func prepare(cctx *cli.Context, defSignerType config.SignerType) (*config.MarketConfig, error) {
if !cctx.IsSet(HidenSignerTypeFlag.Name) {
if err := cctx.Set(HidenSignerTypeFlag.Name, defSignerType); err != nil {
return nil, fmt.Errorf("set %s with wallet failed %v", HidenSignerTypeFlag.Name, err)
}
}
cfg := config.DefaultMarketConfig
cfg.HomeDir = cctx.String(RepoFlag.Name)
cfgPath, err := cfg.ConfigPath()
Expand Down Expand Up @@ -185,7 +192,7 @@ func prepare(cctx *cli.Context) (*config.MarketConfig, error) {
} else {
return nil, err
}
return cfg, nil
return cfg, cmd.FetchAndLoadBundles(cctx.Context, cfg.Node)
}

func flagData(cctx *cli.Context, cfg *config.MarketConfig) error {
Expand Down
12 changes: 4 additions & 8 deletions cmd/venus-market/pool-run.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,22 +55,18 @@ var poolRunCmd = &cli.Command{

func poolDaemon(cctx *cli.Context) error {
utils.SetupLogLevels()
ctx := cctx.Context
if !cctx.IsSet(HidenSignerTypeFlag.Name) {
if err := cctx.Set(HidenSignerTypeFlag.Name, "gateway"); err != nil {
return fmt.Errorf("set %s with gateway failed %v", HidenSignerTypeFlag.Name, err)
}
}
cfg, err := prepare(cctx)
cfg, err := prepare(cctx, config.SignerTypeGateway)
if err != nil {
return err
return fmt.Errorf("prepare pool run failed:%w", err)
}

// venus-auth is must in 'pool' mode
if len(cfg.AuthNode.Url) == 0 {
return fmt.Errorf("auth-url is required in 'pool' mode")
}

ctx := cctx.Context

// 'NewAuthClient' never returns an error, no needs to check
authClient, _ := jwtclient.NewAuthClient(cfg.AuthNode.Url)

Expand Down
11 changes: 3 additions & 8 deletions cmd/venus-market/solo-run.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,17 +51,12 @@ var soloRunCmd = &cli.Command{

func soloDaemon(cctx *cli.Context) error {
utils.SetupLogLevels()
ctx := cctx.Context

if !cctx.IsSet(HidenSignerTypeFlag.Name) {
if err := cctx.Set(HidenSignerTypeFlag.Name, "wallet"); err != nil {
return fmt.Errorf("set %s with wallet failed %v", HidenSignerTypeFlag.Name, err)
}
}
cfg, err := prepare(cctx)
cfg, err := prepare(cctx, config.SignerTypeWallet)
if err != nil {
return err
return fmt.Errorf("prepare solo run failed:%w", err)
}
ctx := cctx.Context

resAPI := &impl.MarketNodeImpl{}
shutdownChan := make(chan struct{})
Expand Down
9 changes: 8 additions & 1 deletion config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,15 @@ type Common struct {
Libp2p Libp2p
}

type SignerType = string

const (
SignerTypeWallet = "wallet"
SignerTypeGateway = "gateway"
)

type Signer struct {
SignerType string `toml:"Type"` // wallet/gateway
SignerType SignerType `toml:"Type"` // wallet/gateway
Url string
Token string
}
Expand Down
11 changes: 5 additions & 6 deletions dagstore/market_api_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,12 @@ import (

"github.com/filecoin-project/go-address"
"github.com/filecoin-project/go-state-types/abi"
"github.com/filecoin-project/go-state-types/builtin/v8/market"
acrypto "github.com/filecoin-project/go-state-types/crypto"
market0 "github.com/filecoin-project/specs-actors/actors/builtin/market"
"github.com/filecoin-project/venus-market/v2/config"
"github.com/filecoin-project/venus-market/v2/models"
"github.com/filecoin-project/venus-market/v2/piecestorage"
builtinMarket "github.com/filecoin-project/venus/venus-shared/actors/builtin/market"
"github.com/filecoin-project/venus/venus-shared/types/market"
markettypes "github.com/filecoin-project/venus/venus-shared/types/market"
"github.com/ipfs/go-cid"
"github.com/stretchr/testify/assert"
)
Expand All @@ -33,9 +32,9 @@ func TestMarket(t *testing.T) {
pmgr.AddMemPieceStorage(memPieceStorage)

r := models.NewInMemoryRepo()
err = r.StorageDealRepo().SaveDeal(ctx, &market.MinerDeal{
ClientDealProposal: builtinMarket.ClientDealProposal{
Proposal: market0.DealProposal{
err = r.StorageDealRepo().SaveDeal(ctx, &markettypes.MinerDeal{
ClientDealProposal: market.ClientDealProposal{
Proposal: market.DealProposal{
Provider: address.TestAddress,
Client: address.TestAddress,
PieceCID: testResourceId,
Expand Down
2 changes: 1 addition & 1 deletion extern/filecoin-ffi
Submodule filecoin-ffi updated 68 files
+8 −22 .circleci/config.yml
+2 −4 Makefile
+1 −8 README.md
+42 −80 bls.go
+14 −14 bls_test.go
+0 −3 build.sh
+157 −0 cgo/blockstore.go
+61 −0 cgo/bls.go
+55 −0 cgo/const.go
+25 −0 cgo/errors.go
+118 −0 cgo/extern.go
+62 −0 cgo/fvm.go
+275 −0 cgo/helpers.go
+66 −0 cgo/helpers_test.go
+37 −0 cgo/interface.go
+1 −2 cgo/libs.go
+383 −0 cgo/proofs.go
+49 −0 cgo/registry.go
+665 −0 cgo/types.go
+20 −0 cgo/util.go
+2 −1 cgoleakdetect/runner.go
+62 −110 distributed.go
+0 −39 filcrypto.yml
+211 −0 fvm.go
+36 −0 fvm_test.go
+0 −5,712 generated/cgo_helpers.go
+0 −9 generated/cgo_helpers.h
+0 −78 generated/const.go
+0 −1,272 generated/generated.go
+0 −501 generated/types.go
+51 −11 go.mod
+104 −262 go.sum
+9 −0 headerstubs/stdbool.h
+1 −0 headerstubs/stddef.h
+5 −2 headerstubs/stdint.h
+2 −0 install-filcrypto
+283 −510 proofs.go
+19 −22 proofs_test.go
+2,488 −389 rust/Cargo.lock
+28 −13 rust/Cargo.toml
+0 −11 rust/build.rs
+0 −23 rust/cbindgen.toml
+1 −1 rust/rust-toolchain
+9 −1 rust/scripts/build-release.sh
+168 −287 rust/src/bls/api.rs
+0 −1 rust/src/bls/mod.rs
+0 −79 rust/src/bls/types.rs
+151 −0 rust/src/fvm/blockstore/cgo.rs
+100 −0 rust/src/fvm/blockstore/fake.rs
+7 −0 rust/src/fvm/blockstore/mod.rs
+76 −0 rust/src/fvm/blockstore/overlay.rs
+26 −0 rust/src/fvm/cgo/error.rs
+60 −0 rust/src/fvm/cgo/externs.rs
+5 −0 rust/src/fvm/cgo/mod.rs
+136 −0 rust/src/fvm/externs.rs
+406 −0 rust/src/fvm/machine.rs
+8 −0 rust/src/fvm/mod.rs
+44 −0 rust/src/fvm/types.rs
+20 −0 rust/src/lib.rs
+1,608 −2,774 rust/src/proofs/api.rs
+29 −103 rust/src/proofs/helpers.rs
+222 −990 rust/src/proofs/types.rs
+52 −77 rust/src/util/api.rs
+229 −33 rust/src/util/types.rs
+77 −150 sector_update.go
+0 −7 tools.go
+8 −7 types.go
+9 −7 workflows.go
11 changes: 6 additions & 5 deletions fundmgr/fundmanager.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ import (

"github.com/filecoin-project/go-address"
"github.com/filecoin-project/go-state-types/abi"
"github.com/filecoin-project/venus/venus-shared/actors/builtin/market"
"github.com/filecoin-project/go-state-types/builtin"
"github.com/filecoin-project/go-state-types/builtin/v8/market"
types2 "github.com/filecoin-project/venus/venus-shared/types"
"github.com/ipfs/go-cid"
logging "github.com/ipfs/go-log/v2"
Expand Down Expand Up @@ -688,10 +689,10 @@ func (env *fundManagerEnvironment) AddFunds(
}

msgId, aerr := env.api.PushMessage(ctx, &types2.Message{
To: market.Address,
To: builtin.StorageMarketActorAddr,
From: wallet,
Value: amt,
Method: market.Methods.AddBalance,
Method: builtin.MethodsMarket.AddBalance,
Params: params,
}, nil)

Expand All @@ -717,10 +718,10 @@ func (env *fundManagerEnvironment) WithdrawFunds(
}

msgId, aerr := env.api.PushMessage(ctx, &types2.Message{
To: market.Address,
To: builtin.StorageMarketActorAddr,
From: wallet,
Value: types2.NewInt(0),
Method: market.Methods.WithdrawBalance,
Method: builtin.MethodsMarket.WithdrawBalance,
Params: params,
}, nil)

Expand Down
Loading