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 12 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
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
55 changes: 55 additions & 0 deletions cmd/load_builtin_actor.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
package cmd

import (
"context"
"fmt"

"github.com/filecoin-project/venus-market/v2/config"
v1 "github.com/filecoin-project/venus/venus-shared/api/chain/v1"
builtinactors "github.com/filecoin-project/venus/venus-shared/builtin-actors"
"github.com/filecoin-project/venus/venus-shared/types"
"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()

networkName, err := fullNodeAPI.StateNetworkName(ctx)
if err != nil {
return err
}

nt, err := networkNameToNetworkType(networkName)
if err != nil {
return err
}

return builtinactors.SetNetworkBundle(nt)
}

func networkNameToNetworkType(networkName types.NetworkName) (types.NetworkType, error) {
switch networkName {
case "":
return types.NetworkDefault, fmt.Errorf("network name is empty")
case "mainnet":
return types.NetworkMainnet, nil
case "calibrationnet", "calibnet":
return types.NetworkCalibnet, nil
case "butterflynet", "butterfly":
return types.NetworkButterfly, nil
case "interopnet", "interop":
return types.NetworkInterop, nil
default:
// include 2k force
return types.Network2k, nil
}
}
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
20 changes: 20 additions & 0 deletions cmd/venus-market/main.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package main

import (
"context"
"fmt"
"log"
"os"
Expand All @@ -14,6 +15,7 @@ import (
"github.com/ipfs-force-community/venus-common-utils/builder"

cli2 "github.com/filecoin-project/venus-market/v2/cli"
cmd "github.com/filecoin-project/venus-market/v2/cmd"
"github.com/filecoin-project/venus-market/v2/config"
_ "github.com/filecoin-project/venus-market/v2/network"
"github.com/filecoin-project/venus-market/v2/version"
Expand All @@ -31,6 +33,10 @@ var (
ExtractApiKey = builder.NextInvoke()
)

type contextKey string

const contextKeyMarketConfig = contextKey("market-config")

var (
RepoFlag = &cli.StringFlag{
Name: "repo",
Expand Down Expand Up @@ -153,6 +159,11 @@ func main() {
}

func prepare(cctx *cli.Context) (*config.MarketConfig, error) {
if !cctx.IsSet(HidenSignerTypeFlag.Name) {
if err := cctx.Set(HidenSignerTypeFlag.Name, "wallet"); 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 @@ -276,3 +287,12 @@ func flagData(cctx *cli.Context, cfg *config.MarketConfig) error {
}
return nil
}

var beforeCmdRun = func(cctx *cli.Context) error {
cfg, err := prepare(cctx)
if err != nil {
return err
}
cctx.Context = context.WithValue(cctx.Context, contextKeyMarketConfig, cfg)
return cmd.FetchAndLoadBundles(cctx.Context, cfg.Node)
}
12 changes: 4 additions & 8 deletions cmd/venus-market/pool-run.go
Original file line number Diff line number Diff line change
Expand Up @@ -50,20 +50,16 @@ var poolRunCmd = &cli.Command{
MinerListFlag,
PaymentAddressFlag,
},
Before: beforeCmdRun,
Action: poolDaemon,
}

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)
if err != nil {
return err
cfg, ok := cctx.Context.Value(contextKeyMarketConfig).(*config.MarketConfig)
if !ok {
return fmt.Errorf("market config not exists")
}

// venus-auth is must in 'pool' mode
Expand Down
13 changes: 4 additions & 9 deletions cmd/venus-market/solo-run.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,20 +47,15 @@ var soloRunCmd = &cli.Command{
PaymentAddressFlag,
},
Action: soloDaemon,
Before: beforeCmdRun,
}

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)
if err != nil {
return err
cfg, ok := cctx.Context.Value(contextKeyMarketConfig).(*config.MarketConfig)
if !ok {
return fmt.Errorf("market config not exists")
}

resAPI := &impl.MarketNodeImpl{}
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
+210 −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
Loading