Skip to content

Commit bc8c29b

Browse files
authored
feat(f3): display the initial power table CID in the F3 manifest (#12626)
Also, add it to the manifest if not already set.
1 parent 38e4d91 commit bc8c29b

File tree

3 files changed

+20
-7
lines changed

3 files changed

+20
-7
lines changed

chain/lf3/f3.go

+14-2
Original file line numberDiff line numberDiff line change
@@ -184,8 +184,20 @@ func (fff *F3) GetLatestCert(ctx context.Context) (*certs.FinalityCertificate, e
184184
return fff.inner.GetLatestCert(ctx)
185185
}
186186

187-
func (fff *F3) GetManifest() *manifest.Manifest {
188-
return fff.inner.Manifest()
187+
func (fff *F3) GetManifest(ctx context.Context) *manifest.Manifest {
188+
m := fff.inner.Manifest()
189+
if m.InitialPowerTable.Defined() {
190+
return m
191+
}
192+
cert0, err := fff.inner.GetCert(ctx, 0)
193+
if err != nil {
194+
return m
195+
}
196+
197+
var mCopy = *m
198+
m = &mCopy
199+
m.InitialPowerTable = cert0.ECChain.Base().PowerTable
200+
return m
189201
}
190202

191203
func (fff *F3) GetPowerTable(ctx context.Context, tsk types.TipSetKey) (gpbft.PowerEntries, error) {

cli/f3.go

+4-3
Original file line numberDiff line numberDiff line change
@@ -152,13 +152,14 @@ func prettyPrintManifest(out io.Writer, manifest *manifest.Manifest) error {
152152
Protocol Version: {{.ProtocolVersion}}
153153
Paused: {{.Pause}}
154154
Initial Instance: {{.InitialInstance}}
155+
Initial Power Table: {{if .InitialPowerTable.Defined}}{{.InitialPowerTable}}{{else}}unknown{{end}}
155156
Bootstrap Epoch: {{.BootstrapEpoch}}
156157
Network Name: {{.NetworkName}}
157158
Ignore EC Power: {{.IgnoreECPower}}
158159
Committee Lookback: {{.CommitteeLookback}}
159160
Catch Up Alignment: {{.CatchUpAlignment}}
160161
161-
GPBFT Delta: {{.Gpbft.Delta}}
162+
GPBFT Delta: {{.Gpbft.Delta}}
162163
GPBFT Delta BackOff Exponent: {{.Gpbft.DeltaBackOffExponent}}
163164
GPBFT Max Lookahead Rounds: {{.Gpbft.MaxLookaheadRounds}}
164165
GPBFT Rebroadcast Backoff Base: {{.Gpbft.RebroadcastBackoffBase}}
@@ -171,8 +172,8 @@ func prettyPrintManifest(out io.Writer, manifest *manifest.Manifest) error {
171172
EC Head Lookback: {{.EC.HeadLookback}}
172173
EC Finalize: {{.EC.Finalize}}
173174
174-
Certificate Exchange Client Timeout: {{.CertificateExchange.ClientRequestTimeout}}
175-
Certificate Exchange Server Timeout: {{.CertificateExchange.ServerRequestTimeout}}
175+
Certificate Exchange Client Timeout: {{.CertificateExchange.ClientRequestTimeout}}
176+
Certificate Exchange Server Timeout: {{.CertificateExchange.ServerRequestTimeout}}
176177
Certificate Exchange Min Poll Interval: {{.CertificateExchange.MinimumPollInterval}}
177178
Certificate Exchange Max Poll Interval: {{.CertificateExchange.MaximumPollInterval}}
178179
`

node/impl/full/f3.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -57,11 +57,11 @@ func (f3api *F3API) F3GetLatestCertificate(ctx context.Context) (*certs.Finality
5757
return f3api.F3.GetLatestCert(ctx)
5858
}
5959

60-
func (f3api *F3API) F3GetManifest(context.Context) (*manifest.Manifest, error) {
60+
func (f3api *F3API) F3GetManifest(ctx context.Context) (*manifest.Manifest, error) {
6161
if f3api.F3 == nil {
6262
return nil, api.ErrF3Disabled
6363
}
64-
return f3api.F3.GetManifest(), nil
64+
return f3api.F3.GetManifest(ctx), nil
6565
}
6666

6767
func (f3api *F3API) F3IsRunning(context.Context) (bool, error) {

0 commit comments

Comments
 (0)