From 435e9622b071ebdbacb05266eece376a8fe9bed4 Mon Sep 17 00:00:00 2001 From: "Masih H. Derkani" Date: Tue, 10 Dec 2024 12:56:04 +0000 Subject: [PATCH 1/9] chore: remove IPNI advertisement relay over pubsub via Lotus node (#12768) The initial implementation of IPNI used GossipSub as a way to propagate IPNI advertisement chain. To do this the propagation had to be relayed through the Lotus node due to strict Filecoin GossipSub validation rules. Since then IPNI has moved on to roll out its own sync protocol that works over HTTP, and HTTP-over-libp2p. This move has been the official way of advertising content to IPNI federation over a year now. Therefore, remove the ad relay over pubsub via Lotus node as it is now considered to have reached its EOL as a mechanism for advertising to IPNI. --- CHANGELOG.md | 1 + build/params_shared_funcs.go | 11 -- chain/sub/incoming.go | 170 ------------------------------- chain/sub/incoming_test.go | 191 ----------------------------------- go.mod | 1 - go.sum | 2 - node/builder.go | 7 ++ node/builder_chain.go | 2 - node/modules/lp2p/pubsub.go | 20 ---- node/modules/services.go | 31 ------ 10 files changed, 8 insertions(+), 428 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c6953891fa2..0b753e60122 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -47,6 +47,7 @@ For certain node operators, such as full archival nodes or systems that need to - The miner actor builtin `QAPowerForWeight` no longer accepts the unused "dealWeight" parameter, the function signature now only takes 3 arguments: sectorSize, sectorDuration, verifiedWeight. ([filecoin-project/lotus#12445](https://github.com/filecoin-project/lotus/pull/12445)) - Fix checkpointed tipsets being expanded ([filecoin-project/lotus#12747](https://github.com/filecoin-project/lotus/pull/12747)) +- Remove IPNI advertisement relay over pubsub via Lotus node as it now has been deprecated. ([filecoin-project/lotus#12768](https://github.com/filecoin-project/lotus/pull/12768) ## Bug Fixes diff --git a/build/params_shared_funcs.go b/build/params_shared_funcs.go index 05dbe7817fa..8fe0ee07e36 100644 --- a/build/params_shared_funcs.go +++ b/build/params_shared_funcs.go @@ -14,17 +14,6 @@ import ( func BlocksTopic(netName dtypes.NetworkName) string { return "/fil/blocks/" + string(netName) } func MessagesTopic(netName dtypes.NetworkName) string { return "/fil/msgs/" + string(netName) } -func IndexerIngestTopic(netName dtypes.NetworkName) string { - - nn := string(netName) - // The network name testnetnet is here for historical reasons. - // Going forward we aim to use the name `mainnet` where possible. - if nn == "testnetnet" { - nn = "mainnet" - } - - return "/indexer/ingest/" + nn -} func DhtProtocolName(netName dtypes.NetworkName) protocol.ID { return protocol.ID("/fil/kad/" + string(netName)) } diff --git a/chain/sub/incoming.go b/chain/sub/incoming.go index bc5b09842bd..f21af601eb1 100644 --- a/chain/sub/incoming.go +++ b/chain/sub/incoming.go @@ -1,11 +1,8 @@ package sub import ( - "bytes" "context" - "encoding/binary" "errors" - "sync" "time" lru "github.com/hashicorp/golang-lru/v2" @@ -13,7 +10,6 @@ import ( blocks "github.com/ipfs/go-block-format" "github.com/ipfs/go-cid" logging "github.com/ipfs/go-log/v2" - "github.com/ipni/go-libipni/announce/message" pubsub "github.com/libp2p/go-libp2p-pubsub" "github.com/libp2p/go-libp2p/core/connmgr" "github.com/libp2p/go-libp2p/core/peer" @@ -30,10 +26,8 @@ import ( "github.com/filecoin-project/lotus/chain/consensus" "github.com/filecoin-project/lotus/chain/messagepool" "github.com/filecoin-project/lotus/chain/store" - "github.com/filecoin-project/lotus/chain/sub/ratelimit" "github.com/filecoin-project/lotus/chain/types" "github.com/filecoin-project/lotus/metrics" - "github.com/filecoin-project/lotus/node/impl/full" ) var log = logging.Logger("sub") @@ -470,167 +464,3 @@ func recordFailure(ctx context.Context, metric *stats.Int64Measure, failureType ) stats.Record(ctx, metric.M(1)) } - -type peerMsgInfo struct { - peerID peer.ID - lastCid cid.Cid - lastSeqno uint64 - rateLimit *ratelimit.Window - mutex sync.Mutex -} - -type IndexerMessageValidator struct { - self peer.ID - - peerCache *lru.TwoQueueCache[address.Address, *peerMsgInfo] - chainApi full.ChainModuleAPI - stateApi full.StateModuleAPI -} - -func NewIndexerMessageValidator(self peer.ID, chainApi full.ChainModuleAPI, stateApi full.StateModuleAPI) *IndexerMessageValidator { - peerCache, _ := lru.New2Q[address.Address, *peerMsgInfo](8192) - - return &IndexerMessageValidator{ - self: self, - peerCache: peerCache, - chainApi: chainApi, - stateApi: stateApi, - } -} - -func (v *IndexerMessageValidator) Validate(ctx context.Context, pid peer.ID, msg *pubsub.Message) pubsub.ValidationResult { - // This chain-node should not be publishing its own messages. These are - // relayed from market-nodes. If a node appears to be local, reject it. - if pid == v.self { - log.Debug("ignoring indexer message from self") - stats.Record(ctx, metrics.IndexerMessageValidationFailure.M(1)) - return pubsub.ValidationIgnore - } - originPeer := msg.GetFrom() - if originPeer == v.self { - log.Debug("ignoring indexer message originating from self") - stats.Record(ctx, metrics.IndexerMessageValidationFailure.M(1)) - return pubsub.ValidationIgnore - } - - idxrMsg := message.Message{} - err := idxrMsg.UnmarshalCBOR(bytes.NewBuffer(msg.Data)) - if err != nil { - log.Errorw("Could not decode indexer pubsub message", "err", err) - return pubsub.ValidationReject - } - if len(idxrMsg.ExtraData) == 0 { - log.Debugw("ignoring message missing miner id", "peer", originPeer) - return pubsub.ValidationIgnore - } - - // Get miner info from lotus - minerAddr, err := address.NewFromBytes(idxrMsg.ExtraData) - if err != nil { - log.Warnw("cannot parse extra data as miner address", "err", err, "extraData", idxrMsg.ExtraData) - return pubsub.ValidationReject - } - - msgCid := idxrMsg.Cid - - msgInfo, cached := v.peerCache.Get(minerAddr) - if !cached { - msgInfo = &peerMsgInfo{} - } - - // Lock this peer's message info. - msgInfo.mutex.Lock() - defer msgInfo.mutex.Unlock() - - var seqno uint64 - if cached { - // Reject replayed messages. - seqno = binary.BigEndian.Uint64(msg.Message.GetSeqno()) - if seqno <= msgInfo.lastSeqno { - log.Debugf("ignoring replayed indexer message") - return pubsub.ValidationIgnore - } - } - - if !cached || originPeer != msgInfo.peerID { - // Check that the miner ID maps to the peer that sent the message. - err = v.authenticateMessage(ctx, minerAddr, originPeer) - if err != nil { - log.Warnw("cannot authenticate message", "err", err, "peer", originPeer, "minerID", minerAddr) - stats.Record(ctx, metrics.IndexerMessageValidationFailure.M(1)) - return pubsub.ValidationReject - } - msgInfo.peerID = originPeer - if !cached { - // Add msgInfo to cache only after being authenticated. If two - // messages from the same peer are handled concurrently, there is a - // small chance that one msgInfo could replace the other here when - // the info is first cached. This is OK, so no need to prevent it. - v.peerCache.Add(minerAddr, msgInfo) - } - } - - // Update message info cache with the latest message's sequence number. - msgInfo.lastSeqno = seqno - - // See if message needs to be ignored due to rate limiting. - if v.rateLimitPeer(msgInfo, msgCid) { - return pubsub.ValidationIgnore - } - - stats.Record(ctx, metrics.IndexerMessageValidationSuccess.M(1)) - return pubsub.ValidationAccept -} - -func (v *IndexerMessageValidator) rateLimitPeer(msgInfo *peerMsgInfo, msgCid cid.Cid) bool { - const ( - msgLimit = 5 - msgTimeLimit = 10 * time.Second - repeatTimeLimit = 2 * time.Hour - ) - - timeWindow := msgInfo.rateLimit - - // Check overall message rate. - if timeWindow == nil { - timeWindow = ratelimit.NewWindow(msgLimit, msgTimeLimit) - msgInfo.rateLimit = timeWindow - } else if msgInfo.lastCid == msgCid { - // Check if this is a repeat of the previous message data. - if time.Since(timeWindow.Newest()) < repeatTimeLimit { - log.Warnw("ignoring repeated indexer message", "sender", msgInfo.peerID) - return true - } - } - - err := timeWindow.Add() - if err != nil { - log.Warnw("ignoring indexer message", "sender", msgInfo.peerID, "err", err) - return true - } - - msgInfo.lastCid = msgCid - - return false -} - -func (v *IndexerMessageValidator) authenticateMessage(ctx context.Context, minerAddress address.Address, peerID peer.ID) error { - ts, err := v.chainApi.ChainHead(ctx) - if err != nil { - return err - } - - minerInfo, err := v.stateApi.StateMinerInfo(ctx, minerAddress, ts.Key()) - if err != nil { - return err - } - - if minerInfo.PeerId == nil { - return xerrors.New("no peer id for miner") - } - if *minerInfo.PeerId != peerID { - return xerrors.New("miner id does not map to peer that sent message") - } - - return nil -} diff --git a/chain/sub/incoming_test.go b/chain/sub/incoming_test.go index d8ee99b7f12..aeac1e27570 100644 --- a/chain/sub/incoming_test.go +++ b/chain/sub/incoming_test.go @@ -2,23 +2,14 @@ package sub import ( - "bytes" "context" "testing" - "github.com/golang/mock/gomock" blocks "github.com/ipfs/go-block-format" "github.com/ipfs/go-cid" - "github.com/ipni/go-libipni/announce/message" - pubsub "github.com/libp2p/go-libp2p-pubsub" - pb "github.com/libp2p/go-libp2p-pubsub/pb" - "github.com/libp2p/go-libp2p/core/crypto" - "github.com/libp2p/go-libp2p/core/peer" "github.com/filecoin-project/go-address" - "github.com/filecoin-project/lotus/api" - "github.com/filecoin-project/lotus/api/mocks" "github.com/filecoin-project/lotus/chain/types" ) @@ -74,185 +65,3 @@ func TestFetchCidsWithDedup(t *testing.T) { t.Fatalf("there is a nil message: first %p, last %p", res[0], res[len(res)-1]) } } - -func TestIndexerMessageValidator_Validate(t *testing.T) { - validCid, err := cid.Decode("QmbpDgg5kRLDgMxS8vPKNFXEcA6D5MC4CkuUdSWDVtHPGK") - if err != nil { - t.Fatal(err) - } - tests := []struct { - name string - selfPID string - senderPID string - extraData []byte - wantValidation pubsub.ValidationResult - }{ - { - name: "invalid extra data is rejected", - selfPID: "12D3KooWQiCbqEStCkdqUvr69gQsrp9urYJZUCkzsQXia7mbqbFW", - senderPID: "12D3KooWE8yt84RVwW3sFcd6WMjbUdWrZer2YtT4dmtj3dHdahSZ", - extraData: []byte("f0127896"), // note, casting encoded address to byte is invalid. - wantValidation: pubsub.ValidationReject, - }, - { - name: "same sender and receiver is ignored", - selfPID: "12D3KooWQiCbqEStCkdqUvr69gQsrp9urYJZUCkzsQXia7mbqbFW", - senderPID: "12D3KooWQiCbqEStCkdqUvr69gQsrp9urYJZUCkzsQXia7mbqbFW", - wantValidation: pubsub.ValidationIgnore, - }, - } - for _, tc := range tests { - tc := tc - t.Run(tc.name, func(t *testing.T) { - mc := gomock.NewController(t) - node := mocks.NewMockFullNode(mc) - subject := NewIndexerMessageValidator(peer.ID(tc.selfPID), node, node) - message := message.Message{ - Cid: validCid, - Addrs: nil, - ExtraData: tc.extraData, - } - buf := bytes.NewBuffer(nil) - if err := message.MarshalCBOR(buf); err != nil { - t.Fatal(err) - } - - topic := "topic" - pbm := &pb.Message{ - Data: buf.Bytes(), - Topic: &topic, - From: nil, - Seqno: nil, - } - validate := subject.Validate(context.Background(), peer.ID(tc.senderPID), &pubsub.Message{ - Message: pbm, - ReceivedFrom: peer.ID(tc.senderPID), - ValidatorData: nil, - }) - - if validate != tc.wantValidation { - t.Fatalf("expected %v but got %v", tc.wantValidation, validate) - } - }) - } -} - -func TestIdxValidator(t *testing.T) { - validCid, err := cid.Decode("QmbpDgg5kRLDgMxS8vPKNFXEcA6D5MC4CkuUdSWDVtHPGK") - if err != nil { - t.Fatal(err) - } - - addr, err := address.NewFromString("f01024") - if err != nil { - t.Fatal(err) - } - - buf1, err := addr.MarshalBinary() - if err != nil { - t.Fatal(err) - } - - selfPID := "12D3KooWQiCbqEStCkdqUvr69gQsrp9urYJZUCkzsQXia7mbqbFW" - senderPID := "12D3KooWE8yt84RVwW3sFcd6WMjbUdWrZer2YtT4dmtj3dHdahSZ" - extraData := buf1 - - mc := gomock.NewController(t) - node := mocks.NewMockFullNode(mc) - node.EXPECT().ChainHead(gomock.Any()).Return(nil, nil).AnyTimes() - - subject := NewIndexerMessageValidator(peer.ID(selfPID), node, node) - message := message.Message{ - Cid: validCid, - Addrs: nil, - ExtraData: extraData, - } - buf := bytes.NewBuffer(nil) - if err := message.MarshalCBOR(buf); err != nil { - t.Fatal(err) - } - - topic := "topic" - - privk, _, err := crypto.GenerateKeyPair(crypto.RSA, 2048) - if err != nil { - t.Fatal(err) - } - id, err := peer.IDFromPublicKey(privk.GetPublic()) - if err != nil { - t.Fatal(err) - } - - node.EXPECT().StateMinerInfo(gomock.Any(), gomock.Any(), gomock.Any()).Return(api.MinerInfo{PeerId: &id}, nil).AnyTimes() - - pbm := &pb.Message{ - Data: buf.Bytes(), - Topic: &topic, - From: []byte(id), - Seqno: []byte{1, 1, 1, 1, 2, 2, 2, 2}, - } - validate := subject.Validate(context.Background(), peer.ID(senderPID), &pubsub.Message{ - Message: pbm, - ReceivedFrom: peer.ID("f01024"), // peer.ID(senderPID), - ValidatorData: nil, - }) - if validate != pubsub.ValidationAccept { - t.Error("Expected to receive ValidationAccept") - } - msgInfo, cached := subject.peerCache.Get(addr) - if !cached { - t.Fatal("Message info should be in cache") - } - seqno := msgInfo.lastSeqno - msgInfo.rateLimit = nil // prevent interference from rate limiting - - t.Log("Sending DoS msg") - privk, _, err = crypto.GenerateKeyPair(crypto.RSA, 2048) - if err != nil { - t.Fatal(err) - } - id2, err := peer.IDFromPublicKey(privk.GetPublic()) - if err != nil { - t.Fatal(err) - } - pbm = &pb.Message{ - Data: buf.Bytes(), - Topic: &topic, - From: []byte(id2), - Seqno: []byte{255, 255, 255, 255, 255, 255, 255, 255}, - } - validate = subject.Validate(context.Background(), peer.ID(senderPID), &pubsub.Message{ - Message: pbm, - ReceivedFrom: peer.ID(senderPID), - ValidatorData: nil, - }) - if validate != pubsub.ValidationReject { - t.Error("Expected to get ValidationReject") - } - msgInfo, cached = subject.peerCache.Get(addr) - if !cached { - t.Fatal("Message info should be in cache") - } - msgInfo.rateLimit = nil // prevent interference from rate limiting - - // Check if DoS is possible. - if msgInfo.lastSeqno != seqno { - t.Fatal("Sequence number should not have been updated") - } - - t.Log("Sending another valid message from miner...") - pbm = &pb.Message{ - Data: buf.Bytes(), - Topic: &topic, - From: []byte(id), - Seqno: []byte{1, 1, 1, 1, 2, 2, 2, 3}, - } - validate = subject.Validate(context.Background(), peer.ID(senderPID), &pubsub.Message{ - Message: pbm, - ReceivedFrom: peer.ID("f01024"), // peer.ID(senderPID), - ValidatorData: nil, - }) - if validate != pubsub.ValidationAccept { - t.Fatal("Did not receive ValidationAccept") - } -} diff --git a/go.mod b/go.mod index 99831b20ed1..8fe09b33115 100644 --- a/go.mod +++ b/go.mod @@ -99,7 +99,6 @@ require ( github.com/ipld/go-car v0.6.2 github.com/ipld/go-car/v2 v2.13.1 github.com/ipld/go-ipld-prime v0.21.0 - github.com/ipni/go-libipni v0.0.8 github.com/jackc/pgerrcode v0.0.0-20240316143900-6e2875d9b438 github.com/jpillora/backoff v1.0.0 github.com/kelseyhightower/envconfig v1.4.0 diff --git a/go.sum b/go.sum index 2136ad0650a..0d843ff4ceb 100644 --- a/go.sum +++ b/go.sum @@ -701,8 +701,6 @@ github.com/ipld/go-ipld-prime v0.21.0/go.mod h1:3RLqy//ERg/y5oShXXdx5YIp50cFGOan github.com/ipld/go-ipld-prime-proto v0.0.0-20191113031812-e32bd156a1e5/go.mod h1:gcvzoEDBjwycpXt3LBE061wT9f46szXGHAmj9uoP6fU= github.com/ipld/go-ipld-prime/storage/bsadapter v0.0.0-20230102063945-1a409dc236dd h1:gMlw/MhNr2Wtp5RwGdsW23cs+yCuj9k2ON7i9MiJlRo= github.com/ipld/go-ipld-prime/storage/bsadapter v0.0.0-20230102063945-1a409dc236dd/go.mod h1:wZ8hH8UxeryOs4kJEJaiui/s00hDSbE37OKsL47g+Sw= -github.com/ipni/go-libipni v0.0.8 h1:0wLfZRSBG84swmZwmaLKul/iB/FlBkkl9ZcR1ub+Z+w= -github.com/ipni/go-libipni v0.0.8/go.mod h1:paYP9U4N3/vOzGCuN9kU972vtvw9JUcQjOKyiCFGwRk= github.com/ipsn/go-secp256k1 v0.0.0-20180726113642-9d62b9f0bc52 h1:QG4CGBqCeuBo6aZlGAamSkxWdgWfZGeE49eUOWJPA4c= github.com/ipsn/go-secp256k1 v0.0.0-20180726113642-9d62b9f0bc52/go.mod h1:fdg+/X9Gg4AsAIzWpEHwnqd+QY3b7lajxyjE1m4hkq4= github.com/jackc/pgerrcode v0.0.0-20240316143900-6e2875d9b438 h1:Dj0L5fhJ9F82ZJyVOmBx6msDp/kfd1t9GRfny/mfJA0= diff --git a/node/builder.go b/node/builder.go index 7d03e9593a4..98b40355dfa 100644 --- a/node/builder.go +++ b/node/builder.go @@ -104,6 +104,13 @@ const ( HandleIncomingMessagesKey HandlePaymentChannelManagerKey + // Deprecated: RelayIndexerMessagesKey is no longer used, since IPNI has + // deprecated the use of GossipSub for propagating advertisements. Use IPNI Sync + // protocol instead. + // + // See: + // - https://github.com/ipni/specs/blob/main/IPNI_HTTP_PROVIDER.md + // - https://github.com/ipni/go-libipni/tree/main/dagsync/ipnisync RelayIndexerMessagesKey // miner diff --git a/node/builder_chain.go b/node/builder_chain.go index 72d6f2ee7f1..1293dcd0c76 100644 --- a/node/builder_chain.go +++ b/node/builder_chain.go @@ -129,8 +129,6 @@ var ChainNode = Options( Override(new(*full.GasPriceCache), full.NewGasPriceCache), - Override(RelayIndexerMessagesKey, modules.RelayIndexerMessages), - // Lite node API ApplyIf(isLiteNode, Override(new(messagepool.Provider), messagepool.NewProviderLite), diff --git a/node/modules/lp2p/pubsub.go b/node/modules/lp2p/pubsub.go index 20a222cd21c..a8560a539ea 100644 --- a/node/modules/lp2p/pubsub.go +++ b/node/modules/lp2p/pubsub.go @@ -145,22 +145,6 @@ func GossipSub(in GossipIn) (service *pubsub.PubSub, err error) { InvalidMessageDeliveriesDecay: pubsub.ScoreParameterDecay(time.Hour), } - ingestTopicParams := &pubsub.TopicScoreParams{ - // expected ~0.5 confirmed deals / min. sampled - TopicWeight: 0.1, - - TimeInMeshWeight: 0.00027, // ~1/3600 - TimeInMeshQuantum: time.Second, - TimeInMeshCap: 1, - - FirstMessageDeliveriesWeight: 0.5, - FirstMessageDeliveriesDecay: pubsub.ScoreParameterDecay(time.Hour), - FirstMessageDeliveriesCap: 100, // allowing for burstiness - - InvalidMessageDeliveriesWeight: -1000, - InvalidMessageDeliveriesDecay: pubsub.ScoreParameterDecay(time.Hour), - } - topicParams := map[string]*pubsub.TopicScoreParams{ build.BlocksTopic(in.Nn): { // expected 10 blocks/min @@ -255,9 +239,6 @@ func GossipSub(in GossipIn) (service *pubsub.PubSub, err error) { drandTopics = append(drandTopics, topic) } - // Index ingestion whitelist - topicParams[build.IndexerIngestTopic(in.Nn)] = ingestTopicParams - // IP colocation whitelist var ipcoloWhitelist []*net.IPNet for _, cidr := range in.Cfg.IPColocationWhitelist { @@ -382,7 +363,6 @@ func GossipSub(in GossipIn) (service *pubsub.PubSub, err error) { allowTopics := []string{ build.BlocksTopic(in.Nn), build.MessagesTopic(in.Nn), - build.IndexerIngestTopic(in.Nn), } allowTopics = append(allowTopics, drandTopics...) diff --git a/node/modules/services.go b/node/modules/services.go index 37ae325d3ec..267bbe0b81d 100644 --- a/node/modules/services.go +++ b/node/modules/services.go @@ -31,7 +31,6 @@ import ( "github.com/filecoin-project/lotus/journal/fsjournal" "github.com/filecoin-project/lotus/lib/peermgr" "github.com/filecoin-project/lotus/node/hello" - "github.com/filecoin-project/lotus/node/impl/full" "github.com/filecoin-project/lotus/node/modules/dtypes" "github.com/filecoin-project/lotus/node/modules/helpers" "github.com/filecoin-project/lotus/node/repo" @@ -189,36 +188,6 @@ func HandleIncomingMessages(mctx helpers.MetricsCtx, lc fx.Lifecycle, ps *pubsub waitForSync(stmgr, pubsubMsgsSyncEpochs, subscribe) } -func RelayIndexerMessages(lc fx.Lifecycle, ps *pubsub.PubSub, nn dtypes.NetworkName, h host.Host, chainModule full.ChainModuleAPI, stateModule full.StateModuleAPI) error { - topicName := build.IndexerIngestTopic(nn) - - v := sub.NewIndexerMessageValidator(h.ID(), chainModule, stateModule) - - if err := ps.RegisterTopicValidator(topicName, v.Validate); err != nil { - return xerrors.Errorf("failed to register validator for topic %s, err: %w", topicName, err) - } - - topicHandle, err := ps.Join(topicName) - if err != nil { - return xerrors.Errorf("failed to join pubsub topic %s: %w", topicName, err) - } - cancelFunc, err := topicHandle.Relay() - if err != nil { - return xerrors.Errorf("failed to relay to pubsub messages for topic %s: %w", topicName, err) - } - - // Cancel message relay on shutdown. - lc.Append(fx.Hook{ - OnStop: func(_ context.Context) error { - cancelFunc() - return nil - }, - }) - - log.Infof("relaying messages for pubsub topic %s", topicName) - return nil -} - type RandomBeaconParams struct { fx.In From f18d1541a564073af0e80e12970c826e43d3b385 Mon Sep 17 00:00:00 2001 From: Jakub Sztandera Date: Tue, 10 Dec 2024 16:32:22 +0100 Subject: [PATCH 2/9] feat: optimize ForEachClaim to return only eligible claims Avoids double AMT traversal Signed-off-by: Jakub Sztandera --- chain/actors/builtin/power/actor.go.template | 2 +- chain/actors/builtin/power/power.go | 2 +- chain/actors/builtin/power/state.go.template | 28 +++++++++++++++---- chain/actors/builtin/power/v0.go | 26 +++++++++++++---- chain/actors/builtin/power/v10.go | 25 +++++++++++++---- chain/actors/builtin/power/v11.go | 25 +++++++++++++---- chain/actors/builtin/power/v12.go | 25 +++++++++++++---- chain/actors/builtin/power/v13.go | 25 +++++++++++++---- chain/actors/builtin/power/v14.go | 25 +++++++++++++---- chain/actors/builtin/power/v15.go | 25 +++++++++++++---- chain/actors/builtin/power/v16.go | 25 +++++++++++++---- chain/actors/builtin/power/v2.go | 26 +++++++++++++---- chain/actors/builtin/power/v3.go | 26 +++++++++++++---- chain/actors/builtin/power/v4.go | 26 +++++++++++++---- chain/actors/builtin/power/v5.go | 26 +++++++++++++---- chain/actors/builtin/power/v6.go | 26 +++++++++++++---- chain/actors/builtin/power/v7.go | 26 +++++++++++++---- chain/actors/builtin/power/v8.go | 25 +++++++++++++---- chain/actors/builtin/power/v9.go | 25 +++++++++++++---- chain/lf3/ec.go | 11 +------- cmd/lotus-shed/sectors.go | 2 +- .../simulation/stages/precommit_stage.go | 2 +- .../simulation/stages/provecommit_stage.go | 2 +- .../simulation/stages/windowpost_stage.go | 2 +- go.mod | 12 ++++---- go.sum | 24 ++++++++-------- tools/stats/points/collect.go | 2 +- 27 files changed, 376 insertions(+), 120 deletions(-) diff --git a/chain/actors/builtin/power/actor.go.template b/chain/actors/builtin/power/actor.go.template index 2dbb04dc1ea..6364630be12 100644 --- a/chain/actors/builtin/power/actor.go.template +++ b/chain/actors/builtin/power/actor.go.template @@ -99,7 +99,7 @@ type State interface { MinerPower(address.Address) (Claim, bool, error) MinerNominalPowerMeetsConsensusMinimum(address.Address) (bool, error) ListAllMiners() ([]address.Address, error) - ForEachClaim(func(miner address.Address, claim Claim) error) error + ForEachClaim(cb func(miner address.Address, claim Claim) error, onlyEligible bool) error ClaimsChanged(State) (bool, error) // Testing or genesis setup only diff --git a/chain/actors/builtin/power/power.go b/chain/actors/builtin/power/power.go index 1347a483d80..ecc79c6a453 100644 --- a/chain/actors/builtin/power/power.go +++ b/chain/actors/builtin/power/power.go @@ -183,7 +183,7 @@ type State interface { MinerPower(address.Address) (Claim, bool, error) MinerNominalPowerMeetsConsensusMinimum(address.Address) (bool, error) ListAllMiners() ([]address.Address, error) - ForEachClaim(func(miner address.Address, claim Claim) error) error + ForEachClaim(cb func(miner address.Address, claim Claim) error, onlyEligible bool) error ClaimsChanged(State) (bool, error) // Testing or genesis setup only diff --git a/chain/actors/builtin/power/state.go.template b/chain/actors/builtin/power/state.go.template index 876fc31d538..5973b258817 100644 --- a/chain/actors/builtin/power/state.go.template +++ b/chain/actors/builtin/power/state.go.template @@ -147,7 +147,7 @@ func (s *state{{.v}}) ListAllMiners() ([]address.Address, error) { return miners, nil } -func (s *state{{.v}}) ForEachClaim(cb func(miner address.Address, claim Claim) error) error { +func (s *state{{.v}}) ForEachClaim(cb func(miner address.Address, claim Claim) error, onlyEligible bool) error { claims, err := s.claims() if err != nil { return err @@ -159,10 +159,28 @@ func (s *state{{.v}}) ForEachClaim(cb func(miner address.Address, claim Claim) e if err != nil { return err } - return cb(a, Claim{ - RawBytePower: claim.RawBytePower, - QualityAdjPower: claim.QualityAdjPower, - }) + if !onlyEligible { + return cb(a, Claim{ + RawBytePower: claim.RawBytePower, + QualityAdjPower: claim.QualityAdjPower, + }) + } + {{if (ge .v 8)}} + eligible, err := s.State.ClaimMeetsConsensusMinimums(&claim) + {{else}} + //slow path + eligible, err := s.State.MinerNominalPowerMeetsConsensusMinimum(s.store, a) + {{end}} + if err != nil { + return fmt.Errorf("checking consensus minimums: %w", err) + } + if eligible { + return cb(a, Claim{ + RawBytePower: claim.RawBytePower, + QualityAdjPower: claim.QualityAdjPower, + }) + } + return nil }) } diff --git a/chain/actors/builtin/power/v0.go b/chain/actors/builtin/power/v0.go index 66ffa23c6df..726cf689b11 100644 --- a/chain/actors/builtin/power/v0.go +++ b/chain/actors/builtin/power/v0.go @@ -130,7 +130,7 @@ func (s *state0) ListAllMiners() ([]address.Address, error) { return miners, nil } -func (s *state0) ForEachClaim(cb func(miner address.Address, claim Claim) error) error { +func (s *state0) ForEachClaim(cb func(miner address.Address, claim Claim) error, onlyEligible bool) error { claims, err := s.claims() if err != nil { return err @@ -142,10 +142,26 @@ func (s *state0) ForEachClaim(cb func(miner address.Address, claim Claim) error) if err != nil { return err } - return cb(a, Claim{ - RawBytePower: claim.RawBytePower, - QualityAdjPower: claim.QualityAdjPower, - }) + if !onlyEligible { + return cb(a, Claim{ + RawBytePower: claim.RawBytePower, + QualityAdjPower: claim.QualityAdjPower, + }) + } + + //slow path + eligible, err := s.State.MinerNominalPowerMeetsConsensusMinimum(s.store, a) + + if err != nil { + return fmt.Errorf("checking consensus minimums: %w", err) + } + if eligible { + return cb(a, Claim{ + RawBytePower: claim.RawBytePower, + QualityAdjPower: claim.QualityAdjPower, + }) + } + return nil }) } diff --git a/chain/actors/builtin/power/v10.go b/chain/actors/builtin/power/v10.go index bf51b014873..1bb2e52b53f 100644 --- a/chain/actors/builtin/power/v10.go +++ b/chain/actors/builtin/power/v10.go @@ -126,7 +126,7 @@ func (s *state10) ListAllMiners() ([]address.Address, error) { return miners, nil } -func (s *state10) ForEachClaim(cb func(miner address.Address, claim Claim) error) error { +func (s *state10) ForEachClaim(cb func(miner address.Address, claim Claim) error, onlyEligible bool) error { claims, err := s.claims() if err != nil { return err @@ -138,10 +138,25 @@ func (s *state10) ForEachClaim(cb func(miner address.Address, claim Claim) error if err != nil { return err } - return cb(a, Claim{ - RawBytePower: claim.RawBytePower, - QualityAdjPower: claim.QualityAdjPower, - }) + if !onlyEligible { + return cb(a, Claim{ + RawBytePower: claim.RawBytePower, + QualityAdjPower: claim.QualityAdjPower, + }) + } + + eligible, err := s.State.ClaimMeetsConsensusMinimums(&claim) + + if err != nil { + return fmt.Errorf("checking consensus minimums: %w", err) + } + if eligible { + return cb(a, Claim{ + RawBytePower: claim.RawBytePower, + QualityAdjPower: claim.QualityAdjPower, + }) + } + return nil }) } diff --git a/chain/actors/builtin/power/v11.go b/chain/actors/builtin/power/v11.go index 817b400c3bf..c974018313e 100644 --- a/chain/actors/builtin/power/v11.go +++ b/chain/actors/builtin/power/v11.go @@ -126,7 +126,7 @@ func (s *state11) ListAllMiners() ([]address.Address, error) { return miners, nil } -func (s *state11) ForEachClaim(cb func(miner address.Address, claim Claim) error) error { +func (s *state11) ForEachClaim(cb func(miner address.Address, claim Claim) error, onlyEligible bool) error { claims, err := s.claims() if err != nil { return err @@ -138,10 +138,25 @@ func (s *state11) ForEachClaim(cb func(miner address.Address, claim Claim) error if err != nil { return err } - return cb(a, Claim{ - RawBytePower: claim.RawBytePower, - QualityAdjPower: claim.QualityAdjPower, - }) + if !onlyEligible { + return cb(a, Claim{ + RawBytePower: claim.RawBytePower, + QualityAdjPower: claim.QualityAdjPower, + }) + } + + eligible, err := s.State.ClaimMeetsConsensusMinimums(&claim) + + if err != nil { + return fmt.Errorf("checking consensus minimums: %w", err) + } + if eligible { + return cb(a, Claim{ + RawBytePower: claim.RawBytePower, + QualityAdjPower: claim.QualityAdjPower, + }) + } + return nil }) } diff --git a/chain/actors/builtin/power/v12.go b/chain/actors/builtin/power/v12.go index d8f8ee51b50..d57f225d252 100644 --- a/chain/actors/builtin/power/v12.go +++ b/chain/actors/builtin/power/v12.go @@ -126,7 +126,7 @@ func (s *state12) ListAllMiners() ([]address.Address, error) { return miners, nil } -func (s *state12) ForEachClaim(cb func(miner address.Address, claim Claim) error) error { +func (s *state12) ForEachClaim(cb func(miner address.Address, claim Claim) error, onlyEligible bool) error { claims, err := s.claims() if err != nil { return err @@ -138,10 +138,25 @@ func (s *state12) ForEachClaim(cb func(miner address.Address, claim Claim) error if err != nil { return err } - return cb(a, Claim{ - RawBytePower: claim.RawBytePower, - QualityAdjPower: claim.QualityAdjPower, - }) + if !onlyEligible { + return cb(a, Claim{ + RawBytePower: claim.RawBytePower, + QualityAdjPower: claim.QualityAdjPower, + }) + } + + eligible, err := s.State.ClaimMeetsConsensusMinimums(&claim) + + if err != nil { + return fmt.Errorf("checking consensus minimums: %w", err) + } + if eligible { + return cb(a, Claim{ + RawBytePower: claim.RawBytePower, + QualityAdjPower: claim.QualityAdjPower, + }) + } + return nil }) } diff --git a/chain/actors/builtin/power/v13.go b/chain/actors/builtin/power/v13.go index 8583e19ea79..f2cbe19edda 100644 --- a/chain/actors/builtin/power/v13.go +++ b/chain/actors/builtin/power/v13.go @@ -126,7 +126,7 @@ func (s *state13) ListAllMiners() ([]address.Address, error) { return miners, nil } -func (s *state13) ForEachClaim(cb func(miner address.Address, claim Claim) error) error { +func (s *state13) ForEachClaim(cb func(miner address.Address, claim Claim) error, onlyEligible bool) error { claims, err := s.claims() if err != nil { return err @@ -138,10 +138,25 @@ func (s *state13) ForEachClaim(cb func(miner address.Address, claim Claim) error if err != nil { return err } - return cb(a, Claim{ - RawBytePower: claim.RawBytePower, - QualityAdjPower: claim.QualityAdjPower, - }) + if !onlyEligible { + return cb(a, Claim{ + RawBytePower: claim.RawBytePower, + QualityAdjPower: claim.QualityAdjPower, + }) + } + + eligible, err := s.State.ClaimMeetsConsensusMinimums(&claim) + + if err != nil { + return fmt.Errorf("checking consensus minimums: %w", err) + } + if eligible { + return cb(a, Claim{ + RawBytePower: claim.RawBytePower, + QualityAdjPower: claim.QualityAdjPower, + }) + } + return nil }) } diff --git a/chain/actors/builtin/power/v14.go b/chain/actors/builtin/power/v14.go index 0377003cb07..759b881cac2 100644 --- a/chain/actors/builtin/power/v14.go +++ b/chain/actors/builtin/power/v14.go @@ -126,7 +126,7 @@ func (s *state14) ListAllMiners() ([]address.Address, error) { return miners, nil } -func (s *state14) ForEachClaim(cb func(miner address.Address, claim Claim) error) error { +func (s *state14) ForEachClaim(cb func(miner address.Address, claim Claim) error, onlyEligible bool) error { claims, err := s.claims() if err != nil { return err @@ -138,10 +138,25 @@ func (s *state14) ForEachClaim(cb func(miner address.Address, claim Claim) error if err != nil { return err } - return cb(a, Claim{ - RawBytePower: claim.RawBytePower, - QualityAdjPower: claim.QualityAdjPower, - }) + if !onlyEligible { + return cb(a, Claim{ + RawBytePower: claim.RawBytePower, + QualityAdjPower: claim.QualityAdjPower, + }) + } + + eligible, err := s.State.ClaimMeetsConsensusMinimums(&claim) + + if err != nil { + return fmt.Errorf("checking consensus minimums: %w", err) + } + if eligible { + return cb(a, Claim{ + RawBytePower: claim.RawBytePower, + QualityAdjPower: claim.QualityAdjPower, + }) + } + return nil }) } diff --git a/chain/actors/builtin/power/v15.go b/chain/actors/builtin/power/v15.go index 6bdebf9df72..679904bef26 100644 --- a/chain/actors/builtin/power/v15.go +++ b/chain/actors/builtin/power/v15.go @@ -126,7 +126,7 @@ func (s *state15) ListAllMiners() ([]address.Address, error) { return miners, nil } -func (s *state15) ForEachClaim(cb func(miner address.Address, claim Claim) error) error { +func (s *state15) ForEachClaim(cb func(miner address.Address, claim Claim) error, onlyEligible bool) error { claims, err := s.claims() if err != nil { return err @@ -138,10 +138,25 @@ func (s *state15) ForEachClaim(cb func(miner address.Address, claim Claim) error if err != nil { return err } - return cb(a, Claim{ - RawBytePower: claim.RawBytePower, - QualityAdjPower: claim.QualityAdjPower, - }) + if !onlyEligible { + return cb(a, Claim{ + RawBytePower: claim.RawBytePower, + QualityAdjPower: claim.QualityAdjPower, + }) + } + + eligible, err := s.State.ClaimMeetsConsensusMinimums(&claim) + + if err != nil { + return fmt.Errorf("checking consensus minimums: %w", err) + } + if eligible { + return cb(a, Claim{ + RawBytePower: claim.RawBytePower, + QualityAdjPower: claim.QualityAdjPower, + }) + } + return nil }) } diff --git a/chain/actors/builtin/power/v16.go b/chain/actors/builtin/power/v16.go index 7617c8fd624..2113f338903 100644 --- a/chain/actors/builtin/power/v16.go +++ b/chain/actors/builtin/power/v16.go @@ -126,7 +126,7 @@ func (s *state16) ListAllMiners() ([]address.Address, error) { return miners, nil } -func (s *state16) ForEachClaim(cb func(miner address.Address, claim Claim) error) error { +func (s *state16) ForEachClaim(cb func(miner address.Address, claim Claim) error, onlyEligible bool) error { claims, err := s.claims() if err != nil { return err @@ -138,10 +138,25 @@ func (s *state16) ForEachClaim(cb func(miner address.Address, claim Claim) error if err != nil { return err } - return cb(a, Claim{ - RawBytePower: claim.RawBytePower, - QualityAdjPower: claim.QualityAdjPower, - }) + if !onlyEligible { + return cb(a, Claim{ + RawBytePower: claim.RawBytePower, + QualityAdjPower: claim.QualityAdjPower, + }) + } + + eligible, err := s.State.ClaimMeetsConsensusMinimums(&claim) + + if err != nil { + return fmt.Errorf("checking consensus minimums: %w", err) + } + if eligible { + return cb(a, Claim{ + RawBytePower: claim.RawBytePower, + QualityAdjPower: claim.QualityAdjPower, + }) + } + return nil }) } diff --git a/chain/actors/builtin/power/v2.go b/chain/actors/builtin/power/v2.go index 6a36f81cd93..ae7d0e0a7a0 100644 --- a/chain/actors/builtin/power/v2.go +++ b/chain/actors/builtin/power/v2.go @@ -130,7 +130,7 @@ func (s *state2) ListAllMiners() ([]address.Address, error) { return miners, nil } -func (s *state2) ForEachClaim(cb func(miner address.Address, claim Claim) error) error { +func (s *state2) ForEachClaim(cb func(miner address.Address, claim Claim) error, onlyEligible bool) error { claims, err := s.claims() if err != nil { return err @@ -142,10 +142,26 @@ func (s *state2) ForEachClaim(cb func(miner address.Address, claim Claim) error) if err != nil { return err } - return cb(a, Claim{ - RawBytePower: claim.RawBytePower, - QualityAdjPower: claim.QualityAdjPower, - }) + if !onlyEligible { + return cb(a, Claim{ + RawBytePower: claim.RawBytePower, + QualityAdjPower: claim.QualityAdjPower, + }) + } + + //slow path + eligible, err := s.State.MinerNominalPowerMeetsConsensusMinimum(s.store, a) + + if err != nil { + return fmt.Errorf("checking consensus minimums: %w", err) + } + if eligible { + return cb(a, Claim{ + RawBytePower: claim.RawBytePower, + QualityAdjPower: claim.QualityAdjPower, + }) + } + return nil }) } diff --git a/chain/actors/builtin/power/v3.go b/chain/actors/builtin/power/v3.go index 3db90fbe731..3427f2d14e1 100644 --- a/chain/actors/builtin/power/v3.go +++ b/chain/actors/builtin/power/v3.go @@ -126,7 +126,7 @@ func (s *state3) ListAllMiners() ([]address.Address, error) { return miners, nil } -func (s *state3) ForEachClaim(cb func(miner address.Address, claim Claim) error) error { +func (s *state3) ForEachClaim(cb func(miner address.Address, claim Claim) error, onlyEligible bool) error { claims, err := s.claims() if err != nil { return err @@ -138,10 +138,26 @@ func (s *state3) ForEachClaim(cb func(miner address.Address, claim Claim) error) if err != nil { return err } - return cb(a, Claim{ - RawBytePower: claim.RawBytePower, - QualityAdjPower: claim.QualityAdjPower, - }) + if !onlyEligible { + return cb(a, Claim{ + RawBytePower: claim.RawBytePower, + QualityAdjPower: claim.QualityAdjPower, + }) + } + + //slow path + eligible, err := s.State.MinerNominalPowerMeetsConsensusMinimum(s.store, a) + + if err != nil { + return fmt.Errorf("checking consensus minimums: %w", err) + } + if eligible { + return cb(a, Claim{ + RawBytePower: claim.RawBytePower, + QualityAdjPower: claim.QualityAdjPower, + }) + } + return nil }) } diff --git a/chain/actors/builtin/power/v4.go b/chain/actors/builtin/power/v4.go index cac6d1cad54..bf9c1080139 100644 --- a/chain/actors/builtin/power/v4.go +++ b/chain/actors/builtin/power/v4.go @@ -126,7 +126,7 @@ func (s *state4) ListAllMiners() ([]address.Address, error) { return miners, nil } -func (s *state4) ForEachClaim(cb func(miner address.Address, claim Claim) error) error { +func (s *state4) ForEachClaim(cb func(miner address.Address, claim Claim) error, onlyEligible bool) error { claims, err := s.claims() if err != nil { return err @@ -138,10 +138,26 @@ func (s *state4) ForEachClaim(cb func(miner address.Address, claim Claim) error) if err != nil { return err } - return cb(a, Claim{ - RawBytePower: claim.RawBytePower, - QualityAdjPower: claim.QualityAdjPower, - }) + if !onlyEligible { + return cb(a, Claim{ + RawBytePower: claim.RawBytePower, + QualityAdjPower: claim.QualityAdjPower, + }) + } + + //slow path + eligible, err := s.State.MinerNominalPowerMeetsConsensusMinimum(s.store, a) + + if err != nil { + return fmt.Errorf("checking consensus minimums: %w", err) + } + if eligible { + return cb(a, Claim{ + RawBytePower: claim.RawBytePower, + QualityAdjPower: claim.QualityAdjPower, + }) + } + return nil }) } diff --git a/chain/actors/builtin/power/v5.go b/chain/actors/builtin/power/v5.go index 7e2450f81b7..d54dfeeb659 100644 --- a/chain/actors/builtin/power/v5.go +++ b/chain/actors/builtin/power/v5.go @@ -126,7 +126,7 @@ func (s *state5) ListAllMiners() ([]address.Address, error) { return miners, nil } -func (s *state5) ForEachClaim(cb func(miner address.Address, claim Claim) error) error { +func (s *state5) ForEachClaim(cb func(miner address.Address, claim Claim) error, onlyEligible bool) error { claims, err := s.claims() if err != nil { return err @@ -138,10 +138,26 @@ func (s *state5) ForEachClaim(cb func(miner address.Address, claim Claim) error) if err != nil { return err } - return cb(a, Claim{ - RawBytePower: claim.RawBytePower, - QualityAdjPower: claim.QualityAdjPower, - }) + if !onlyEligible { + return cb(a, Claim{ + RawBytePower: claim.RawBytePower, + QualityAdjPower: claim.QualityAdjPower, + }) + } + + //slow path + eligible, err := s.State.MinerNominalPowerMeetsConsensusMinimum(s.store, a) + + if err != nil { + return fmt.Errorf("checking consensus minimums: %w", err) + } + if eligible { + return cb(a, Claim{ + RawBytePower: claim.RawBytePower, + QualityAdjPower: claim.QualityAdjPower, + }) + } + return nil }) } diff --git a/chain/actors/builtin/power/v6.go b/chain/actors/builtin/power/v6.go index 493b278ec09..c033797d4d8 100644 --- a/chain/actors/builtin/power/v6.go +++ b/chain/actors/builtin/power/v6.go @@ -126,7 +126,7 @@ func (s *state6) ListAllMiners() ([]address.Address, error) { return miners, nil } -func (s *state6) ForEachClaim(cb func(miner address.Address, claim Claim) error) error { +func (s *state6) ForEachClaim(cb func(miner address.Address, claim Claim) error, onlyEligible bool) error { claims, err := s.claims() if err != nil { return err @@ -138,10 +138,26 @@ func (s *state6) ForEachClaim(cb func(miner address.Address, claim Claim) error) if err != nil { return err } - return cb(a, Claim{ - RawBytePower: claim.RawBytePower, - QualityAdjPower: claim.QualityAdjPower, - }) + if !onlyEligible { + return cb(a, Claim{ + RawBytePower: claim.RawBytePower, + QualityAdjPower: claim.QualityAdjPower, + }) + } + + //slow path + eligible, err := s.State.MinerNominalPowerMeetsConsensusMinimum(s.store, a) + + if err != nil { + return fmt.Errorf("checking consensus minimums: %w", err) + } + if eligible { + return cb(a, Claim{ + RawBytePower: claim.RawBytePower, + QualityAdjPower: claim.QualityAdjPower, + }) + } + return nil }) } diff --git a/chain/actors/builtin/power/v7.go b/chain/actors/builtin/power/v7.go index bfa3fea2ffd..08df4f57d75 100644 --- a/chain/actors/builtin/power/v7.go +++ b/chain/actors/builtin/power/v7.go @@ -126,7 +126,7 @@ func (s *state7) ListAllMiners() ([]address.Address, error) { return miners, nil } -func (s *state7) ForEachClaim(cb func(miner address.Address, claim Claim) error) error { +func (s *state7) ForEachClaim(cb func(miner address.Address, claim Claim) error, onlyEligible bool) error { claims, err := s.claims() if err != nil { return err @@ -138,10 +138,26 @@ func (s *state7) ForEachClaim(cb func(miner address.Address, claim Claim) error) if err != nil { return err } - return cb(a, Claim{ - RawBytePower: claim.RawBytePower, - QualityAdjPower: claim.QualityAdjPower, - }) + if !onlyEligible { + return cb(a, Claim{ + RawBytePower: claim.RawBytePower, + QualityAdjPower: claim.QualityAdjPower, + }) + } + + //slow path + eligible, err := s.State.MinerNominalPowerMeetsConsensusMinimum(s.store, a) + + if err != nil { + return fmt.Errorf("checking consensus minimums: %w", err) + } + if eligible { + return cb(a, Claim{ + RawBytePower: claim.RawBytePower, + QualityAdjPower: claim.QualityAdjPower, + }) + } + return nil }) } diff --git a/chain/actors/builtin/power/v8.go b/chain/actors/builtin/power/v8.go index e3ee24c831d..230c1472e4d 100644 --- a/chain/actors/builtin/power/v8.go +++ b/chain/actors/builtin/power/v8.go @@ -126,7 +126,7 @@ func (s *state8) ListAllMiners() ([]address.Address, error) { return miners, nil } -func (s *state8) ForEachClaim(cb func(miner address.Address, claim Claim) error) error { +func (s *state8) ForEachClaim(cb func(miner address.Address, claim Claim) error, onlyEligible bool) error { claims, err := s.claims() if err != nil { return err @@ -138,10 +138,25 @@ func (s *state8) ForEachClaim(cb func(miner address.Address, claim Claim) error) if err != nil { return err } - return cb(a, Claim{ - RawBytePower: claim.RawBytePower, - QualityAdjPower: claim.QualityAdjPower, - }) + if !onlyEligible { + return cb(a, Claim{ + RawBytePower: claim.RawBytePower, + QualityAdjPower: claim.QualityAdjPower, + }) + } + + eligible, err := s.State.ClaimMeetsConsensusMinimums(&claim) + + if err != nil { + return fmt.Errorf("checking consensus minimums: %w", err) + } + if eligible { + return cb(a, Claim{ + RawBytePower: claim.RawBytePower, + QualityAdjPower: claim.QualityAdjPower, + }) + } + return nil }) } diff --git a/chain/actors/builtin/power/v9.go b/chain/actors/builtin/power/v9.go index d8d49858748..0c3a21b290c 100644 --- a/chain/actors/builtin/power/v9.go +++ b/chain/actors/builtin/power/v9.go @@ -126,7 +126,7 @@ func (s *state9) ListAllMiners() ([]address.Address, error) { return miners, nil } -func (s *state9) ForEachClaim(cb func(miner address.Address, claim Claim) error) error { +func (s *state9) ForEachClaim(cb func(miner address.Address, claim Claim) error, onlyEligible bool) error { claims, err := s.claims() if err != nil { return err @@ -138,10 +138,25 @@ func (s *state9) ForEachClaim(cb func(miner address.Address, claim Claim) error) if err != nil { return err } - return cb(a, Claim{ - RawBytePower: claim.RawBytePower, - QualityAdjPower: claim.QualityAdjPower, - }) + if !onlyEligible { + return cb(a, Claim{ + RawBytePower: claim.RawBytePower, + QualityAdjPower: claim.QualityAdjPower, + }) + } + + eligible, err := s.State.ClaimMeetsConsensusMinimums(&claim) + + if err != nil { + return fmt.Errorf("checking consensus minimums: %w", err) + } + if eligible { + return cb(a, Claim{ + RawBytePower: claim.RawBytePower, + QualityAdjPower: claim.QualityAdjPower, + }) + } + return nil }) } diff --git a/chain/lf3/ec.go b/chain/lf3/ec.go index f05bd0cfb36..2ad23658b5b 100644 --- a/chain/lf3/ec.go +++ b/chain/lf3/ec.go @@ -144,15 +144,6 @@ func (ec *ecWrapper) getPowerTableLotusTSK(ctx context.Context, tsk types.TipSet return nil } - // TODO: optimize - ok, err := powerState.MinerNominalPowerMeetsConsensusMinimum(minerAddr) - if err != nil { - return xerrors.Errorf("checking consensus minimums: %w", err) - } - if !ok { - return nil - } - id, err := address.IDFromAddress(minerAddr) if err != nil { return xerrors.Errorf("transforming address to ID: %w", err) @@ -199,7 +190,7 @@ func (ec *ecWrapper) getPowerTableLotusTSK(ctx context.Context, tsk types.TipSet pe.PubKey = waddr.Payload() powerEntries = append(powerEntries, pe) return nil - }) + }, true) if err != nil { return nil, xerrors.Errorf("collecting the power table: %w", err) } diff --git a/cmd/lotus-shed/sectors.go b/cmd/lotus-shed/sectors.go index 15ee49b311a..faa21f9d94e 100644 --- a/cmd/lotus-shed/sectors.go +++ b/cmd/lotus-shed/sectors.go @@ -729,7 +729,7 @@ var dumpSectorOnChainInfoCmd = &cli.Command{ } return nil - }) + }, false) if err != nil { return xerrors.Errorf("iterating over claims: %w", err) diff --git a/cmd/lotus-sim/simulation/stages/precommit_stage.go b/cmd/lotus-sim/simulation/stages/precommit_stage.go index f9e6ca80d69..5cbe77a4f42 100644 --- a/cmd/lotus-sim/simulation/stages/precommit_stage.go +++ b/cmd/lotus-sim/simulation/stages/precommit_stage.go @@ -313,7 +313,7 @@ func (stage *PreCommitStage) load(ctx context.Context, bb *blockbuilder.BlockBui sealList = append(sealList, onboardingInfo{addr, uint64(sectorCount)}) } return nil - }) + }, false) if err != nil { return err } diff --git a/cmd/lotus-sim/simulation/stages/provecommit_stage.go b/cmd/lotus-sim/simulation/stages/provecommit_stage.go index 0a850667886..515938ecc2d 100644 --- a/cmd/lotus-sim/simulation/stages/provecommit_stage.go +++ b/cmd/lotus-sim/simulation/stages/provecommit_stage.go @@ -376,7 +376,7 @@ func (stage *ProveCommitStage) load(ctx context.Context, bb *blockbuilder.BlockB return nil } return stage.loadMiner(ctx, bb, minerAddr) - }) + }, false) if err != nil { return err } diff --git a/cmd/lotus-sim/simulation/stages/windowpost_stage.go b/cmd/lotus-sim/simulation/stages/windowpost_stage.go index 65c29ccebc8..984ab7ef9e0 100644 --- a/cmd/lotus-sim/simulation/stages/windowpost_stage.go +++ b/cmd/lotus-sim/simulation/stages/windowpost_stage.go @@ -264,7 +264,7 @@ func (stage *WindowPoStStage) load(ctx context.Context, bb *blockbuilder.BlockBu stage.wpostPeriods[ppOffset] = append(stage.wpostPeriods[ppOffset], minerAddr) return stage.queueMiner(ctx, bb, minerAddr, minerState, commitEpoch, commitRand) - }) + }, false) } func (stage *WindowPoStStage) tick(ctx context.Context, bb *blockbuilder.BlockBuilder) error { diff --git a/go.mod b/go.mod index 8fe09b33115..7f0bc6abeca 100644 --- a/go.mod +++ b/go.mod @@ -50,7 +50,7 @@ require ( github.com/filecoin-project/go-jsonrpc v0.7.0 github.com/filecoin-project/go-padreader v0.0.1 github.com/filecoin-project/go-paramfetch v0.0.4 - github.com/filecoin-project/go-state-types v0.16.0-rc1 + github.com/filecoin-project/go-state-types v0.16.0-rc1.0.20241210151506-27c2d581aa19 github.com/filecoin-project/go-statemachine v1.0.3 github.com/filecoin-project/go-statestore v0.2.0 github.com/filecoin-project/go-storedcounter v0.1.0 @@ -153,12 +153,12 @@ require ( go.uber.org/fx v1.23.0 go.uber.org/multierr v1.11.0 go.uber.org/zap v1.27.0 - golang.org/x/crypto v0.29.0 + golang.org/x/crypto v0.30.0 golang.org/x/mod v0.21.0 golang.org/x/net v0.30.0 - golang.org/x/sync v0.9.0 - golang.org/x/sys v0.27.0 - golang.org/x/term v0.26.0 + golang.org/x/sync v0.10.0 + golang.org/x/sys v0.28.0 + golang.org/x/term v0.27.0 golang.org/x/time v0.5.0 golang.org/x/tools v0.26.0 golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da @@ -332,7 +332,7 @@ require ( go.uber.org/mock v0.5.0 // indirect go4.org v0.0.0-20230225012048-214862532bf5 // indirect golang.org/x/exp v0.0.0-20241009180824-f66d83c29e7c // indirect - golang.org/x/text v0.20.0 // indirect + golang.org/x/text v0.21.0 // indirect gonum.org/v1/gonum v0.15.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291 // indirect google.golang.org/grpc v1.64.0 // indirect diff --git a/go.sum b/go.sum index 0d843ff4ceb..87001a05f48 100644 --- a/go.sum +++ b/go.sum @@ -298,8 +298,8 @@ github.com/filecoin-project/go-state-types v0.0.0-20200928172055-2df22083d8ab/go github.com/filecoin-project/go-state-types v0.0.0-20201102161440-c8033295a1fc/go.mod h1:ezYnPf0bNkTsDibL/psSz5dy4B5awOJ/E7P2Saeep8g= github.com/filecoin-project/go-state-types v0.1.0/go.mod h1:ezYnPf0bNkTsDibL/psSz5dy4B5awOJ/E7P2Saeep8g= github.com/filecoin-project/go-state-types v0.1.6/go.mod h1:UwGVoMsULoCK+bWjEdd/xLCvLAQFBC7EDT477SKml+Q= -github.com/filecoin-project/go-state-types v0.16.0-rc1 h1:/51MhupBAjfmWygUKDZCdLOzAnKFcayPHX9ApTswgmo= -github.com/filecoin-project/go-state-types v0.16.0-rc1/go.mod h1:4rjTgHP6LWrkQXQCgx+dRGDa0gnk4WiJVCFwZtuDOGE= +github.com/filecoin-project/go-state-types v0.16.0-rc1.0.20241210151506-27c2d581aa19 h1:GQfLAYtHwV0IH1mDKMG8PfaWlq9DoqQdir/6hhYI9Aw= +github.com/filecoin-project/go-state-types v0.16.0-rc1.0.20241210151506-27c2d581aa19/go.mod h1:TwnMxZiLa6wUT4u4KWJ+02VMwIQS/EoDJrAowy3Z6G0= github.com/filecoin-project/go-statemachine v1.0.3 h1:N07o6alys+V1tNoSTi4WuuoeNC4erS/6jE74+NsgQuk= github.com/filecoin-project/go-statemachine v1.0.3/go.mod h1:jZdXXiHa61n4NmgWFG4w8tnqgvZVHYbJ3yW7+y8bF54= github.com/filecoin-project/go-statestore v0.1.0/go.mod h1:LFc9hD+fRxPqiHiaqUEZOinUJB4WARkRfNl10O7kTnI= @@ -1447,8 +1447,8 @@ golang.org/x/crypto v0.8.0/go.mod h1:mRqEX+O9/h5TFCrQhkgjo2yKi0yYA+9ecGkdQoHrywE golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio= golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw= golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= -golang.org/x/crypto v0.29.0 h1:L5SG1JTTXupVV3n6sUqMTeWbjAyfPwoda2DLX8J8FrQ= -golang.org/x/crypto v0.29.0/go.mod h1:+F4F4N5hv6v38hfeYwTdx20oUvLLc+QfrE9Ax9HtgRg= +golang.org/x/crypto v0.30.0 h1:RwoQn3GkWiMkzlX562cLB7OxWvjH1L8xutO2WoJcRoY= +golang.org/x/crypto v0.30.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1570,8 +1570,8 @@ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.9.0 h1:fEo0HyrW1GIgZdpbhCRO0PkJajUS5H9IFUztCgEo2jQ= -golang.org/x/sync v0.9.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= +golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180202135801-37707fdb30a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180810173357-98c5dad5d1a0/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1660,8 +1660,8 @@ golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.27.0 h1:wBqf8DvsY9Y/2P8gAfPDEYNuS30J4lPHJxXSb/nJZ+s= -golang.org/x/sys v0.27.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20201210144234-2321bbc49cbf/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -1673,8 +1673,8 @@ golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o= golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU= golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= -golang.org/x/term v0.26.0 h1:WEQa6V3Gja/BhNxg540hBip/kkaYtRg3cxg4oXSw4AU= -golang.org/x/term v0.26.0/go.mod h1:Si5m1o57C5nBNQo5z1iq+XDijt21BDBDp2bK0QI8e3E= +golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q= +golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1688,8 +1688,8 @@ golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.20.0 h1:gK/Kv2otX8gz+wn7Rmb3vT96ZwuoxnQlY+HlJVj7Qug= -golang.org/x/text v0.20.0/go.mod h1:D4IsuqiFMhST5bX19pQ9ikHC2GsaKyk/oF+pn3ducp4= +golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= diff --git a/tools/stats/points/collect.go b/tools/stats/points/collect.go index 8b1d3e06c85..6f030fdb7c0 100644 --- a/tools/stats/points/collect.go +++ b/tools/stats/points/collect.go @@ -267,7 +267,7 @@ func (c *ChainPointCollector) collectStaterootPoints(ctx context.Context, pl *in pl.AddPoint(p) return nil - }) + }, false) } type msgTag struct { From 328ece565cf20e32cb4c08291625fd85b789213c Mon Sep 17 00:00:00 2001 From: Jakub Sztandera Date: Wed, 11 Dec 2024 13:22:03 +0100 Subject: [PATCH 3/9] add comment, bump go-state-types Signed-off-by: Jakub Sztandera --- chain/actors/builtin/power/actor.go.template | 3 +++ chain/actors/builtin/power/power.go | 3 +++ go.mod | 2 +- go.sum | 4 ++-- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/chain/actors/builtin/power/actor.go.template b/chain/actors/builtin/power/actor.go.template index 6364630be12..81c2676c065 100644 --- a/chain/actors/builtin/power/actor.go.template +++ b/chain/actors/builtin/power/actor.go.template @@ -99,6 +99,9 @@ type State interface { MinerPower(address.Address) (Claim, bool, error) MinerNominalPowerMeetsConsensusMinimum(address.Address) (bool, error) ListAllMiners() ([]address.Address, error) + // ForEachClaim iterates over claims in the power actor. + // If onlyEligible is true, it applies the MinerNominalPowerMeetsConsensusMinimum check + // before returning the actor. ForEachClaim(cb func(miner address.Address, claim Claim) error, onlyEligible bool) error ClaimsChanged(State) (bool, error) diff --git a/chain/actors/builtin/power/power.go b/chain/actors/builtin/power/power.go index ecc79c6a453..f5a56d1d4be 100644 --- a/chain/actors/builtin/power/power.go +++ b/chain/actors/builtin/power/power.go @@ -183,6 +183,9 @@ type State interface { MinerPower(address.Address) (Claim, bool, error) MinerNominalPowerMeetsConsensusMinimum(address.Address) (bool, error) ListAllMiners() ([]address.Address, error) + // ForEachClaim iterates over claims in the power actor. + // If onlyEligible is true, it applies the MinerNominalPowerMeetsConsensusMinimum check + // before returning the actor. ForEachClaim(cb func(miner address.Address, claim Claim) error, onlyEligible bool) error ClaimsChanged(State) (bool, error) diff --git a/go.mod b/go.mod index 7f0bc6abeca..175eed73ee0 100644 --- a/go.mod +++ b/go.mod @@ -50,7 +50,7 @@ require ( github.com/filecoin-project/go-jsonrpc v0.7.0 github.com/filecoin-project/go-padreader v0.0.1 github.com/filecoin-project/go-paramfetch v0.0.4 - github.com/filecoin-project/go-state-types v0.16.0-rc1.0.20241210151506-27c2d581aa19 + github.com/filecoin-project/go-state-types v0.16.0-rc2 github.com/filecoin-project/go-statemachine v1.0.3 github.com/filecoin-project/go-statestore v0.2.0 github.com/filecoin-project/go-storedcounter v0.1.0 diff --git a/go.sum b/go.sum index 87001a05f48..8de176acb5f 100644 --- a/go.sum +++ b/go.sum @@ -298,8 +298,8 @@ github.com/filecoin-project/go-state-types v0.0.0-20200928172055-2df22083d8ab/go github.com/filecoin-project/go-state-types v0.0.0-20201102161440-c8033295a1fc/go.mod h1:ezYnPf0bNkTsDibL/psSz5dy4B5awOJ/E7P2Saeep8g= github.com/filecoin-project/go-state-types v0.1.0/go.mod h1:ezYnPf0bNkTsDibL/psSz5dy4B5awOJ/E7P2Saeep8g= github.com/filecoin-project/go-state-types v0.1.6/go.mod h1:UwGVoMsULoCK+bWjEdd/xLCvLAQFBC7EDT477SKml+Q= -github.com/filecoin-project/go-state-types v0.16.0-rc1.0.20241210151506-27c2d581aa19 h1:GQfLAYtHwV0IH1mDKMG8PfaWlq9DoqQdir/6hhYI9Aw= -github.com/filecoin-project/go-state-types v0.16.0-rc1.0.20241210151506-27c2d581aa19/go.mod h1:TwnMxZiLa6wUT4u4KWJ+02VMwIQS/EoDJrAowy3Z6G0= +github.com/filecoin-project/go-state-types v0.16.0-rc2 h1:+R4NzNBaIYZq6GZYHSB7aTuoHPL7gFnB0MmPEq6mYvc= +github.com/filecoin-project/go-state-types v0.16.0-rc2/go.mod h1:TwnMxZiLa6wUT4u4KWJ+02VMwIQS/EoDJrAowy3Z6G0= github.com/filecoin-project/go-statemachine v1.0.3 h1:N07o6alys+V1tNoSTi4WuuoeNC4erS/6jE74+NsgQuk= github.com/filecoin-project/go-statemachine v1.0.3/go.mod h1:jZdXXiHa61n4NmgWFG4w8tnqgvZVHYbJ3yW7+y8bF54= github.com/filecoin-project/go-statestore v0.1.0/go.mod h1:LFc9hD+fRxPqiHiaqUEZOinUJB4WARkRfNl10O7kTnI= From cfd061221c29e13e191ee5d1dfaf51b7ce50869a Mon Sep 17 00:00:00 2001 From: "Masih H. Derkani" Date: Thu, 12 Dec 2024 09:35:05 +0000 Subject: [PATCH 4/9] chore: update to golang crypto `0.31.0` (#12775) Update to golang crypto `0.31.0` Resolve CVE-2024-45337 by upgrading to the latest golang crypto. See: https://github.com/filecoin-project/go-f3/security/dependabot/12 --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 175eed73ee0..3bdd9f833d5 100644 --- a/go.mod +++ b/go.mod @@ -153,7 +153,7 @@ require ( go.uber.org/fx v1.23.0 go.uber.org/multierr v1.11.0 go.uber.org/zap v1.27.0 - golang.org/x/crypto v0.30.0 + golang.org/x/crypto v0.31.0 golang.org/x/mod v0.21.0 golang.org/x/net v0.30.0 golang.org/x/sync v0.10.0 diff --git a/go.sum b/go.sum index 8de176acb5f..881aea0dee8 100644 --- a/go.sum +++ b/go.sum @@ -1447,8 +1447,8 @@ golang.org/x/crypto v0.8.0/go.mod h1:mRqEX+O9/h5TFCrQhkgjo2yKi0yYA+9ecGkdQoHrywE golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio= golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw= golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= -golang.org/x/crypto v0.30.0 h1:RwoQn3GkWiMkzlX562cLB7OxWvjH1L8xutO2WoJcRoY= -golang.org/x/crypto v0.30.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= +golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= +golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= From ac13b64a004efcb5e1f86a30d820da4f75fe414c Mon Sep 17 00:00:00 2001 From: Phi-rjan Date: Thu, 12 Dec 2024 22:59:30 +0100 Subject: [PATCH 5/9] chore: unset nv25 upgrade height on Calibnet (#12779) * chore: cancel upgrade height Calibnet chore: cancel upgrade height Calibnet * chore: update code comment chore: update code comment --- build/buildconstants/params_calibnet.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/buildconstants/params_calibnet.go b/build/buildconstants/params_calibnet.go index 47d2eea8e97..053a5c995e2 100644 --- a/build/buildconstants/params_calibnet.go +++ b/build/buildconstants/params_calibnet.go @@ -102,8 +102,8 @@ const UpgradeWaffleHeight = 1779094 // 2024-10-23T13:30:00Z const UpgradeTuktukHeight = 2078794 -// 2024-12-16T23:00:00Z -const UpgradeTeepHeight = 2235454 +// Canceled - See update in: https://github.com/filecoin-project/community/discussions/74#discussioncomment-11549619 +const UpgradeTeepHeight = 9999999999 // FIP-0081: for the power actor state for pledge calculations. // UpgradeTuktukPowerRampDurationEpochs ends up in the power actor state after From cb1e4563e4a57b884705b3f649dc0423cf2b0296 Mon Sep 17 00:00:00 2001 From: Phi Date: Thu, 12 Dec 2024 23:45:24 +0100 Subject: [PATCH 6/9] chore: go mod tidy chore: go mod tidy --- go.sum | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/go.sum b/go.sum index 881aea0dee8..4b6b2c3c8d1 100644 --- a/go.sum +++ b/go.sum @@ -1204,9 +1204,8 @@ github.com/sirupsen/logrus v1.9.2/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVs github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= github.com/smartystreets/assertions v1.0.0/go.mod h1:kHHU4qYBaI3q23Pp3VPrmWhuIUrLW/7eUrw0BU5VaoM= github.com/smartystreets/assertions v1.0.1/go.mod h1:kHHU4qYBaI3q23Pp3VPrmWhuIUrLW/7eUrw0BU5VaoM= +github.com/smartystreets/assertions v1.2.0 h1:42S6lae5dvLc7BrLu/0ugRtcFVjoJNMC/N3yZFZkDFs= github.com/smartystreets/assertions v1.2.0/go.mod h1:tcbTF8ujkAEcZ8TElKY+i30BzYlVhC/LOxJk7iOWnoo= -github.com/smartystreets/assertions v1.13.0 h1:Dx1kYM01xsSqKPno3aqLnrwac2LetPvN23diwyr69Qs= -github.com/smartystreets/assertions v1.13.0/go.mod h1:wDmR7qL282YbGsPy6H/yAsesrxfxaaSlJazyFLYVFx8= github.com/smartystreets/goconvey v0.0.0-20190222223459-a17d461953aa/go.mod h1:2RVY1rIf+2J2o/IM9+vPq9RzmHDSseB7FoXiSNIUsoU= github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/smartystreets/goconvey v0.0.0-20190731233626-505e41936337/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= From e137274872b4602064ff91cddec65dfe07f83add Mon Sep 17 00:00:00 2001 From: Viraj Bhartiya Date: Thu, 12 Dec 2024 16:41:15 +0530 Subject: [PATCH 7/9] chore: more frequent migration progress logs (#12732) --- CHANGELOG.md | 1 + chain/consensus/filcns/upgrades.go | 31 +++++++++++++++++-- .../misc/Building_a_network_skeleton.md | 15 +++++++-- 3 files changed, 43 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0b753e60122..73759d91224 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -48,6 +48,7 @@ For certain node operators, such as full archival nodes or systems that need to - The miner actor builtin `QAPowerForWeight` no longer accepts the unused "dealWeight" parameter, the function signature now only takes 3 arguments: sectorSize, sectorDuration, verifiedWeight. ([filecoin-project/lotus#12445](https://github.com/filecoin-project/lotus/pull/12445)) - Fix checkpointed tipsets being expanded ([filecoin-project/lotus#12747](https://github.com/filecoin-project/lotus/pull/12747)) - Remove IPNI advertisement relay over pubsub via Lotus node as it now has been deprecated. ([filecoin-project/lotus#12768](https://github.com/filecoin-project/lotus/pull/12768) +- During a network upgrade, log migration progress every 2 seconds so they are more helpful and informative. The `LOTUS_MIGRATE_PROGRESS_LOG_SECONDS` environment variable can be used to change this if needed. ([filecoin-project/lotus#12732](https://github.com/filecoin-project/lotus/pull/12732)) ## Bug Fixes diff --git a/chain/consensus/filcns/upgrades.go b/chain/consensus/filcns/upgrades.go index 3f68960861f..a93af1f4420 100644 --- a/chain/consensus/filcns/upgrades.go +++ b/chain/consensus/filcns/upgrades.go @@ -2754,9 +2754,14 @@ func PreUpgradeActorsV16(ctx context.Context, sm *stmgr.StateManager, cache stmg return xerrors.Errorf("error getting lookback ts for premigration: %w", err) } + logPeriod, err := getMigrationProgressLogPeriod() + if err != nil { + return xerrors.Errorf("error getting progress log period: %w", err) + } + config := migration.Config{ MaxWorkers: uint(workerCount), - ProgressLogPeriod: time.Minute * 5, + ProgressLogPeriod: logPeriod, } _, err = upgradeActorsV16Common(ctx, sm, cache, lbRoot, epoch, lbts, config) @@ -2770,11 +2775,17 @@ func UpgradeActorsV16(ctx context.Context, sm *stmgr.StateManager, cache stmgr.M if workerCount <= 0 { workerCount = 1 } + + logPeriod, err := getMigrationProgressLogPeriod() + if err != nil { + return cid.Undef, xerrors.Errorf("error getting progress log period: %w", err) + } + config := migration.Config{ MaxWorkers: uint(workerCount), JobQueueSize: 1000, ResultQueueSize: 100, - ProgressLogPeriod: 10 * time.Second, + ProgressLogPeriod: logPeriod, } newRoot, err := upgradeActorsV16Common(ctx, sm, cache, root, epoch, ts, config) if err != nil { @@ -3005,3 +3016,19 @@ func (ml migrationLogger) Log(level rt.LogLevel, msg string, args ...interface{} log.Errorf(msg, args...) } } + +func getMigrationProgressLogPeriod() (time.Duration, error) { + logPeriod := time.Second * 2 // default period + period := os.Getenv("LOTUS_MIGRATE_PROGRESS_LOG_SECONDS") + if period != "" { + seconds, err := strconv.Atoi(period) + if err != nil { + return 0, xerrors.Errorf("LOTUS_MIGRATE_PROGRESS_LOG_SECONDS must be an integer: %w", err) + } + if seconds <= 0 { + return 0, xerrors.Errorf("LOTUS_MIGRATE_PROGRESS_LOG_SECONDS must be positive") + } + logPeriod = time.Duration(seconds) * time.Second + } + return logPeriod, nil +} diff --git a/documentation/misc/Building_a_network_skeleton.md b/documentation/misc/Building_a_network_skeleton.md index d7d1fdbc9e0..1fae76b923b 100644 --- a/documentation/misc/Building_a_network_skeleton.md +++ b/documentation/misc/Building_a_network_skeleton.md @@ -456,9 +456,14 @@ Typically it's safe to not upgrade filecoin-ffi's version of go-state-types. Th return xerrors.Errorf("error getting lookback ts for premigration: %w", err) } + logPeriod, err := getMigrationProgressLogPeriod() + if err != nil { + return xerrors.Errorf("error getting progress log period: %w", err) + } + config := migration.Config{ MaxWorkers: uint(workerCount), - ProgressLogPeriod: time.Minute * 5, + ProgressLogPeriod: logPeriod, } _, err = upgradeActorsV(XX+1)Common(ctx, sm, cache, lbRoot, epoch, lbts, config) @@ -472,11 +477,17 @@ Typically it's safe to not upgrade filecoin-ffi's version of go-state-types. Th if workerCount <= 0 { workerCount = 1 } + + logPeriod, err := getMigrationProgressLogPeriod() + if err != nil { + return cid.Undef, xerrors.Errorf("error getting progress log period: %w", err) + } + config := migration.Config{ MaxWorkers: uint(workerCount), JobQueueSize: 1000, ResultQueueSize: 100, - ProgressLogPeriod: 10 * time.Second, + ProgressLogPeriod: logPeriod, } newRoot, err := upgradeActorsV(XX+1)Common(ctx, sm, cache, root, epoch, ts, config) if err != nil { From a0d32174446a73bdc1ca8e50049223ff2817afe6 Mon Sep 17 00:00:00 2001 From: Jakub Sztandera Date: Thu, 5 Dec 2024 18:01:19 +0100 Subject: [PATCH 8/9] fix: f3 gen power command being non-deterministic (#12764) Sort the power table before Selecting from it. --- cmd/lotus-shed/f3.go | 1 + 1 file changed, 1 insertion(+) diff --git a/cmd/lotus-shed/f3.go b/cmd/lotus-shed/f3.go index e1169a798f9..aef53b77104 100644 --- a/cmd/lotus-shed/f3.go +++ b/cmd/lotus-shed/f3.go @@ -170,6 +170,7 @@ var f3GenExplicitPower = &cli.Command{ for _, pe := range powerMap { powerList = append(powerList, pe) } + sort.Sort(powerList) rng.Shuffle(len(powerList), powerList.Swap) iteration := cctx.Int("iteration") From c99f5dc944d3745dad23dc0ea40d5f357996e973 Mon Sep 17 00:00:00 2001 From: Rod Vagg Date: Thu, 12 Dec 2024 22:48:42 +1100 Subject: [PATCH 9/9] feat(gateway): add F3GetCertificate & F3GetLatestCertificate to gateway (#12778) --- CHANGELOG.md | 1 + api/api_gateway.go | 4 + api/proxy_gen.go | 26 ++ build/openrpc/full.json | 472 +++++++++++++++---------------- build/openrpc/gateway.json | 552 ++++++++++++++++++++++++++++++------- build/openrpc/miner.json | 176 ++++++------ build/openrpc/worker.json | 74 ++--- gateway/node.go | 3 + gateway/proxy_fil.go | 15 + itests/gateway_test.go | 32 +++ itests/kit/node_opts.go | 9 + 11 files changed, 899 insertions(+), 465 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 73759d91224..3e4ab2692f2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -49,6 +49,7 @@ For certain node operators, such as full archival nodes or systems that need to - Fix checkpointed tipsets being expanded ([filecoin-project/lotus#12747](https://github.com/filecoin-project/lotus/pull/12747)) - Remove IPNI advertisement relay over pubsub via Lotus node as it now has been deprecated. ([filecoin-project/lotus#12768](https://github.com/filecoin-project/lotus/pull/12768) - During a network upgrade, log migration progress every 2 seconds so they are more helpful and informative. The `LOTUS_MIGRATE_PROGRESS_LOG_SECONDS` environment variable can be used to change this if needed. ([filecoin-project/lotus#12732](https://github.com/filecoin-project/lotus/pull/12732)) +- Add F3GetCertificate & F3GetLatestCertificate to the gateway. ([filecoin-project/lotus#12778](https://github.com/filecoin-project/lotus/pull/12778)) ## Bug Fixes diff --git a/api/api_gateway.go b/api/api_gateway.go index 23a7c7a607c..9e2e9822cbb 100644 --- a/api/api_gateway.go +++ b/api/api_gateway.go @@ -7,6 +7,7 @@ import ( "github.com/ipfs/go-cid" "github.com/filecoin-project/go-address" + "github.com/filecoin-project/go-f3/certs" "github.com/filecoin-project/go-jsonrpc" "github.com/filecoin-project/go-state-types/abi" verifregtypes "github.com/filecoin-project/go-state-types/builtin/v9/verifreg" @@ -141,4 +142,7 @@ type Gateway interface { GetActorEventsRaw(ctx context.Context, filter *types.ActorEventFilter) ([]*types.ActorEvent, error) SubscribeActorEventsRaw(ctx context.Context, filter *types.ActorEventFilter) (<-chan *types.ActorEvent, error) ChainGetEvents(context.Context, cid.Cid) ([]types.Event, error) + + F3GetCertificate(ctx context.Context, instance uint64) (*certs.FinalityCertificate, error) + F3GetLatestCertificate(ctx context.Context) (*certs.FinalityCertificate, error) } diff --git a/api/proxy_gen.go b/api/proxy_gen.go index 03fe23405ec..e0f9103efca 100644 --- a/api/proxy_gen.go +++ b/api/proxy_gen.go @@ -728,6 +728,10 @@ type GatewayMethods struct { EthUnsubscribe func(p0 context.Context, p1 ethtypes.EthSubscriptionID) (bool, error) `` + F3GetCertificate func(p0 context.Context, p1 uint64) (*certs.FinalityCertificate, error) `` + + F3GetLatestCertificate func(p0 context.Context) (*certs.FinalityCertificate, error) `` + FilecoinAddressToEthAddress func(p0 context.Context, p1 jsonrpc.RawParams) (ethtypes.EthAddress, error) `` GasEstimateGasPremium func(p0 context.Context, p1 uint64, p2 address.Address, p3 int64, p4 types.TipSetKey) (types.BigInt, error) `` @@ -4662,6 +4666,28 @@ func (s *GatewayStub) EthUnsubscribe(p0 context.Context, p1 ethtypes.EthSubscrip return false, ErrNotSupported } +func (s *GatewayStruct) F3GetCertificate(p0 context.Context, p1 uint64) (*certs.FinalityCertificate, error) { + if s.Internal.F3GetCertificate == nil { + return nil, ErrNotSupported + } + return s.Internal.F3GetCertificate(p0, p1) +} + +func (s *GatewayStub) F3GetCertificate(p0 context.Context, p1 uint64) (*certs.FinalityCertificate, error) { + return nil, ErrNotSupported +} + +func (s *GatewayStruct) F3GetLatestCertificate(p0 context.Context) (*certs.FinalityCertificate, error) { + if s.Internal.F3GetLatestCertificate == nil { + return nil, ErrNotSupported + } + return s.Internal.F3GetLatestCertificate(p0) +} + +func (s *GatewayStub) F3GetLatestCertificate(p0 context.Context) (*certs.FinalityCertificate, error) { + return nil, ErrNotSupported +} + func (s *GatewayStruct) FilecoinAddressToEthAddress(p0 context.Context, p1 jsonrpc.RawParams) (ethtypes.EthAddress, error) { if s.Internal.FilecoinAddressToEthAddress == nil { return *new(ethtypes.EthAddress), ErrNotSupported diff --git a/build/openrpc/full.json b/build/openrpc/full.json index 003d78eb306..c48d6b86751 100644 --- a/build/openrpc/full.json +++ b/build/openrpc/full.json @@ -37,7 +37,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1354" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1358" } }, { @@ -60,7 +60,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1365" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1369" } }, { @@ -103,7 +103,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1376" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1380" } }, { @@ -214,7 +214,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1398" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1402" } }, { @@ -454,7 +454,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1409" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1413" } }, { @@ -685,7 +685,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1420" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1424" } }, { @@ -784,7 +784,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1431" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1435" } }, { @@ -816,7 +816,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1442" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1446" } }, { @@ -922,7 +922,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1453" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1457" } }, { @@ -1019,7 +1019,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1464" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1468" } }, { @@ -1078,7 +1078,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1475" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1479" } }, { @@ -1171,7 +1171,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1486" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1490" } }, { @@ -1255,7 +1255,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1497" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1501" } }, { @@ -1355,7 +1355,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1508" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1512" } }, { @@ -1411,7 +1411,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1519" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1523" } }, { @@ -1484,7 +1484,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1530" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1534" } }, { @@ -1557,7 +1557,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1541" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1545" } }, { @@ -1604,7 +1604,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1552" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1556" } }, { @@ -1636,7 +1636,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1563" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1567" } }, { @@ -1691,7 +1691,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1574" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1578" } }, { @@ -1743,7 +1743,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1596" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1600" } }, { @@ -1780,7 +1780,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1607" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1611" } }, { @@ -1827,7 +1827,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1618" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1622" } }, { @@ -1874,7 +1874,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1629" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1633" } }, { @@ -1954,7 +1954,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1640" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1644" } }, { @@ -2006,7 +2006,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1651" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1655" } }, { @@ -2110,7 +2110,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1662" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1666" } }, { @@ -2149,7 +2149,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1673" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1677" } }, { @@ -2196,7 +2196,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1684" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1688" } }, { @@ -2251,7 +2251,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1695" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1699" } }, { @@ -2280,7 +2280,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1706" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1710" } }, { @@ -2417,7 +2417,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1717" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1721" } }, { @@ -2446,7 +2446,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1728" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1732" } }, { @@ -2500,7 +2500,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1739" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1743" } }, { @@ -2591,7 +2591,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1750" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1754" } }, { @@ -2619,7 +2619,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1761" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1765" } }, { @@ -2709,7 +2709,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1772" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1776" } }, { @@ -2965,7 +2965,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1783" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1787" } }, { @@ -3210,7 +3210,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1794" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1798" } }, { @@ -3486,7 +3486,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1805" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1809" } }, { @@ -3779,7 +3779,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1816" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1820" } }, { @@ -3835,7 +3835,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1827" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1831" } }, { @@ -3882,7 +3882,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1838" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1842" } }, { @@ -3980,7 +3980,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1849" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1853" } }, { @@ -4046,7 +4046,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1860" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1864" } }, { @@ -4112,7 +4112,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1871" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1875" } }, { @@ -4221,7 +4221,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1882" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1886" } }, { @@ -4279,7 +4279,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1893" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1897" } }, { @@ -4401,7 +4401,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1904" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1908" } }, { @@ -4610,7 +4610,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1915" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1919" } }, { @@ -4808,7 +4808,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1926" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1930" } }, { @@ -5000,7 +5000,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1937" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1941" } }, { @@ -5209,7 +5209,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1948" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1952" } }, { @@ -5300,7 +5300,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1959" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1963" } }, { @@ -5358,7 +5358,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1970" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1974" } }, { @@ -5616,7 +5616,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1981" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1985" } }, { @@ -5891,7 +5891,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1992" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L1996" } }, { @@ -5919,7 +5919,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2003" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2007" } }, { @@ -5957,7 +5957,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2014" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2018" } }, { @@ -6065,7 +6065,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2025" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2029" } }, { @@ -6103,7 +6103,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2036" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2040" } }, { @@ -6132,7 +6132,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2047" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2051" } }, { @@ -6195,7 +6195,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2058" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2062" } }, { @@ -6258,7 +6258,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2069" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2073" } }, { @@ -6321,7 +6321,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2080" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2084" } }, { @@ -6366,7 +6366,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2091" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2095" } }, { @@ -6488,7 +6488,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2102" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2106" } }, { @@ -6664,7 +6664,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2113" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2117" } }, { @@ -6819,7 +6819,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2124" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2128" } }, { @@ -6941,7 +6941,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2135" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2139" } }, { @@ -6995,7 +6995,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2146" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2150" } }, { @@ -7049,7 +7049,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2157" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2161" } }, { @@ -7230,7 +7230,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2168" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2172" } }, { @@ -7313,7 +7313,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2179" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2183" } }, { @@ -7396,7 +7396,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2190" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2194" } }, { @@ -7559,7 +7559,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2201" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2205" } }, { @@ -7764,7 +7764,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2212" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2216" } }, { @@ -7858,7 +7858,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2223" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2227" } }, { @@ -7904,7 +7904,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2234" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2238" } }, { @@ -7931,7 +7931,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2245" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2249" } }, { @@ -7986,7 +7986,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2256" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2260" } }, { @@ -8065,7 +8065,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2267" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2271" } }, { @@ -8128,7 +8128,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2278" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2282" } }, { @@ -8271,7 +8271,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2289" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2293" } }, { @@ -8398,7 +8398,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2300" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2304" } }, { @@ -8500,7 +8500,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2311" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2315" } }, { @@ -8723,7 +8723,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2322" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2326" } }, { @@ -8906,7 +8906,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2333" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2337" } }, { @@ -8986,7 +8986,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2344" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2348" } }, { @@ -9031,7 +9031,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2355" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2359" } }, { @@ -9087,7 +9087,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2366" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2370" } }, { @@ -9167,7 +9167,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2377" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2381" } }, { @@ -9247,7 +9247,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2388" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2392" } }, { @@ -9732,7 +9732,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2399" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2403" } }, { @@ -9926,7 +9926,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2410" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2414" } }, { @@ -10081,7 +10081,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2421" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2425" } }, { @@ -10330,7 +10330,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2432" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2436" } }, { @@ -10485,7 +10485,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2443" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2447" } }, { @@ -10662,7 +10662,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2454" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2458" } }, { @@ -10760,7 +10760,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2465" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2469" } }, { @@ -10925,7 +10925,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2476" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2480" } }, { @@ -10964,7 +10964,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2487" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2491" } }, { @@ -11029,7 +11029,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2498" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2502" } }, { @@ -11075,7 +11075,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2509" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2513" } }, { @@ -11225,7 +11225,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2520" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2524" } }, { @@ -11362,7 +11362,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2531" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2535" } }, { @@ -11593,7 +11593,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2542" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2546" } }, { @@ -11730,7 +11730,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2553" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2557" } }, { @@ -11895,7 +11895,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2564" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2568" } }, { @@ -11972,7 +11972,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2575" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2579" } }, { @@ -12167,7 +12167,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2597" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2601" } }, { @@ -12346,7 +12346,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2608" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2612" } }, { @@ -12508,7 +12508,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2619" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2623" } }, { @@ -12656,7 +12656,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2630" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2634" } }, { @@ -12884,7 +12884,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2641" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2645" } }, { @@ -13032,7 +13032,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2652" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2656" } }, { @@ -13244,7 +13244,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2663" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2667" } }, { @@ -13450,7 +13450,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2674" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2678" } }, { @@ -13518,7 +13518,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2685" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2689" } }, { @@ -13635,7 +13635,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2696" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2700" } }, { @@ -13726,7 +13726,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2707" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2711" } }, { @@ -13812,7 +13812,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2718" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2722" } }, { @@ -14007,7 +14007,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2729" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2733" } }, { @@ -14169,7 +14169,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2740" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2744" } }, { @@ -14365,7 +14365,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2751" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2755" } }, { @@ -14545,7 +14545,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2762" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2766" } }, { @@ -14708,7 +14708,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2773" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2777" } }, { @@ -14735,7 +14735,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2784" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2788" } }, { @@ -14762,7 +14762,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2795" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2799" } }, { @@ -14861,7 +14861,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2806" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2810" } }, { @@ -14907,7 +14907,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2817" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2821" } }, { @@ -15007,7 +15007,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2828" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2832" } }, { @@ -15123,7 +15123,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2839" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2843" } }, { @@ -15171,7 +15171,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2850" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2854" } }, { @@ -15263,7 +15263,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2861" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2865" } }, { @@ -15378,7 +15378,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2872" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2876" } }, { @@ -15426,7 +15426,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2883" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2887" } }, { @@ -15463,7 +15463,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2894" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2898" } }, { @@ -15735,7 +15735,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2905" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2909" } }, { @@ -15783,7 +15783,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2916" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2920" } }, { @@ -15841,7 +15841,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2927" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2931" } }, { @@ -16046,7 +16046,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2938" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2942" } }, { @@ -16249,7 +16249,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2949" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2953" } }, { @@ -16418,7 +16418,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2960" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2964" } }, { @@ -16622,7 +16622,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2971" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2975" } }, { @@ -16789,7 +16789,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2982" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2986" } }, { @@ -16996,7 +16996,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2993" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L2997" } }, { @@ -17064,7 +17064,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3004" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3008" } }, { @@ -17116,7 +17116,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3015" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3019" } }, { @@ -17165,7 +17165,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3026" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3030" } }, { @@ -17256,7 +17256,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3037" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3041" } }, { @@ -17762,7 +17762,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3048" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3052" } }, { @@ -17868,7 +17868,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3059" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3063" } }, { @@ -17920,7 +17920,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3070" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3074" } }, { @@ -18472,7 +18472,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3081" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3085" } }, { @@ -18586,7 +18586,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3092" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3096" } }, { @@ -18683,7 +18683,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3103" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3107" } }, { @@ -18783,7 +18783,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3114" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3118" } }, { @@ -18871,7 +18871,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3125" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3129" } }, { @@ -18971,7 +18971,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3136" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3140" } }, { @@ -19058,7 +19058,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3147" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3151" } }, { @@ -19149,7 +19149,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3158" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3162" } }, { @@ -19274,7 +19274,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3169" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3173" } }, { @@ -19383,7 +19383,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3180" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3184" } }, { @@ -19453,7 +19453,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3191" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3195" } }, { @@ -19556,7 +19556,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3202" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3206" } }, { @@ -19617,7 +19617,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3213" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3217" } }, { @@ -19747,7 +19747,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3224" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3228" } }, { @@ -19854,7 +19854,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3235" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3239" } }, { @@ -20078,7 +20078,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3246" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3250" } }, { @@ -20155,7 +20155,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3257" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3261" } }, { @@ -20232,7 +20232,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3268" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3272" } }, { @@ -20341,7 +20341,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3279" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3283" } }, { @@ -20450,7 +20450,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3290" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3294" } }, { @@ -20511,7 +20511,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3301" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3305" } }, { @@ -20621,7 +20621,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3312" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3316" } }, { @@ -20682,7 +20682,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3323" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3327" } }, { @@ -20750,7 +20750,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3334" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3338" } }, { @@ -20818,7 +20818,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3345" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3349" } }, { @@ -20899,7 +20899,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3356" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3360" } }, { @@ -21053,7 +21053,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3367" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3371" } }, { @@ -21125,7 +21125,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3378" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3382" } }, { @@ -21195,7 +21195,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3389" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3393" } }, { @@ -21359,7 +21359,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3400" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3404" } }, { @@ -21524,7 +21524,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3411" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3415" } }, { @@ -21594,7 +21594,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3422" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3426" } }, { @@ -21662,7 +21662,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3433" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3437" } }, { @@ -21755,7 +21755,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3444" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3448" } }, { @@ -21826,7 +21826,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3455" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3459" } }, { @@ -22027,7 +22027,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3466" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3470" } }, { @@ -22159,7 +22159,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3477" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3481" } }, { @@ -22262,7 +22262,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3488" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3492" } }, { @@ -22399,7 +22399,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3499" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3503" } }, { @@ -22510,7 +22510,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3510" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3514" } }, { @@ -22642,7 +22642,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3521" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3525" } }, { @@ -22773,7 +22773,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3532" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3536" } }, { @@ -22844,7 +22844,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3543" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3547" } }, { @@ -22928,7 +22928,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3554" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3558" } }, { @@ -23014,7 +23014,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3565" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3569" } }, { @@ -23197,7 +23197,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3576" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3580" } }, { @@ -23224,7 +23224,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3587" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3591" } }, { @@ -23277,7 +23277,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3598" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3602" } }, { @@ -23365,7 +23365,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3609" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3613" } }, { @@ -23816,7 +23816,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3620" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3624" } }, { @@ -23983,7 +23983,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3631" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3635" } }, { @@ -24081,7 +24081,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3642" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3646" } }, { @@ -24254,7 +24254,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3653" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3657" } }, { @@ -24352,7 +24352,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3664" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3668" } }, { @@ -24503,7 +24503,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3675" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3679" } }, { @@ -24588,7 +24588,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3686" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3690" } }, { @@ -24656,7 +24656,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3697" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3701" } }, { @@ -24708,7 +24708,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3708" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3712" } }, { @@ -24776,7 +24776,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3719" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3723" } }, { @@ -24937,7 +24937,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3730" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3734" } }, { @@ -24984,7 +24984,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3752" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3756" } }, { @@ -25031,7 +25031,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3763" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3767" } }, { @@ -25074,7 +25074,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3785" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3789" } }, { @@ -25170,7 +25170,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3796" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3800" } }, { @@ -25436,7 +25436,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3807" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3811" } }, { @@ -25459,7 +25459,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3818" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3822" } }, { @@ -25502,7 +25502,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3829" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3833" } }, { @@ -25553,7 +25553,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3840" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3844" } }, { @@ -25598,7 +25598,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3851" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3855" } }, { @@ -25626,7 +25626,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3862" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3866" } }, { @@ -25666,7 +25666,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3873" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3877" } }, { @@ -25725,7 +25725,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3884" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3888" } }, { @@ -25769,7 +25769,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3895" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3899" } }, { @@ -25828,7 +25828,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3906" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3910" } }, { @@ -25865,7 +25865,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3917" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3921" } }, { @@ -25909,7 +25909,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3928" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3932" } }, { @@ -25949,7 +25949,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3939" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3943" } }, { @@ -26024,7 +26024,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3950" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3954" } }, { @@ -26232,7 +26232,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3961" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3965" } }, { @@ -26276,7 +26276,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3972" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3976" } }, { @@ -26366,7 +26366,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3983" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3987" } }, { @@ -26393,7 +26393,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3994" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L3998" } } ] diff --git a/build/openrpc/gateway.json b/build/openrpc/gateway.json index 1e540f7b22f..898ef9d38cd 100644 --- a/build/openrpc/gateway.json +++ b/build/openrpc/gateway.json @@ -242,7 +242,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4005" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4009" } }, { @@ -473,7 +473,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4016" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4020" } }, { @@ -572,7 +572,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4027" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4031" } }, { @@ -604,7 +604,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4038" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4042" } }, { @@ -710,7 +710,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4049" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4053" } }, { @@ -803,7 +803,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4060" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4064" } }, { @@ -887,7 +887,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4071" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4075" } }, { @@ -987,7 +987,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4082" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4086" } }, { @@ -1043,7 +1043,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4093" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4097" } }, { @@ -1116,7 +1116,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4104" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4108" } }, { @@ -1189,7 +1189,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4115" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4119" } }, { @@ -1236,7 +1236,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4126" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4130" } }, { @@ -1268,7 +1268,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4137" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4141" } }, { @@ -1305,7 +1305,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4159" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4163" } }, { @@ -1352,7 +1352,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4170" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4174" } }, { @@ -1392,7 +1392,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4181" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4185" } }, { @@ -1439,7 +1439,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4192" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4196" } }, { @@ -1494,7 +1494,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4203" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4207" } }, { @@ -1523,7 +1523,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4214" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4218" } }, { @@ -1660,7 +1660,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4225" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4229" } }, { @@ -1689,7 +1689,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4236" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4240" } }, { @@ -1743,7 +1743,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4247" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4251" } }, { @@ -1834,7 +1834,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4258" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4262" } }, { @@ -1862,7 +1862,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4269" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4273" } }, { @@ -1952,7 +1952,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4280" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4284" } }, { @@ -2208,7 +2208,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4291" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4295" } }, { @@ -2453,7 +2453,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4302" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4306" } }, { @@ -2729,7 +2729,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4313" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4317" } }, { @@ -3022,7 +3022,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4324" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4328" } }, { @@ -3078,7 +3078,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4335" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4339" } }, { @@ -3125,7 +3125,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4346" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4350" } }, { @@ -3223,7 +3223,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4357" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4361" } }, { @@ -3289,7 +3289,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4368" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4372" } }, { @@ -3355,7 +3355,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4379" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4383" } }, { @@ -3464,7 +3464,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4390" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4394" } }, { @@ -3522,7 +3522,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4401" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4405" } }, { @@ -3644,7 +3644,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4412" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4416" } }, { @@ -3853,7 +3853,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4423" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4427" } }, { @@ -4051,7 +4051,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4434" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4438" } }, { @@ -4243,7 +4243,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4445" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4449" } }, { @@ -4452,7 +4452,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4456" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4460" } }, { @@ -4543,7 +4543,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4467" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4471" } }, { @@ -4601,7 +4601,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4478" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4482" } }, { @@ -4859,7 +4859,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4489" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4493" } }, { @@ -5134,7 +5134,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4500" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4504" } }, { @@ -5162,7 +5162,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4511" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4515" } }, { @@ -5200,7 +5200,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4522" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4526" } }, { @@ -5308,7 +5308,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4533" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4537" } }, { @@ -5346,7 +5346,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4544" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4548" } }, { @@ -5375,7 +5375,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4555" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4559" } }, { @@ -5438,7 +5438,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4566" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4570" } }, { @@ -5501,7 +5501,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4577" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4581" } }, { @@ -5546,7 +5546,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4588" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4592" } }, { @@ -5668,7 +5668,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4599" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4603" } }, { @@ -5844,7 +5844,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4610" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4614" } }, { @@ -5999,7 +5999,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4621" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4625" } }, { @@ -6121,7 +6121,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4632" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4636" } }, { @@ -6175,7 +6175,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4643" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4647" } }, { @@ -6229,7 +6229,351 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4654" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4658" + } + }, + { + "name": "Filecoin.F3GetCertificate", + "description": "```go\nfunc (s *GatewayStruct) F3GetCertificate(p0 context.Context, p1 uint64) (*certs.FinalityCertificate, error) {\n\tif s.Internal.F3GetCertificate == nil {\n\t\treturn nil, ErrNotSupported\n\t}\n\treturn s.Internal.F3GetCertificate(p0, p1)\n}\n```", + "summary": "There are not yet any comments for this method.", + "paramStructure": "by-position", + "params": [ + { + "name": "p1", + "description": "uint64", + "summary": "", + "schema": { + "title": "number", + "description": "Number is a number", + "examples": [ + 42 + ], + "type": [ + "number" + ] + }, + "required": true, + "deprecated": false + } + ], + "result": { + "name": "*certs.FinalityCertificate", + "description": "*certs.FinalityCertificate", + "summary": "", + "schema": { + "examples": [ + { + "GPBFTInstance": 0, + "ECChain": [ + { + "Key": [ + { + "/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4" + }, + { + "/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve" + } + ], + "Commitments": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "Epoch": 0, + "PowerTable": { + "/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4" + } + } + ], + "SupplementalData": { + "Commitments": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "PowerTable": { + "/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4" + } + }, + "Signers": [ + 2, + 2, + 1, + 1, + 1, + 1 + ], + "Signature": "VW5EYWRhU2VB", + "PowerTableDelta": [ + { + "ParticipantID": 0, + "PowerDelta": "0", + "SigningKey": "QmFScmVsRVll" + } + ] + } + ], + "additionalProperties": false, + "properties": { + "ECChain": { + "items": { + "additionalProperties": false, + "properties": { + "Commitments": { + "items": { + "description": "Number is a number", + "title": "number", + "type": "number" + }, + "maxItems": 32, + "minItems": 32, + "type": "array" + }, + "Epoch": { + "title": "number", + "type": "number" + }, + "Key": { + "media": { + "binaryEncoding": "base64" + }, + "type": "string" + }, + "PowerTable": { + "title": "Content Identifier", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "GPBFTInstance": { + "title": "number", + "type": "number" + }, + "PowerTableDelta": { + "items": { + "additionalProperties": false, + "properties": { + "ParticipantID": { + "title": "number", + "type": "number" + }, + "PowerDelta": { + "additionalProperties": false, + "type": "object" + }, + "SigningKey": { + "items": { + "description": "Number is a number", + "title": "number", + "type": "number" + }, + "type": "array" + } + }, + "type": "object" + }, + "type": "array" + }, + "Signature": { + "media": { + "binaryEncoding": "base64" + }, + "type": "string" + }, + "Signers": { + "additionalProperties": false, + "type": "object" + }, + "SupplementalData": { + "additionalProperties": false, + "properties": { + "Commitments": { + "items": { + "description": "Number is a number", + "title": "number", + "type": "number" + }, + "maxItems": 32, + "minItems": 32, + "type": "array" + }, + "PowerTable": { + "title": "Content Identifier", + "type": "string" + } + }, + "type": "object" + } + }, + "type": [ + "object" + ] + }, + "required": true, + "deprecated": false + }, + "deprecated": false, + "externalDocs": { + "description": "Github remote link", + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4669" + } + }, + { + "name": "Filecoin.F3GetLatestCertificate", + "description": "```go\nfunc (s *GatewayStruct) F3GetLatestCertificate(p0 context.Context) (*certs.FinalityCertificate, error) {\n\tif s.Internal.F3GetLatestCertificate == nil {\n\t\treturn nil, ErrNotSupported\n\t}\n\treturn s.Internal.F3GetLatestCertificate(p0)\n}\n```", + "summary": "There are not yet any comments for this method.", + "paramStructure": "by-position", + "params": [], + "result": { + "name": "*certs.FinalityCertificate", + "description": "*certs.FinalityCertificate", + "summary": "", + "schema": { + "examples": [ + { + "GPBFTInstance": 0, + "ECChain": [ + { + "Key": [ + { + "/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4" + }, + { + "/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve" + } + ], + "Commitments": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "Epoch": 0, + "PowerTable": { + "/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4" + } + } + ], + "SupplementalData": { + "Commitments": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "PowerTable": { + "/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4" + } + }, + "Signers": [ + 2, + 2, + 1, + 1, + 1, + 1 + ], + "Signature": "VW5EYWRhU2VB", + "PowerTableDelta": [ + { + "ParticipantID": 0, + "PowerDelta": "0", + "SigningKey": "QmFScmVsRVll" + } + ] + } + ], + "additionalProperties": false, + "properties": { + "ECChain": { + "items": { + "additionalProperties": false, + "properties": { + "Commitments": { + "items": { + "description": "Number is a number", + "title": "number", + "type": "number" + }, + "maxItems": 32, + "minItems": 32, + "type": "array" + }, + "Epoch": { + "title": "number", + "type": "number" + }, + "Key": { + "media": { + "binaryEncoding": "base64" + }, + "type": "string" + }, + "PowerTable": { + "title": "Content Identifier", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "GPBFTInstance": { + "title": "number", + "type": "number" + }, + "PowerTableDelta": { + "items": { + "additionalProperties": false, + "properties": { + "ParticipantID": { + "title": "number", + "type": "number" + }, + "PowerDelta": { + "additionalProperties": false, + "type": "object" + }, + "SigningKey": { + "items": { + "description": "Number is a number", + "title": "number", + "type": "number" + }, + "type": "array" + } + }, + "type": "object" + }, + "type": "array" + }, + "Signature": { + "media": { + "binaryEncoding": "base64" + }, + "type": "string" + }, + "Signers": { + "additionalProperties": false, + "type": "object" + }, + "SupplementalData": { + "additionalProperties": false, + "properties": { + "Commitments": { + "items": { + "description": "Number is a number", + "title": "number", + "type": "number" + }, + "maxItems": 32, + "minItems": 32, + "type": "array" + }, + "PowerTable": { + "title": "Content Identifier", + "type": "string" + } + }, + "type": "object" + } + }, + "type": [ + "object" + ] + }, + "required": true, + "deprecated": false + }, + "deprecated": false, + "externalDocs": { + "description": "Github remote link", + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4680" } }, { @@ -6292,7 +6636,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4665" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4691" } }, { @@ -6394,7 +6738,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4676" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4702" } }, { @@ -6617,7 +6961,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4687" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4713" } }, { @@ -6800,7 +7144,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4698" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4724" } }, { @@ -6994,7 +7338,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4709" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4735" } }, { @@ -7040,7 +7384,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4720" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4746" } }, { @@ -7190,7 +7534,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4731" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4757" } }, { @@ -7327,7 +7671,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4742" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4768" } }, { @@ -7395,7 +7739,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4753" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4779" } }, { @@ -7512,7 +7856,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4764" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4790" } }, { @@ -7603,7 +7947,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4775" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4801" } }, { @@ -7689,7 +8033,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4786" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4812" } }, { @@ -7716,7 +8060,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4797" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4823" } }, { @@ -7743,7 +8087,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4808" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4834" } }, { @@ -7811,7 +8155,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4819" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4845" } }, { @@ -8317,7 +8661,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4830" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4856" } }, { @@ -8414,7 +8758,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4841" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4867" } }, { @@ -8514,7 +8858,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4852" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4878" } }, { @@ -8614,7 +8958,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4863" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4889" } }, { @@ -8739,7 +9083,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4874" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4900" } }, { @@ -8848,7 +9192,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4885" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4911" } }, { @@ -8951,7 +9295,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4896" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4922" } }, { @@ -9081,7 +9425,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4907" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4933" } }, { @@ -9188,7 +9532,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4918" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4944" } }, { @@ -9249,7 +9593,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4929" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4955" } }, { @@ -9317,7 +9661,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4940" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4966" } }, { @@ -9398,7 +9742,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4951" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4977" } }, { @@ -9562,7 +9906,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4962" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4988" } }, { @@ -9655,7 +9999,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4973" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4999" } }, { @@ -9856,7 +10200,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4984" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5010" } }, { @@ -9967,7 +10311,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L4995" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5021" } }, { @@ -10098,7 +10442,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5006" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5032" } }, { @@ -10184,7 +10528,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5017" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5043" } }, { @@ -10211,7 +10555,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5028" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5054" } }, { @@ -10264,7 +10608,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5039" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5065" } }, { @@ -10352,7 +10696,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5050" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5076" } }, { @@ -10803,7 +11147,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5061" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5087" } }, { @@ -10970,7 +11314,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5072" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5098" } }, { @@ -11143,7 +11487,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5083" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5109" } }, { @@ -11211,7 +11555,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5094" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5120" } }, { @@ -11279,7 +11623,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5105" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5131" } }, { @@ -11440,7 +11784,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5116" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5142" } }, { @@ -11485,7 +11829,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5138" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5164" } }, { @@ -11530,7 +11874,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5149" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5175" } }, { @@ -11557,7 +11901,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5160" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5186" } } ] diff --git a/build/openrpc/miner.json b/build/openrpc/miner.json index 07b98607d6b..397bfd97c1e 100644 --- a/build/openrpc/miner.json +++ b/build/openrpc/miner.json @@ -30,7 +30,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5446" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5472" } }, { @@ -109,7 +109,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5457" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5483" } }, { @@ -155,7 +155,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5468" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5494" } }, { @@ -203,7 +203,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5479" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5505" } }, { @@ -251,7 +251,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5490" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5516" } }, { @@ -354,7 +354,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5501" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5527" } }, { @@ -428,7 +428,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5512" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5538" } }, { @@ -591,7 +591,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5523" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5549" } }, { @@ -742,7 +742,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5534" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5560" } }, { @@ -781,7 +781,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5545" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5571" } }, { @@ -913,7 +913,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5556" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5582" } }, { @@ -945,7 +945,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5567" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5593" } }, { @@ -986,7 +986,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5578" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5604" } }, { @@ -1054,7 +1054,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5589" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5615" } }, { @@ -1185,7 +1185,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5600" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5626" } }, { @@ -1316,7 +1316,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5611" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5637" } }, { @@ -1416,7 +1416,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5622" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5648" } }, { @@ -1516,7 +1516,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5633" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5659" } }, { @@ -1616,7 +1616,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5644" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5670" } }, { @@ -1716,7 +1716,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5655" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5681" } }, { @@ -1816,7 +1816,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5666" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5692" } }, { @@ -1916,7 +1916,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5677" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5703" } }, { @@ -2040,7 +2040,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5688" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5714" } }, { @@ -2164,7 +2164,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5699" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5725" } }, { @@ -2279,7 +2279,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5710" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5736" } }, { @@ -2379,7 +2379,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5721" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5747" } }, { @@ -2512,7 +2512,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5732" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5758" } }, { @@ -2636,7 +2636,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5743" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5769" } }, { @@ -2760,7 +2760,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5754" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5780" } }, { @@ -2884,7 +2884,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5765" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5791" } }, { @@ -3017,7 +3017,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5776" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5802" } }, { @@ -3117,7 +3117,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5787" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5813" } }, { @@ -3157,7 +3157,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5798" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5824" } }, { @@ -3229,7 +3229,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5809" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5835" } }, { @@ -3279,7 +3279,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5820" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5846" } }, { @@ -3323,7 +3323,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5831" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5857" } }, { @@ -3364,7 +3364,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5842" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5868" } }, { @@ -3608,7 +3608,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5853" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5879" } }, { @@ -3682,7 +3682,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5864" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5890" } }, { @@ -3732,7 +3732,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5875" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5901" } }, { @@ -3761,7 +3761,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5886" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5912" } }, { @@ -3790,7 +3790,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5897" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5923" } }, { @@ -3846,7 +3846,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5908" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5934" } }, { @@ -3869,7 +3869,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5919" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5945" } }, { @@ -3929,7 +3929,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5930" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5956" } }, { @@ -3968,7 +3968,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5941" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5967" } }, { @@ -4008,7 +4008,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5952" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5978" } }, { @@ -4081,7 +4081,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5963" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5989" } }, { @@ -4145,7 +4145,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5974" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6000" } }, { @@ -4208,7 +4208,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5985" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6011" } }, { @@ -4258,7 +4258,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L5996" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6022" } }, { @@ -4817,7 +4817,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6007" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6033" } }, { @@ -4858,7 +4858,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6018" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6044" } }, { @@ -4899,7 +4899,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6029" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6055" } }, { @@ -4940,7 +4940,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6040" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6066" } }, { @@ -4981,7 +4981,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6051" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6077" } }, { @@ -5022,7 +5022,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6062" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6088" } }, { @@ -5053,7 +5053,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6073" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6099" } }, { @@ -5103,7 +5103,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6084" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6110" } }, { @@ -5144,7 +5144,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6095" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6121" } }, { @@ -5183,7 +5183,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6106" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6132" } }, { @@ -5247,7 +5247,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6117" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6143" } }, { @@ -5305,7 +5305,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6128" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6154" } }, { @@ -5752,7 +5752,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6139" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6165" } }, { @@ -5788,7 +5788,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6150" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6176" } }, { @@ -5931,7 +5931,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6161" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6187" } }, { @@ -5987,7 +5987,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6172" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6198" } }, { @@ -6026,7 +6026,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6183" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6209" } }, { @@ -6203,7 +6203,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6194" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6220" } }, { @@ -6255,7 +6255,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6205" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6231" } }, { @@ -6447,7 +6447,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6216" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6242" } }, { @@ -6547,7 +6547,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6227" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6253" } }, { @@ -6601,7 +6601,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6238" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6264" } }, { @@ -6640,7 +6640,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6249" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6275" } }, { @@ -6725,7 +6725,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6260" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6286" } }, { @@ -6919,7 +6919,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6271" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6297" } }, { @@ -7017,7 +7017,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6282" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6308" } }, { @@ -7149,7 +7149,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6293" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6319" } }, { @@ -7203,7 +7203,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6304" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6330" } }, { @@ -7237,7 +7237,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6315" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6341" } }, { @@ -7324,7 +7324,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6326" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6352" } }, { @@ -7378,7 +7378,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6337" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6363" } }, { @@ -7478,7 +7478,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6348" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6374" } }, { @@ -7555,7 +7555,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6359" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6385" } }, { @@ -7646,7 +7646,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6370" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6396" } }, { @@ -7685,7 +7685,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6381" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6407" } }, { @@ -7801,7 +7801,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6392" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6418" } }, { @@ -9901,7 +9901,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6403" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6429" } } ] diff --git a/build/openrpc/worker.json b/build/openrpc/worker.json index 3885ca5279e..cfdf3fa3d77 100644 --- a/build/openrpc/worker.json +++ b/build/openrpc/worker.json @@ -161,7 +161,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6491" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6517" } }, { @@ -252,7 +252,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6502" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6528" } }, { @@ -420,7 +420,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6513" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6539" } }, { @@ -447,7 +447,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6524" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6550" } }, { @@ -597,7 +597,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6535" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6561" } }, { @@ -700,7 +700,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6546" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6572" } }, { @@ -803,7 +803,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6557" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6583" } }, { @@ -925,7 +925,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6568" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6594" } }, { @@ -1135,7 +1135,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6579" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6605" } }, { @@ -1306,7 +1306,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6590" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6616" } }, { @@ -3350,7 +3350,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6601" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6627" } }, { @@ -3470,7 +3470,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6612" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6638" } }, { @@ -3531,7 +3531,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6623" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6649" } }, { @@ -3569,7 +3569,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6634" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6660" } }, { @@ -3729,7 +3729,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6645" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6671" } }, { @@ -3913,7 +3913,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6656" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6682" } }, { @@ -4054,7 +4054,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6667" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6693" } }, { @@ -4107,7 +4107,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6678" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6704" } }, { @@ -4250,7 +4250,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6689" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6715" } }, { @@ -4474,7 +4474,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6700" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6726" } }, { @@ -4601,7 +4601,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6711" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6737" } }, { @@ -4768,7 +4768,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6722" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6748" } }, { @@ -4895,7 +4895,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6733" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6759" } }, { @@ -4933,7 +4933,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6744" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6770" } }, { @@ -4972,7 +4972,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6755" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6781" } }, { @@ -4995,7 +4995,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6766" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6792" } }, { @@ -5034,7 +5034,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6777" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6803" } }, { @@ -5057,7 +5057,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6788" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6814" } }, { @@ -5096,7 +5096,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6799" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6825" } }, { @@ -5130,7 +5130,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6810" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6836" } }, { @@ -5184,7 +5184,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6821" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6847" } }, { @@ -5223,7 +5223,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6832" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6858" } }, { @@ -5262,7 +5262,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6843" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6869" } }, { @@ -5297,7 +5297,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6854" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6880" } }, { @@ -5477,7 +5477,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6865" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6891" } }, { @@ -5506,7 +5506,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6876" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6902" } }, { @@ -5529,7 +5529,7 @@ "deprecated": false, "externalDocs": { "description": "Github remote link", - "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6887" + "url": "https://github.com/filecoin-project/lotus/blob/master/api/proxy_gen.go#L6913" } } ] diff --git a/gateway/node.go b/gateway/node.go index def7c0c465f..3eefddc424f 100644 --- a/gateway/node.go +++ b/gateway/node.go @@ -13,6 +13,7 @@ import ( "github.com/filecoin-project/go-address" "github.com/filecoin-project/go-bitfield" + "github.com/filecoin-project/go-f3/certs" "github.com/filecoin-project/go-jsonrpc" "github.com/filecoin-project/go-state-types/abi" verifregtypes "github.com/filecoin-project/go-state-types/builtin/v9/verifreg" @@ -160,6 +161,8 @@ type TargetAPI interface { GetActorEventsRaw(ctx context.Context, filter *types.ActorEventFilter) ([]*types.ActorEvent, error) SubscribeActorEventsRaw(ctx context.Context, filter *types.ActorEventFilter) (<-chan *types.ActorEvent, error) ChainGetEvents(ctx context.Context, eventsRoot cid.Cid) ([]types.Event, error) + F3GetCertificate(ctx context.Context, instance uint64) (*certs.FinalityCertificate, error) + F3GetLatestCertificate(ctx context.Context) (*certs.FinalityCertificate, error) } var _ TargetAPI = *new(api.FullNode) // gateway depends on latest diff --git a/gateway/proxy_fil.go b/gateway/proxy_fil.go index 59fa511b506..d2a12d38241 100644 --- a/gateway/proxy_fil.go +++ b/gateway/proxy_fil.go @@ -9,6 +9,7 @@ import ( "github.com/filecoin-project/go-address" "github.com/filecoin-project/go-bitfield" + "github.com/filecoin-project/go-f3/certs" "github.com/filecoin-project/go-state-types/abi" verifregtypes "github.com/filecoin-project/go-state-types/builtin/v9/verifreg" "github.com/filecoin-project/go-state-types/crypto" @@ -661,3 +662,17 @@ func (gw *Node) StateGetClaims(ctx context.Context, providerAddr address.Address } return gw.target.StateGetClaims(ctx, providerAddr, tsk) } + +func (gw *Node) F3GetCertificate(ctx context.Context, instance uint64) (*certs.FinalityCertificate, error) { + if err := gw.limit(ctx, basicRateLimitTokens); err != nil { + return nil, err + } + return gw.target.F3GetCertificate(ctx, instance) +} + +func (gw *Node) F3GetLatestCertificate(ctx context.Context) (*certs.FinalityCertificate, error) { + if err := gw.limit(ctx, basicRateLimitTokens); err != nil { + return nil, err + } + return gw.target.F3GetLatestCertificate(ctx) +} diff --git a/itests/gateway_test.go b/itests/gateway_test.go index 3972f91157d..ee5afae1b69 100644 --- a/itests/gateway_test.go +++ b/itests/gateway_test.go @@ -572,3 +572,35 @@ func TestStatefulCallHandling(t *testing.T) { req.ErrorContains(err, "filter not found") } } + +func TestGatewayF3(t *testing.T) { + // Test that disabled & not-running F3 calls properly error + + kit.QuietMiningLogs() + + t.Run("not running", func(t *testing.T) { + ctx := context.Background() + nodes := startNodes(ctx, t) + + cert, err := nodes.lite.F3GetLatestCertificate(ctx) + require.ErrorContains(t, err, "F3 is not running") + require.Nil(t, cert) + + cert, err = nodes.lite.F3GetCertificate(ctx, 2) + require.ErrorContains(t, err, "F3 is not running") + require.Nil(t, cert) + }) + + t.Run("disabled", func(t *testing.T) { + ctx := context.Background() + nodes := startNodes(ctx, t, withNodeOpts(kit.F3Enabled(nil))) + + cert, err := nodes.lite.F3GetLatestCertificate(ctx) + require.ErrorIs(t, err, api.ErrF3Disabled) + require.Nil(t, cert) + + cert, err = nodes.lite.F3GetCertificate(ctx, 2) + require.ErrorIs(t, err, api.ErrF3Disabled) + require.Nil(t, cert) + }) +} diff --git a/itests/kit/node_opts.go b/itests/kit/node_opts.go index 1bfd4550977..0356871c578 100644 --- a/itests/kit/node_opts.go +++ b/itests/kit/node_opts.go @@ -247,7 +247,16 @@ func MutateSealingConfig(mut func(sc *config.SealingConfig)) NodeOpt { }))) } +// F3Enabled enables the F3 feature in the node. If the provided config is nil, +// the feature is disabled. func F3Enabled(cfg *lf3.Config) NodeOpt { + if cfg == nil { + return ConstructorOpts( + node.Unset(new(*lf3.Config)), + node.Unset(new(manifest.ManifestProvider)), + node.Unset(new(*lf3.F3)), + ) + } return ConstructorOpts( node.Override(new(*lf3.Config), cfg), node.Override(new(manifest.ManifestProvider), lf3.NewManifestProvider),