Merge remote-tracking branch 'origin/testnet/3' into feat/check-deps
This commit is contained in:
commit
da7db5fa98
@ -65,6 +65,7 @@ type FullNode interface {
|
|||||||
MpoolPushMessage(context.Context, *types.Message) (*types.SignedMessage, error) // get nonce, sign, push
|
MpoolPushMessage(context.Context, *types.Message) (*types.SignedMessage, error) // get nonce, sign, push
|
||||||
MpoolGetNonce(context.Context, address.Address) (uint64, error)
|
MpoolGetNonce(context.Context, address.Address) (uint64, error)
|
||||||
MpoolSub(context.Context) (<-chan MpoolUpdate, error)
|
MpoolSub(context.Context) (<-chan MpoolUpdate, error)
|
||||||
|
MpoolEstimateGasPrice(context.Context, uint64, address.Address, int64, types.TipSetKey) (types.BigInt, error)
|
||||||
|
|
||||||
// FullNodeStruct
|
// FullNodeStruct
|
||||||
|
|
||||||
|
@ -79,11 +79,12 @@ type FullNodeStruct struct {
|
|||||||
SyncMarkBad func(ctx context.Context, bcid cid.Cid) error `perm:"admin"`
|
SyncMarkBad func(ctx context.Context, bcid cid.Cid) error `perm:"admin"`
|
||||||
SyncCheckBad func(ctx context.Context, bcid cid.Cid) (string, error) `perm:"read"`
|
SyncCheckBad func(ctx context.Context, bcid cid.Cid) (string, error) `perm:"read"`
|
||||||
|
|
||||||
MpoolPending func(context.Context, types.TipSetKey) ([]*types.SignedMessage, error) `perm:"read"`
|
MpoolPending func(context.Context, types.TipSetKey) ([]*types.SignedMessage, error) `perm:"read"`
|
||||||
MpoolPush func(context.Context, *types.SignedMessage) (cid.Cid, 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"`
|
MpoolPushMessage func(context.Context, *types.Message) (*types.SignedMessage, error) `perm:"sign"`
|
||||||
MpoolGetNonce func(context.Context, address.Address) (uint64, error) `perm:"read"`
|
MpoolGetNonce func(context.Context, address.Address) (uint64, error) `perm:"read"`
|
||||||
MpoolSub func(context.Context) (<-chan api.MpoolUpdate, error) `perm:"read"`
|
MpoolSub func(context.Context) (<-chan api.MpoolUpdate, error) `perm:"read"`
|
||||||
|
MpoolEstimateGasPrice func(context.Context, uint64, address.Address, int64, types.TipSetKey) (types.BigInt, error) `perm:"read"`
|
||||||
|
|
||||||
MinerGetBaseInfo func(context.Context, address.Address, abi.ChainEpoch, types.TipSetKey) (*api.MiningBaseInfo, error) `perm:"read"`
|
MinerGetBaseInfo func(context.Context, address.Address, abi.ChainEpoch, types.TipSetKey) (*api.MiningBaseInfo, error) `perm:"read"`
|
||||||
MinerCreateBlock func(context.Context, *api.BlockTemplate) (*types.BlockMsg, error) `perm:"write"`
|
MinerCreateBlock func(context.Context, *api.BlockTemplate) (*types.BlockMsg, error) `perm:"write"`
|
||||||
@ -334,6 +335,10 @@ func (c *FullNodeStruct) MpoolSub(ctx context.Context) (<-chan api.MpoolUpdate,
|
|||||||
return c.Internal.MpoolSub(ctx)
|
return c.Internal.MpoolSub(ctx)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *FullNodeStruct) MpoolEstimateGasPrice(ctx context.Context, nblocksincl uint64, sender address.Address, limit int64, tsk types.TipSetKey) (types.BigInt, error) {
|
||||||
|
return c.Internal.MpoolEstimateGasPrice(ctx, nblocksincl, sender, limit, tsk)
|
||||||
|
}
|
||||||
|
|
||||||
func (c *FullNodeStruct) MinerGetBaseInfo(ctx context.Context, maddr address.Address, epoch abi.ChainEpoch, tsk types.TipSetKey) (*api.MiningBaseInfo, error) {
|
func (c *FullNodeStruct) MinerGetBaseInfo(ctx context.Context, maddr address.Address, epoch abi.ChainEpoch, tsk types.TipSetKey) (*api.MiningBaseInfo, error) {
|
||||||
return c.Internal.MinerGetBaseInfo(ctx, maddr, epoch, tsk)
|
return c.Internal.MinerGetBaseInfo(ctx, maddr, epoch, tsk)
|
||||||
}
|
}
|
||||||
|
@ -822,3 +822,17 @@ func (mp *MessagePool) loadLocal() error {
|
|||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const MinGasPrice = 0
|
||||||
|
|
||||||
|
func (mp *MessagePool) EstimateGasPrice(ctx context.Context, nblocksincl uint64, sender address.Address, gaslimit int64, tsk types.TipSetKey) (types.BigInt, error) {
|
||||||
|
// TODO: something smarter obviously
|
||||||
|
switch nblocksincl {
|
||||||
|
case 0:
|
||||||
|
return types.NewInt(MinGasPrice + 2), nil
|
||||||
|
case 1:
|
||||||
|
return types.NewInt(MinGasPrice + 1), nil
|
||||||
|
default:
|
||||||
|
return types.NewInt(MinGasPrice), nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
41
go.mod
41
go.mod
@ -30,8 +30,8 @@ require (
|
|||||||
github.com/gbrlsnchs/jwt/v3 v3.0.0-beta.1
|
github.com/gbrlsnchs/jwt/v3 v3.0.0-beta.1
|
||||||
github.com/google/uuid v1.1.1
|
github.com/google/uuid v1.1.1
|
||||||
github.com/gorilla/mux v1.7.4
|
github.com/gorilla/mux v1.7.4
|
||||||
github.com/gorilla/websocket v1.4.1
|
github.com/gorilla/websocket v1.4.2
|
||||||
github.com/hashicorp/go-multierror v1.0.0
|
github.com/hashicorp/go-multierror v1.1.0
|
||||||
github.com/hashicorp/golang-lru v0.5.4
|
github.com/hashicorp/golang-lru v0.5.4
|
||||||
github.com/influxdata/influxdb1-client v0.0.0-20190809212627-fc22c7df067e
|
github.com/influxdata/influxdb1-client v0.0.0-20190809212627-fc22c7df067e
|
||||||
github.com/ipfs/go-bitswap v0.2.8
|
github.com/ipfs/go-bitswap v0.2.8
|
||||||
@ -54,33 +54,33 @@ require (
|
|||||||
github.com/ipfs/go-ipfs-routing v0.1.0
|
github.com/ipfs/go-ipfs-routing v0.1.0
|
||||||
github.com/ipfs/go-ipld-cbor v0.0.5-0.20200204214505-252690b78669
|
github.com/ipfs/go-ipld-cbor v0.0.5-0.20200204214505-252690b78669
|
||||||
github.com/ipfs/go-ipld-format v0.0.2
|
github.com/ipfs/go-ipld-format v0.0.2
|
||||||
github.com/ipfs/go-log v1.0.3
|
github.com/ipfs/go-log v1.0.4
|
||||||
github.com/ipfs/go-log/v2 v2.0.3
|
github.com/ipfs/go-log/v2 v2.0.5
|
||||||
github.com/ipfs/go-merkledag v0.2.4
|
github.com/ipfs/go-merkledag v0.2.4
|
||||||
github.com/ipfs/go-path v0.0.7
|
github.com/ipfs/go-path v0.0.7
|
||||||
github.com/ipfs/go-unixfs v0.2.2-0.20190827150610-868af2e9e5cb
|
github.com/ipfs/go-unixfs v0.2.2-0.20190827150610-868af2e9e5cb
|
||||||
github.com/ipld/go-ipld-prime v0.0.2-0.20191108012745-28a82f04c785
|
github.com/ipld/go-ipld-prime v0.0.2-0.20191108012745-28a82f04c785
|
||||||
github.com/jackpal/go-nat-pmp v1.0.2 // indirect
|
|
||||||
github.com/jbenet/go-temp-err-catcher v0.1.0 // indirect
|
github.com/jbenet/go-temp-err-catcher v0.1.0 // indirect
|
||||||
github.com/lib/pq v1.2.0
|
github.com/lib/pq v1.2.0
|
||||||
github.com/libp2p/go-eventbus v0.1.0
|
github.com/libp2p/go-eventbus v0.1.0
|
||||||
github.com/libp2p/go-libp2p v0.6.1
|
github.com/libp2p/go-libp2p v0.8.1
|
||||||
github.com/libp2p/go-libp2p-circuit v0.1.4
|
github.com/libp2p/go-libp2p-circuit v0.2.1
|
||||||
github.com/libp2p/go-libp2p-connmgr v0.1.0
|
github.com/libp2p/go-libp2p-connmgr v0.1.0
|
||||||
github.com/libp2p/go-libp2p-core v0.5.0
|
github.com/libp2p/go-libp2p-core v0.5.1
|
||||||
github.com/libp2p/go-libp2p-discovery v0.2.0
|
github.com/libp2p/go-libp2p-discovery v0.3.0
|
||||||
github.com/libp2p/go-libp2p-kad-dht v0.1.1
|
github.com/libp2p/go-libp2p-kad-dht v0.7.6
|
||||||
github.com/libp2p/go-libp2p-mplex v0.2.2
|
github.com/libp2p/go-libp2p-mplex v0.2.3
|
||||||
github.com/libp2p/go-libp2p-peer v0.2.0
|
github.com/libp2p/go-libp2p-peer v0.2.0
|
||||||
github.com/libp2p/go-libp2p-peerstore v0.2.0
|
github.com/libp2p/go-libp2p-peerstore v0.2.3
|
||||||
|
github.com/libp2p/go-libp2p-protocol v0.1.0
|
||||||
github.com/libp2p/go-libp2p-pubsub v0.2.6
|
github.com/libp2p/go-libp2p-pubsub v0.2.6
|
||||||
github.com/libp2p/go-libp2p-quic-transport v0.1.1
|
github.com/libp2p/go-libp2p-quic-transport v0.1.1
|
||||||
github.com/libp2p/go-libp2p-record v0.1.1
|
github.com/libp2p/go-libp2p-record v0.1.2
|
||||||
github.com/libp2p/go-libp2p-routing-helpers v0.1.0
|
github.com/libp2p/go-libp2p-routing-helpers v0.2.1
|
||||||
github.com/libp2p/go-libp2p-secio v0.2.1
|
github.com/libp2p/go-libp2p-secio v0.2.2
|
||||||
github.com/libp2p/go-libp2p-swarm v0.2.2
|
github.com/libp2p/go-libp2p-swarm v0.2.3
|
||||||
github.com/libp2p/go-libp2p-tls v0.1.0
|
github.com/libp2p/go-libp2p-tls v0.1.3
|
||||||
github.com/libp2p/go-libp2p-yamux v0.2.5
|
github.com/libp2p/go-libp2p-yamux v0.2.7
|
||||||
github.com/libp2p/go-maddr-filter v0.0.5
|
github.com/libp2p/go-maddr-filter v0.0.5
|
||||||
github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1
|
github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1
|
||||||
github.com/minio/sha256-simd v0.1.1
|
github.com/minio/sha256-simd v0.1.1
|
||||||
@ -88,10 +88,10 @@ require (
|
|||||||
github.com/multiformats/go-base32 v0.0.3
|
github.com/multiformats/go-base32 v0.0.3
|
||||||
github.com/multiformats/go-multiaddr v0.2.1
|
github.com/multiformats/go-multiaddr v0.2.1
|
||||||
github.com/multiformats/go-multiaddr-dns v0.2.0
|
github.com/multiformats/go-multiaddr-dns v0.2.0
|
||||||
github.com/multiformats/go-multiaddr-net v0.1.3
|
github.com/multiformats/go-multiaddr-net v0.1.4
|
||||||
github.com/multiformats/go-multihash v0.0.13
|
github.com/multiformats/go-multihash v0.0.13
|
||||||
github.com/opentracing/opentracing-go v1.1.0
|
github.com/opentracing/opentracing-go v1.1.0
|
||||||
github.com/stretchr/testify v1.4.0
|
github.com/stretchr/testify v1.5.1
|
||||||
github.com/whyrusleeping/bencher v0.0.0-20190829221104-bb6607aa8bba
|
github.com/whyrusleeping/bencher v0.0.0-20190829221104-bb6607aa8bba
|
||||||
github.com/whyrusleeping/cbor-gen v0.0.0-20200414195334-429a0b5e922e
|
github.com/whyrusleeping/cbor-gen v0.0.0-20200414195334-429a0b5e922e
|
||||||
github.com/whyrusleeping/multiaddr-filter v0.0.0-20160516205228-e903e4adabd7
|
github.com/whyrusleeping/multiaddr-filter v0.0.0-20160516205228-e903e4adabd7
|
||||||
@ -99,7 +99,6 @@ require (
|
|||||||
go.opencensus.io v0.22.3
|
go.opencensus.io v0.22.3
|
||||||
go.uber.org/dig v1.8.0 // indirect
|
go.uber.org/dig v1.8.0 // indirect
|
||||||
go.uber.org/fx v1.9.0
|
go.uber.org/fx v1.9.0
|
||||||
go.uber.org/goleak v1.0.0 // indirect
|
|
||||||
go.uber.org/multierr v1.5.0
|
go.uber.org/multierr v1.5.0
|
||||||
go.uber.org/zap v1.14.1
|
go.uber.org/zap v1.14.1
|
||||||
golang.org/x/net v0.0.0-20200301022130-244492dfa37a // indirect
|
golang.org/x/net v0.0.0-20200301022130-244492dfa37a // indirect
|
||||||
|
@ -12,6 +12,7 @@ import (
|
|||||||
"github.com/libp2p/go-libp2p-core/peer"
|
"github.com/libp2p/go-libp2p-core/peer"
|
||||||
"github.com/libp2p/go-libp2p-core/peerstore"
|
"github.com/libp2p/go-libp2p-core/peerstore"
|
||||||
"github.com/libp2p/go-libp2p-core/routing"
|
"github.com/libp2p/go-libp2p-core/routing"
|
||||||
|
dht "github.com/libp2p/go-libp2p-kad-dht"
|
||||||
"github.com/libp2p/go-libp2p-peerstore/pstoremem"
|
"github.com/libp2p/go-libp2p-peerstore/pstoremem"
|
||||||
pubsub "github.com/libp2p/go-libp2p-pubsub"
|
pubsub "github.com/libp2p/go-libp2p-pubsub"
|
||||||
record "github.com/libp2p/go-libp2p-record"
|
record "github.com/libp2p/go-libp2p-record"
|
||||||
@ -81,6 +82,7 @@ var (
|
|||||||
BaseRoutingKey = special{7} // fx groups + multiret
|
BaseRoutingKey = special{7} // fx groups + multiret
|
||||||
NatPortMapKey = special{8} // Libp2p option
|
NatPortMapKey = special{8} // Libp2p option
|
||||||
ConnectionManagerKey = special{9} // Libp2p option
|
ConnectionManagerKey = special{9} // Libp2p option
|
||||||
|
AutoNATSvcKey = special{9} // Libp2p option
|
||||||
)
|
)
|
||||||
|
|
||||||
type invoke int
|
type invoke int
|
||||||
@ -160,7 +162,7 @@ func libp2p() Option {
|
|||||||
|
|
||||||
Override(new(lp2p.RawHost), lp2p.Host),
|
Override(new(lp2p.RawHost), lp2p.Host),
|
||||||
Override(new(host.Host), lp2p.RoutedHost),
|
Override(new(host.Host), lp2p.RoutedHost),
|
||||||
Override(new(lp2p.BaseIpfsRouting), lp2p.DHTRouting(false)),
|
Override(new(lp2p.BaseIpfsRouting), lp2p.DHTRouting(dht.ModeAuto)),
|
||||||
|
|
||||||
Override(DiscoveryHandlerKey, lp2p.DiscoveryHandler),
|
Override(DiscoveryHandlerKey, lp2p.DiscoveryHandler),
|
||||||
Override(AddrsFactoryKey, lp2p.AddrsFactory(nil, nil)),
|
Override(AddrsFactoryKey, lp2p.AddrsFactory(nil, nil)),
|
||||||
@ -174,6 +176,7 @@ func libp2p() Option {
|
|||||||
Override(NatPortMapKey, lp2p.NatPortMap),
|
Override(NatPortMapKey, lp2p.NatPortMap),
|
||||||
|
|
||||||
Override(ConnectionManagerKey, lp2p.ConnectionManager(50, 200, 20*time.Second, nil)),
|
Override(ConnectionManagerKey, lp2p.ConnectionManager(50, 200, 20*time.Second, nil)),
|
||||||
|
Override(AutoNATSvcKey, lp2p.AutoNATService),
|
||||||
|
|
||||||
Override(new(*pubsub.PubSub), lp2p.GossipSub()),
|
Override(new(*pubsub.PubSub), lp2p.GossipSub()),
|
||||||
|
|
||||||
|
@ -118,3 +118,7 @@ func (a *MpoolAPI) MpoolGetNonce(ctx context.Context, addr address.Address) (uin
|
|||||||
func (a *MpoolAPI) MpoolSub(ctx context.Context) (<-chan api.MpoolUpdate, error) {
|
func (a *MpoolAPI) MpoolSub(ctx context.Context) (<-chan api.MpoolUpdate, error) {
|
||||||
return a.Mpool.Updates(ctx)
|
return a.Mpool.Updates(ctx)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (a *MpoolAPI) MpoolEstimateGasPrice(ctx context.Context, nblocksincl uint64, sender address.Address, gaslimit int64, tsk types.TipSetKey) (types.BigInt, error) {
|
||||||
|
return a.Mpool.EstimateGasPrice(ctx, nblocksincl, sender, gaslimit, tsk)
|
||||||
|
}
|
||||||
|
@ -10,7 +10,7 @@ import (
|
|||||||
"github.com/libp2p/go-libp2p-core/peer"
|
"github.com/libp2p/go-libp2p-core/peer"
|
||||||
"github.com/libp2p/go-libp2p-core/peerstore"
|
"github.com/libp2p/go-libp2p-core/peerstore"
|
||||||
dht "github.com/libp2p/go-libp2p-kad-dht"
|
dht "github.com/libp2p/go-libp2p-kad-dht"
|
||||||
dhtopts "github.com/libp2p/go-libp2p-kad-dht/opts"
|
protocol "github.com/libp2p/go-libp2p-protocol"
|
||||||
record "github.com/libp2p/go-libp2p-record"
|
record "github.com/libp2p/go-libp2p-record"
|
||||||
routedhost "github.com/libp2p/go-libp2p/p2p/host/routed"
|
routedhost "github.com/libp2p/go-libp2p/p2p/host/routed"
|
||||||
mocknet "github.com/libp2p/go-libp2p/p2p/net/mock"
|
mocknet "github.com/libp2p/go-libp2p/p2p/net/mock"
|
||||||
@ -71,16 +71,20 @@ func MockHost(mn mocknet.Mocknet, id peer.ID, ps peerstore.Peerstore) (RawHost,
|
|||||||
return mn.AddPeerWithPeerstore(id, ps)
|
return mn.AddPeerWithPeerstore(id, ps)
|
||||||
}
|
}
|
||||||
|
|
||||||
func DHTRouting(client bool) interface{} {
|
func DHTRouting(mode dht.ModeOpt) interface{} {
|
||||||
return func(mctx helpers.MetricsCtx, lc fx.Lifecycle, host RawHost, dstore dtypes.MetadataDS, validator record.Validator, nn dtypes.NetworkName) (BaseIpfsRouting, error) {
|
return func(mctx helpers.MetricsCtx, lc fx.Lifecycle, host RawHost, dstore dtypes.MetadataDS, validator record.Validator, nn dtypes.NetworkName) (BaseIpfsRouting, error) {
|
||||||
ctx := helpers.LifecycleCtx(mctx, lc)
|
ctx := helpers.LifecycleCtx(mctx, lc)
|
||||||
|
|
||||||
d, err := dht.New(
|
d, err := dht.New(
|
||||||
ctx, host,
|
ctx, host,
|
||||||
dhtopts.Client(client),
|
dht.Mode(mode),
|
||||||
dhtopts.Datastore(dstore),
|
dht.Datastore(dstore),
|
||||||
dhtopts.Validator(validator),
|
dht.Validator(validator),
|
||||||
dhtopts.Protocols(build.DhtProtocolName(nn)),
|
dht.ProtocolPrefix(protocol.ID(nn)),
|
||||||
|
dht.QueryFilter(dht.PublicQueryFilter),
|
||||||
|
dht.RoutingTableFilter(dht.PublicRoutingTableFilter),
|
||||||
|
dht.DisableProviders(),
|
||||||
|
dht.DisableValues(),
|
||||||
)
|
)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -35,4 +35,6 @@ func AutoNATService(quic bool) func(repo repo.Repo, mctx helpers.MetricsCtx, lc
|
|||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
var AutoNATService = simpleOpt(libp2p.EnableNATService())
|
||||||
|
|
||||||
var NatPortMap = simpleOpt(libp2p.NATPortMap())
|
var NatPortMap = simpleOpt(libp2p.NATPortMap())
|
||||||
|
Loading…
Reference in New Issue
Block a user