mirror of
https://github.com/filecoin-project/lotus.git
synced 2025-05-20 16:48:53 +08:00
chore: upgrade to go-f3 v0.8.3
(#12941)
Upgrade to go-f3 `v0.8.3` Upgrade to the latest go-f3, to bubble up: * various bug fixes * extended manifest parameters for better control in passive testing Note that the return type from F3GetProgress API has changed to now include the input chain to an instance. Update CLI templates to print the additional fields.
This commit is contained in:
@ -16,7 +16,7 @@
|
||||
- chore: switch to pure-go zstd decoder for snapshot imports. ([filecoin-project/lotus#12857](https://github.com/filecoin-project/lotus/pull/12857))
|
||||
- feat: automatically detect if the genesis is zstd compressed. ([filecoin-project/lotus#12885](https://github.com/filecoin-project/lotus/pull/12885)
|
||||
- `lotus send` now supports `--csv` option for sending multiple transactions. ([filecoin-project/lotus#12892](https://github.com/filecoin-project/lotus/pull/12892))
|
||||
- chore: upgrade to the latest go-f3 and allow F3 chain exchange topics ([filecoin-project/lotus#12893](https://github.com/filecoin-project/lotus/pull/12893)
|
||||
- chore: upgrade to go-f3 `v.0.8.3`
|
||||
- chore: upgrade to a minimum Golang version of `1.23.6` ([filecoin-project/lotus#12910](https://github.com/filecoin-project/lotus/pull/12910)
|
||||
- feat: add a `LOTUS_DISABLE_F3_ACTIVATION` enviroment variable allowing disabling F3 activation for a specific contract address or epoch ([filecoin-project/lotus#12920](https://github.com/filecoin-project/lotus/pull/12920)). The `LOTUS_DISABLE_F3` env-var has been renamed to `LOTUS_DISABLE_F3_SUBSYSTEM` to distinguish it from the other F3-related environment variables: `LOTUS_DISABLE_F3_PASSIVE_TESTING` and `LOTUS_DISABLE_F3_ACTIVATION`.
|
||||
- feat: add `GenesisTimestamp` field to `StateGetNetworkParams` response ([filecoin-project/lotus#12925](https://github.com/filecoin-project/lotus/pull/12925))
|
||||
|
@ -1,5 +1,5 @@
|
||||
#####################################
|
||||
FROM golang:1.23.6-bullseye AS lotus-builder
|
||||
FROM golang:1.23.7-bullseye AS lotus-builder
|
||||
MAINTAINER Lotus Development Team
|
||||
|
||||
RUN apt-get update && apt-get install -y ca-certificates build-essential clang ocl-icd-opencl-dev ocl-icd-libopencl1 jq libhwloc-dev
|
||||
|
@ -1 +1 @@
|
||||
1.23.6
|
||||
1.23.7
|
||||
|
@ -58,10 +58,10 @@ For other distributions you can find the required dependencies [here.](https://l
|
||||
|
||||
#### Go
|
||||
|
||||
To build Lotus, you need a working installation of [Go 1.23.6 or higher](https://golang.org/dl/):
|
||||
To build Lotus, you need a working installation of [Go 1.23.7 or higher](https://golang.org/dl/):
|
||||
|
||||
```bash
|
||||
wget -c https://golang.org/dl/go1.23.6.linux-amd64.tar.gz -O - | sudo tar -xz -C /usr/local
|
||||
wget -c https://golang.org/dl/go1.23.7.linux-amd64.tar.gz -O - | sudo tar -xz -C /usr/local
|
||||
```
|
||||
|
||||
**TIP:**
|
||||
|
@ -1031,7 +1031,7 @@ type FullNode interface {
|
||||
// it's enabled, and an error when disabled entirely.
|
||||
F3IsRunning(ctx context.Context) (bool, error) //perm:read
|
||||
// F3GetProgress returns the progress of the current F3 instance in terms of instance ID, round and phase.
|
||||
F3GetProgress(ctx context.Context) (gpbft.Instant, error) //perm:read
|
||||
F3GetProgress(ctx context.Context) (gpbft.InstanceProgress, error) //perm:read
|
||||
// F3ListParticipants returns the list of miners that are currently participating in F3 via this node.
|
||||
F3ListParticipants(ctx context.Context) ([]F3Participant, error) //perm:read
|
||||
}
|
||||
|
@ -105,9 +105,7 @@ func init() {
|
||||
addExample(f3Lease)
|
||||
addExample(&f3Lease)
|
||||
|
||||
f3Cert := certs.FinalityCertificate{
|
||||
GPBFTInstance: 0,
|
||||
ECChain: &gpbft.ECChain{
|
||||
ecchain := &gpbft.ECChain{
|
||||
TipSets: []*gpbft.TipSet{
|
||||
{
|
||||
Epoch: 0,
|
||||
@ -115,7 +113,10 @@ func init() {
|
||||
PowerTable: c,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
f3Cert := certs.FinalityCertificate{
|
||||
GPBFTInstance: 0,
|
||||
ECChain: ecchain,
|
||||
SupplementalData: gpbft.SupplementalData{
|
||||
PowerTable: c,
|
||||
},
|
||||
@ -459,6 +460,14 @@ func init() {
|
||||
addExample(&manifest.Manifest{})
|
||||
addExample(gpbft.NetworkName("filecoin"))
|
||||
addExample(gpbft.ActorID(1000))
|
||||
addExample(gpbft.InstanceProgress{
|
||||
Instant: gpbft.Instant{
|
||||
ID: 1413,
|
||||
Round: 1,
|
||||
Phase: gpbft.COMMIT_PHASE,
|
||||
},
|
||||
Input: ecchain,
|
||||
})
|
||||
}
|
||||
|
||||
func GetAPIType(name, pkg string) (i interface{}, t reflect.Type, permStruct []reflect.Type) {
|
||||
|
@ -1321,10 +1321,10 @@ func (mr *MockFullNodeMockRecorder) F3GetOrRenewParticipationTicket(arg0, arg1,
|
||||
}
|
||||
|
||||
// F3GetProgress mocks base method.
|
||||
func (m *MockFullNode) F3GetProgress(arg0 context.Context) (gpbft.Instant, error) {
|
||||
func (m *MockFullNode) F3GetProgress(arg0 context.Context) (gpbft.InstanceProgress, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "F3GetProgress", arg0)
|
||||
ret0, _ := ret[0].(gpbft.Instant)
|
||||
ret0, _ := ret[0].(gpbft.InstanceProgress)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
@ -274,7 +274,7 @@ type FullNodeMethods struct {
|
||||
|
||||
F3GetOrRenewParticipationTicket func(p0 context.Context, p1 address.Address, p2 F3ParticipationTicket, p3 uint64) (F3ParticipationTicket, error) `perm:"sign"`
|
||||
|
||||
F3GetProgress func(p0 context.Context) (gpbft.Instant, error) `perm:"read"`
|
||||
F3GetProgress func(p0 context.Context) (gpbft.InstanceProgress, error) `perm:"read"`
|
||||
|
||||
F3IsRunning func(p0 context.Context) (bool, error) `perm:"read"`
|
||||
|
||||
@ -2239,15 +2239,15 @@ func (s *FullNodeStub) F3GetOrRenewParticipationTicket(p0 context.Context, p1 ad
|
||||
return *new(F3ParticipationTicket), ErrNotSupported
|
||||
}
|
||||
|
||||
func (s *FullNodeStruct) F3GetProgress(p0 context.Context) (gpbft.Instant, error) {
|
||||
func (s *FullNodeStruct) F3GetProgress(p0 context.Context) (gpbft.InstanceProgress, error) {
|
||||
if s.Internal.F3GetProgress == nil {
|
||||
return *new(gpbft.Instant), ErrNotSupported
|
||||
return *new(gpbft.InstanceProgress), ErrNotSupported
|
||||
}
|
||||
return s.Internal.F3GetProgress(p0)
|
||||
}
|
||||
|
||||
func (s *FullNodeStub) F3GetProgress(p0 context.Context) (gpbft.Instant, error) {
|
||||
return *new(gpbft.Instant), ErrNotSupported
|
||||
func (s *FullNodeStub) F3GetProgress(p0 context.Context) (gpbft.InstanceProgress, error) {
|
||||
return *new(gpbft.InstanceProgress), ErrNotSupported
|
||||
}
|
||||
|
||||
func (s *FullNodeStruct) F3IsRunning(p0 context.Context) (bool, error) {
|
||||
|
@ -7611,7 +7611,10 @@
|
||||
"MaximumPollInterval": 0
|
||||
},
|
||||
"PubSub": {
|
||||
"CompressionEnabled": false
|
||||
"CompressionEnabled": false,
|
||||
"ChainCompressionEnabled": false,
|
||||
"GMessageSubscriptionBufferSize": 0,
|
||||
"ValidatedMessageBufferSize": 0
|
||||
},
|
||||
"ChainExchange": {
|
||||
"SubscriptionBufferSize": 0,
|
||||
@ -7621,6 +7624,15 @@
|
||||
"MaxWantedChainsPerInstance": 0,
|
||||
"RebroadcastInterval": 0,
|
||||
"MaxTimestampAge": 0
|
||||
},
|
||||
"PartialMessageManager": {
|
||||
"PendingDiscoveredChainsBufferSize": 0,
|
||||
"PendingPartialMessagesBufferSize": 0,
|
||||
"PendingChainBroadcastsBufferSize": 0,
|
||||
"PendingInstanceRemovalBufferSize": 0,
|
||||
"CompletedMessagesBufferSize": 0,
|
||||
"MaxBufferedMessagesPerInstance": 0,
|
||||
"MaxCachedValidatedMessagesPerInstance": 0
|
||||
}
|
||||
}
|
||||
],
|
||||
@ -7801,6 +7813,40 @@
|
||||
"NetworkName": {
|
||||
"type": "string"
|
||||
},
|
||||
"PartialMessageManager": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"CompletedMessagesBufferSize": {
|
||||
"title": "number",
|
||||
"type": "number"
|
||||
},
|
||||
"MaxBufferedMessagesPerInstance": {
|
||||
"title": "number",
|
||||
"type": "number"
|
||||
},
|
||||
"MaxCachedValidatedMessagesPerInstance": {
|
||||
"title": "number",
|
||||
"type": "number"
|
||||
},
|
||||
"PendingChainBroadcastsBufferSize": {
|
||||
"title": "number",
|
||||
"type": "number"
|
||||
},
|
||||
"PendingDiscoveredChainsBufferSize": {
|
||||
"title": "number",
|
||||
"type": "number"
|
||||
},
|
||||
"PendingInstanceRemovalBufferSize": {
|
||||
"title": "number",
|
||||
"type": "number"
|
||||
},
|
||||
"PendingPartialMessagesBufferSize": {
|
||||
"title": "number",
|
||||
"type": "number"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
},
|
||||
"Pause": {
|
||||
"type": "boolean"
|
||||
},
|
||||
@ -7811,8 +7857,19 @@
|
||||
"PubSub": {
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"ChainCompressionEnabled": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"CompressionEnabled": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"GMessageSubscriptionBufferSize": {
|
||||
"title": "number",
|
||||
"type": "number"
|
||||
},
|
||||
"ValidatedMessageBufferSize": {
|
||||
"title": "number",
|
||||
"type": "number"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
@ -7927,20 +7984,37 @@
|
||||
},
|
||||
{
|
||||
"name": "Filecoin.F3GetProgress",
|
||||
"description": "```go\nfunc (s *FullNodeStruct) F3GetProgress(p0 context.Context) (gpbft.Instant, error) {\n\tif s.Internal.F3GetProgress == nil {\n\t\treturn *new(gpbft.Instant), ErrNotSupported\n\t}\n\treturn s.Internal.F3GetProgress(p0)\n}\n```",
|
||||
"description": "```go\nfunc (s *FullNodeStruct) F3GetProgress(p0 context.Context) (gpbft.InstanceProgress, error) {\n\tif s.Internal.F3GetProgress == nil {\n\t\treturn *new(gpbft.InstanceProgress), ErrNotSupported\n\t}\n\treturn s.Internal.F3GetProgress(p0)\n}\n```",
|
||||
"summary": "F3GetProgress returns the progress of the current F3 instance in terms of instance ID, round and phase.\n",
|
||||
"paramStructure": "by-position",
|
||||
"params": [],
|
||||
"result": {
|
||||
"name": "gpbft.Instant",
|
||||
"description": "gpbft.Instant",
|
||||
"name": "gpbft.InstanceProgress",
|
||||
"description": "gpbft.InstanceProgress",
|
||||
"summary": "",
|
||||
"schema": {
|
||||
"examples": [
|
||||
{
|
||||
"ID": 42,
|
||||
"Round": 42,
|
||||
"Phase": 0
|
||||
"ID": 1413,
|
||||
"Round": 1,
|
||||
"Phase": 4,
|
||||
"Input": [
|
||||
{
|
||||
"Key": [
|
||||
{
|
||||
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
||||
},
|
||||
{
|
||||
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
||||
}
|
||||
],
|
||||
"Commitments": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
|
||||
"Epoch": 0,
|
||||
"PowerTable": {
|
||||
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"additionalProperties": false,
|
||||
@ -7949,6 +8023,39 @@
|
||||
"title": "number",
|
||||
"type": "number"
|
||||
},
|
||||
"Input": {
|
||||
"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"
|
||||
},
|
||||
"Phase": {
|
||||
"title": "number",
|
||||
"type": "number"
|
||||
|
@ -73,6 +73,7 @@ func NewManifest(
|
||||
},
|
||||
PubSub: manifest.DefaultPubSubConfig,
|
||||
ChainExchange: manifest.DefaultChainExchangeConfig,
|
||||
PartialMessageManager: manifest.DefaultPartialMessageManagerConfig,
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -79,7 +79,7 @@ func New(mctx helpers.MetricsCtx, lc fx.Lifecycle, params F3Params) (*F3, error)
|
||||
// maxLeasableInstances is the maximum number of leased F3 instances this node
|
||||
// would give out.
|
||||
const maxLeasableInstances = 5
|
||||
status := func() (*manifest.Manifest, gpbft.Instant) {
|
||||
status := func() (*manifest.Manifest, gpbft.InstanceProgress) {
|
||||
return module.Manifest(), module.Progress()
|
||||
}
|
||||
fff := &F3{
|
||||
@ -215,7 +215,7 @@ func (fff *F3) IsRunning() bool {
|
||||
return fff.inner.IsRunning()
|
||||
}
|
||||
|
||||
func (fff *F3) Progress() gpbft.Instant {
|
||||
func (fff *F3) Progress() gpbft.InstanceProgress {
|
||||
return fff.inner.Progress()
|
||||
}
|
||||
|
||||
|
@ -15,7 +15,7 @@ import (
|
||||
"github.com/filecoin-project/lotus/api"
|
||||
)
|
||||
|
||||
type f3Status = func() (*manifest.Manifest, gpbft.Instant)
|
||||
type f3Status = func() (*manifest.Manifest, gpbft.InstanceProgress)
|
||||
|
||||
type leaser struct {
|
||||
mutex sync.Mutex
|
||||
|
@ -198,10 +198,12 @@ var testManifest = NewManifest("fakenet", 30, 30, 30*time.Second, cid.Undef)
|
||||
|
||||
type mockProgress struct{ currentInstance uint64 }
|
||||
|
||||
func (m *mockProgress) Progress() (*manifest.Manifest, gpbft.Instant) {
|
||||
return testManifest, gpbft.Instant{
|
||||
func (m *mockProgress) Progress() (*manifest.Manifest, gpbft.InstanceProgress) {
|
||||
return testManifest, gpbft.InstanceProgress{
|
||||
Instant: gpbft.Instant{
|
||||
ID: m.currentInstance,
|
||||
Round: 0,
|
||||
Phase: gpbft.INITIAL_PHASE,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
16
chain/lf3/testdata/contract_manifest_golden.json
vendored
16
chain/lf3/testdata/contract_manifest_golden.json
vendored
@ -1,6 +1,6 @@
|
||||
{
|
||||
"Pause": false,
|
||||
"ProtocolVersion": 5,
|
||||
"ProtocolVersion": 7,
|
||||
"InitialInstance": 0,
|
||||
"BootstrapEpoch": 5000000,
|
||||
"NetworkName": "filecoin",
|
||||
@ -44,7 +44,10 @@
|
||||
"MaximumPollInterval": 120000000000
|
||||
},
|
||||
"PubSub": {
|
||||
"CompressionEnabled": false
|
||||
"CompressionEnabled": true,
|
||||
"ChainCompressionEnabled": true,
|
||||
"GMessageSubscriptionBufferSize": 128,
|
||||
"ValidatedMessageBufferSize": 128
|
||||
},
|
||||
"ChainExchange": {
|
||||
"SubscriptionBufferSize": 32,
|
||||
@ -54,5 +57,14 @@
|
||||
"MaxWantedChainsPerInstance": 1000,
|
||||
"RebroadcastInterval": 2000000000,
|
||||
"MaxTimestampAge": 8000000000
|
||||
},
|
||||
"PartialMessageManager": {
|
||||
"PendingDiscoveredChainsBufferSize": 100,
|
||||
"PendingPartialMessagesBufferSize": 100,
|
||||
"PendingChainBroadcastsBufferSize": 100,
|
||||
"PendingInstanceRemovalBufferSize": 10,
|
||||
"CompletedMessagesBufferSize": 100,
|
||||
"MaxBufferedMessagesPerInstance": 25000,
|
||||
"MaxCachedValidatedMessagesPerInstance": 25000
|
||||
}
|
||||
}
|
||||
|
2
chain/lf3/testdata/contract_return.hex
vendored
2
chain/lf3/testdata/contract_return.hex
vendored
@ -1 +1 @@
|
||||
00000000000000000000000000000000000000000000000000000000004C4B400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000023D8554C172DA3014BCF3150CE78E079B06486FC1D0363321A590B6874E0FB2FC8C35C8922BC90D6926FFDE27D9C27620539F9EB52B7977DF939F07C3E168432A0DA30FC38C700DEFDC8A924652C9BF83D24C0AC4AEDCFAAD6086117E2BB42182DA3D63B7BE90D268A348B92A25CD2D7DEC1E07DE837994EA704F0ABB6194310E54323172E0EA58724699D9C84750088B8AF3FA537B2115AC620FB4E21A110E78200987EEB65816053306E04ECA4342E801C1B0D6111343F36FE50D677B5180301669747AA99FCA24B3EBCFF882AF4BE086E0EBB4C7F2C0024FFF9265E8408AFAB8A881BF568433F3E458EB8A1B861E9D89B021ACC9D1EA233990742B2B916A1FB1D5991326B003A5D490DE81D89BDC99F01FDF42A2244929D1C64A9059B620AE7F6732CF991DB161307993B62B152AB3ED0DC2374968A2F7D131125FEAA6C66D861B504CDAA326E3D7F23E32E17242F0BA1B2D79EA85E653B52E9740999DC846826FFF4FC718B69E6C39BDF67514446D399FFA7A12CC425FBF0FE6A7ADD3209AF97A165CB9EA5723E233E6D219ADBE95BF568B51159C9288411996314A0CAC8E3427620F6D34311A14660BBF2BD0E68115202B5377FA55503B507F409D11A767C43513ACA88A8DE478470DEE22FC62F2D8BA0BBC30BAD0CB4D95ECAAA4235A16381CDA3661256CFCA9BF9CAD693BC0E776F1184D152B8DED5F9565A076756293A895E5F65E187A84FC5FE774734E57BBC6974C53893941EA0ED138799D1F55D873FF83A0EDFFF13A23DF4929BA10A6ED099E509437CEF0BC17E3E065F00F000000
|
||||
00000000000000000000000000000000000000000000000000000000004c4b40000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000002a38554c172da3010bde72b18ce190f360d90de82a16966424a214d0f9d1e16790d9ac8922bcb4dd24cfebd2bd9c63698810323ebbd5dbd7dbbd2fb45afd75f429e61ff732f0691e1a5dbd1ca28a6c413ea8c2b49d8d8eddf496e38883b991990ccc60cdcfe542993190de93c556c47db5703f773e0039a17a59f1f20b101fd980b648acbbe03e7afa9e08c9ba57a414db0cc85288eda4aa5711e56402dae14e18047d8086c86852a49b83188f74a3d6f803d13e8173a42306cf723bd117c2b1394c622a5ce4aea6dba89edfe3b7dd0e70c8501fa1cb5581530a5ecdfe2982a50b2481794f0f71c04376f8eb5c885e154a32bc22f090b78b5fa608710ad542ea3cc7a5682e10eb8a40ea42ac3e81ee5d6ec5c11d5e12bdc68051183cc58092a8ea7e0fa7724f398d910eb7bc393b475aa49996dafe79f245111ad430744fc289a1ad61e2e517365530d0787f2be70e97c22f0ba692dbcb54cab5cb555ce90713b91a584aafdbf1ca357d76497a3eb6a1d7841bd9c8caaf5d01bfbd5fa9337d9878ebc605cadc7de955bfd2e457c255f1aa3d52ee59fd562748e7b2742d486c79c81c1f92bdb81dc626d4d48054ab3c23f3966e69127a8725374fac0a835eabfa88f88a323e2824b9ee4c95209baa386a240743a4fadebe0f941472f97f9669d6f1aa25542c391d926cca5b53f2a6b6e4eef39d2ed8240d82265ce98e6a9b12dcde318f5ba30d10f2625f5897c8dc8bea80c39a4d556db838f4d3e79c430a8cd70b11d578da0eaaddbdfd7fd8352e0339e3145ddc1c825c968de1bcfa3dff2fc2790d9e7788d8bd6e84dd0d1423b099421496f5cc1938ee681b64f6569dd0224fdebe6dd941197dbc312da16ef4f2cd9ed9c67c82ee1b4aae70cb9f2638589a2aa0fc897f5fc09ace7e1544ef2a7406a66dbf2e0aa6566086c87d1e1b475c558772f3efe030000000000000000000000000000000000000000000000000000000000
|
@ -31,6 +31,9 @@ Manifest:
|
||||
Certificate Exchange Max Poll Interval: {{.CertificateExchange.MaximumPollInterval}}
|
||||
|
||||
PubSub Compression Enabled: {{.PubSub.CompressionEnabled}}
|
||||
PubSub Chain Compression Enabled: {{.PubSub.ChainCompressionEnabled}}
|
||||
PubSub GMessage Subscription Buffer Size: {{.PubSub.GMessageSubscriptionBufferSize}}
|
||||
PubSub Validated Message Buffer Size: {{.PubSub.ValidatedMessageBufferSize}}
|
||||
|
||||
Chain Exchange Subscription Buffer Size: {{.ChainExchange.SubscriptionBufferSize}}
|
||||
Chain Exchange Max Chain Length: {{.ChainExchange.MaxChainLength}}
|
||||
@ -39,3 +42,11 @@ Manifest:
|
||||
Chain Exchange Max Wanted Chains Per Instance: {{.ChainExchange.MaxWantedChainsPerInstance}}
|
||||
Chain Exchange Rebroadcast Interval: {{.ChainExchange.RebroadcastInterval}}
|
||||
Chain Exchange Max Timestamp Age: {{.ChainExchange.MaxTimestampAge}}
|
||||
|
||||
Partial Message Pending Discovered Chains Buffer Size: {{.PartialMessageManager.PendingDiscoveredChainsBufferSize}}
|
||||
Partial Message Pending Partial Messages Buffer Size: {{.PartialMessageManager.PendingPartialMessagesBufferSize}}
|
||||
Partial Message Pending Chain Broadcasts Buffer Size: {{.PartialMessageManager.PendingChainBroadcastsBufferSize}}
|
||||
Partial Message Pending Instance Removal Buffer Size: {{.PartialMessageManager.PendingInstanceRemovalBufferSize}}
|
||||
Partial Message Completed Messages Buffer Size: {{.PartialMessageManager.CompletedMessagesBufferSize}}
|
||||
Partial Message Max Buffered Messages Per Instance: {{.PartialMessageManager.MaxBufferedMessagesPerInstance}}
|
||||
Partial Message Max Cached Validated Messages Per Instance: {{.PartialMessageManager.MaxCachedValidatedMessagesPerInstance}}
|
||||
|
@ -2648,7 +2648,10 @@ Response:
|
||||
"MaximumPollInterval": 0
|
||||
},
|
||||
"PubSub": {
|
||||
"CompressionEnabled": false
|
||||
"CompressionEnabled": false,
|
||||
"ChainCompressionEnabled": false,
|
||||
"GMessageSubscriptionBufferSize": 0,
|
||||
"ValidatedMessageBufferSize": 0
|
||||
},
|
||||
"ChainExchange": {
|
||||
"SubscriptionBufferSize": 0,
|
||||
@ -2658,6 +2661,15 @@ Response:
|
||||
"MaxWantedChainsPerInstance": 0,
|
||||
"RebroadcastInterval": 0,
|
||||
"MaxTimestampAge": 0
|
||||
},
|
||||
"PartialMessageManager": {
|
||||
"PendingDiscoveredChainsBufferSize": 0,
|
||||
"PendingPartialMessagesBufferSize": 0,
|
||||
"PendingChainBroadcastsBufferSize": 0,
|
||||
"PendingInstanceRemovalBufferSize": 0,
|
||||
"CompletedMessagesBufferSize": 0,
|
||||
"MaxBufferedMessagesPerInstance": 0,
|
||||
"MaxCachedValidatedMessagesPerInstance": 0
|
||||
}
|
||||
}
|
||||
```
|
||||
@ -2708,9 +2720,26 @@ Inputs: `null`
|
||||
Response:
|
||||
```json
|
||||
{
|
||||
"ID": 42,
|
||||
"Round": 42,
|
||||
"Phase": 0
|
||||
"ID": 1413,
|
||||
"Round": 1,
|
||||
"Phase": 4,
|
||||
"Input": [
|
||||
{
|
||||
"Key": [
|
||||
{
|
||||
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
||||
},
|
||||
{
|
||||
"/": "bafy2bzacebp3shtrn43k7g3unredz7fxn4gj533d3o43tqn2p2ipxxhrvchve"
|
||||
}
|
||||
],
|
||||
"Commitments": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
|
||||
"Epoch": 0,
|
||||
"PowerTable": {
|
||||
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
|
6
go.mod
6
go.mod
@ -1,6 +1,6 @@
|
||||
module github.com/filecoin-project/lotus
|
||||
|
||||
go 1.23.6
|
||||
go 1.23.7
|
||||
|
||||
retract v1.14.0 // Accidentally force-pushed tag, use v1.14.1+ instead.
|
||||
|
||||
@ -45,7 +45,7 @@ require (
|
||||
github.com/filecoin-project/go-cbor-util v0.0.1
|
||||
github.com/filecoin-project/go-commp-utils/v2 v2.1.0
|
||||
github.com/filecoin-project/go-crypto v0.1.0
|
||||
github.com/filecoin-project/go-f3 v0.8.2
|
||||
github.com/filecoin-project/go-f3 v0.8.3
|
||||
github.com/filecoin-project/go-fil-commcid v0.2.0
|
||||
github.com/filecoin-project/go-hamt-ipld/v3 v3.4.0
|
||||
github.com/filecoin-project/go-jsonrpc v0.7.0
|
||||
@ -157,7 +157,7 @@ require (
|
||||
go.uber.org/zap v1.27.0
|
||||
golang.org/x/crypto v0.35.0
|
||||
golang.org/x/mod v0.23.0
|
||||
golang.org/x/net v0.35.0
|
||||
golang.org/x/net v0.36.0
|
||||
golang.org/x/sync v0.11.0
|
||||
golang.org/x/sys v0.30.0
|
||||
golang.org/x/term v0.29.0
|
||||
|
8
go.sum
8
go.sum
@ -280,8 +280,8 @@ github.com/filecoin-project/go-commp-utils/v2 v2.1.0/go.mod h1:NbxJYlhxtWaNhlVCj
|
||||
github.com/filecoin-project/go-crypto v0.0.0-20191218222705-effae4ea9f03/go.mod h1:+viYnvGtUTgJRdy6oaeF4MTFKAfatX071MPDPBL11EQ=
|
||||
github.com/filecoin-project/go-crypto v0.1.0 h1:Pob2MphoipMbe/ksxZOMcQvmBHAd3sI/WEqcbpIsGI0=
|
||||
github.com/filecoin-project/go-crypto v0.1.0/go.mod h1:K9UFXvvoyAVvB+0Le7oGlKiT9mgA5FHOJdYQXEE8IhI=
|
||||
github.com/filecoin-project/go-f3 v0.8.2 h1:oH1KOMvr4jGTvqUNfM7+4VcznJYjXa1z86Notp744nc=
|
||||
github.com/filecoin-project/go-f3 v0.8.2/go.mod h1:dAqNQ59L/zxjt32KI5kM8gzPtN8odwYHTjNcEq5wp1s=
|
||||
github.com/filecoin-project/go-f3 v0.8.3 h1:0ToWoqJDsunr+Jf945Upvk6rdXn8It5B5LcyiY1Ry1k=
|
||||
github.com/filecoin-project/go-f3 v0.8.3/go.mod h1:KWksfw7CabMuL4ple/J52gK4soYBpTsL6i5WAgtJDqw=
|
||||
github.com/filecoin-project/go-fil-commcid v0.2.0 h1:B+5UX8XGgdg/XsdUpST4pEBviKkFOw+Fvl2bLhSKGpI=
|
||||
github.com/filecoin-project/go-fil-commcid v0.2.0/go.mod h1:8yigf3JDIil+/WpqR5zoKyP0jBPCOGtEqq/K1CcMy9Q=
|
||||
github.com/filecoin-project/go-fil-commp-hashhash v0.2.0 h1:HYIUugzjq78YvV3vC6rL95+SfC/aSTVSnZSZiDV5pCk=
|
||||
@ -1568,8 +1568,8 @@ golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns=
|
||||
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
|
||||
golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI=
|
||||
golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY=
|
||||
golang.org/x/net v0.35.0 h1:T5GQRQb2y08kTAByq9L4/bz8cipCdA8FbRTXewonqY8=
|
||||
golang.org/x/net v0.35.0/go.mod h1:EglIi67kWsHKlRzzVMUD93VMSWGFOMSZgxFjparz1Qk=
|
||||
golang.org/x/net v0.36.0 h1:vWF2fRbw4qslQsQzgFqZff+BItCvGFQqKzKIzx1rmoA=
|
||||
golang.org/x/net v0.36.0/go.mod h1:bFmbeoIPfrw4sMHNhb4J9f6+tPziuGjq7Jk/38fxi1I=
|
||||
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||
golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||
golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||
|
@ -478,6 +478,7 @@ func newTestManifest(networkName gpbft.NetworkName, bootstrapEpoch int64, blockt
|
||||
},
|
||||
PubSub: manifest.DefaultPubSubConfig,
|
||||
ChainExchange: manifest.DefaultChainExchangeConfig,
|
||||
PartialMessageManager: manifest.DefaultPartialMessageManagerConfig,
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -85,9 +85,9 @@ func (f3api *F3API) F3GetF3PowerTable(ctx context.Context, tsk types.TipSetKey)
|
||||
return f3api.F3.GetF3PowerTable(ctx, tsk)
|
||||
}
|
||||
|
||||
func (f3api *F3API) F3GetProgress(context.Context) (gpbft.Instant, error) {
|
||||
func (f3api *F3API) F3GetProgress(context.Context) (gpbft.InstanceProgress, error) {
|
||||
if f3api.F3 == nil {
|
||||
return gpbft.Instant{}, api.ErrF3Disabled
|
||||
return gpbft.InstanceProgress{}, api.ErrF3Disabled
|
||||
}
|
||||
return f3api.F3.Progress(), nil
|
||||
}
|
||||
|
Reference in New Issue
Block a user