fix make gen

This commit is contained in:
Łukasz Magiera 2022-08-29 16:25:30 +02:00
parent d00e1e78bb
commit 08b22edd89
179 changed files with 371 additions and 347 deletions

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package api package api
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package api package api
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package badgerbs package badgerbs
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package badgerbs package badgerbs
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package splitstore package splitstore
import ( import (

View File

@ -519,6 +519,7 @@ func (s *SplitStore) applyProtectors() error {
// - At this point we are ready to begin purging: // - At this point we are ready to begin purging:
// - We sort cold objects heaviest first, so as to never delete the consituents of a DAG before the DAG itself (which would leave dangling references) // - We sort cold objects heaviest first, so as to never delete the consituents of a DAG before the DAG itself (which would leave dangling references)
// - We delete in small batches taking a lock; each batch is checked again for marks, from the concurrent transactional mark, so as to never delete anything live // - We delete in small batches taking a lock; each batch is checked again for marks, from the concurrent transactional mark, so as to never delete anything live
//
// - We then end the transaction and compact/gc the hotstore. // - We then end the transaction and compact/gc the hotstore.
func (s *SplitStore) compact(curTs *types.TipSet) { func (s *SplitStore) compact(curTs *types.TipSet) {
log.Info("waiting for active views to complete") log.Info("waiting for active views to complete")

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package splitstore package splitstore
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package blockstore package blockstore
import ( import (

View File

@ -12,10 +12,9 @@ type unionBlockstore []Blockstore
// Union returns an unioned blockstore. // Union returns an unioned blockstore.
// //
// * Reads return from the first blockstore that has the value, querying in the // - Reads return from the first blockstore that has the value, querying in the
// supplied order. // supplied order.
// * Writes (puts and deletes) are broadcast to all stores. // - Writes (puts and deletes) are broadcast to all stores.
//
func Union(stores ...Blockstore) Blockstore { func Union(stores ...Blockstore) Blockstore {
return unionBlockstore(stores) return unionBlockstore(stores)
} }

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package blockstore package blockstore
import ( import (

Binary file not shown.

Binary file not shown.

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package build package build
import ( import (

View File

@ -5,7 +5,6 @@
// //
// Its purpose is to unlock various degrees of flexibility and parametrization // Its purpose is to unlock various degrees of flexibility and parametrization
// when writing Testground plans for Lotus. // when writing Testground plans for Lotus.
//
package build package build
import ( import (

View File

@ -26,7 +26,7 @@ type AdtArrayDiff interface {
// - All values that exist in preArr and not in curArr are passed to AdtArrayDiff.Remove() // - All values that exist in preArr and not in curArr are passed to AdtArrayDiff.Remove()
// - All values that exist in curArr nnd not in prevArr are passed to adtArrayDiff.Add() // - All values that exist in curArr nnd not in prevArr are passed to adtArrayDiff.Add()
// - All values that exist in preArr and in curArr are passed to AdtArrayDiff.Modify() // - All values that exist in preArr and in curArr are passed to AdtArrayDiff.Modify()
// - It is the responsibility of AdtArrayDiff.Modify() to determine if the values it was passed have been modified. // - It is the responsibility of AdtArrayDiff.Modify() to determine if the values it was passed have been modified.
func DiffAdtArray(preArr, curArr Array, out AdtArrayDiff) error { func DiffAdtArray(preArr, curArr Array, out AdtArrayDiff) error {
notNew := make(map[int64]struct{}, curArr.Length()) notNew := make(map[int64]struct{}, curArr.Length())
prevVal := new(typegen.Deferred) prevVal := new(typegen.Deferred)

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package adt package adt
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package aerrors_test package aerrors_test
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package policy package policy
import ( import (

View File

@ -1,5 +1,5 @@
//stm: ignore // stm: ignore
//Only tests external library behavior, therefore it should not be annotated // Only tests external library behavior, therefore it should not be annotated
package drand package drand
import ( import (

View File

@ -23,7 +23,8 @@ type triggerID = uint64
type msgH = abi.ChainEpoch type msgH = abi.ChainEpoch
// triggerH is the block height at which the listener will be notified about the // triggerH is the block height at which the listener will be notified about the
// message (msgH+confidence) //
// message (msgH+confidence)
type triggerH = abi.ChainEpoch type triggerH = abi.ChainEpoch
type eventData interface{} type eventData interface{}
@ -39,7 +40,8 @@ type EventHandler func(ctx context.Context, data eventData, prevTs, ts *types.Ti
// //
// If `done` is true, timeout won't be triggered // If `done` is true, timeout won't be triggered
// If `more` is false, no messages will be sent to EventHandler (RevertHandler // If `more` is false, no messages will be sent to EventHandler (RevertHandler
// may still be called) //
// may still be called)
type CheckFunc func(ctx context.Context, ts *types.TipSet) (done bool, more bool, err error) type CheckFunc func(ctx context.Context, ts *types.TipSet) (done bool, more bool, err error)
// Keep track of information for an event handler // Keep track of information for an event handler
@ -375,31 +377,31 @@ type StateMatchFunc func(oldTs, newTs *types.TipSet) (bool, StateChange, error)
// StateChanged registers a callback which is triggered when a specified state // StateChanged registers a callback which is triggered when a specified state
// change occurs or a timeout is reached. // change occurs or a timeout is reached.
// //
// * `CheckFunc` callback is invoked immediately with a recent tipset, it // - `CheckFunc` callback is invoked immediately with a recent tipset, it
// returns two booleans - `done`, and `more`. // returns two booleans - `done`, and `more`.
// //
// * `done` should be true when some on-chain state change we are waiting // - `done` should be true when some on-chain state change we are waiting
// for has happened. When `done` is set to true, timeout trigger is disabled. // for has happened. When `done` is set to true, timeout trigger is disabled.
// //
// * `more` should be false when we don't want to receive new notifications // - `more` should be false when we don't want to receive new notifications
// through StateChangeHandler. Note that notifications may still be delivered to // through StateChangeHandler. Note that notifications may still be delivered to
// RevertHandler // RevertHandler
// //
// * `StateChangeHandler` is called when the specified state change was observed // - `StateChangeHandler` is called when the specified state change was observed
// on-chain, and a confidence threshold was reached, or the specified `timeout` // on-chain, and a confidence threshold was reached, or the specified `timeout`
// height was reached with no state change observed. When this callback is // height was reached with no state change observed. When this callback is
// invoked on a timeout, `oldTs` and `states are set to nil. // invoked on a timeout, `oldTs` and `states are set to nil.
// This callback returns a boolean specifying whether further notifications // This callback returns a boolean specifying whether further notifications
// should be sent, like `more` return param from `CheckFunc` above. // should be sent, like `more` return param from `CheckFunc` above.
// //
// * `RevertHandler` is called after apply handler, when we drop the tipset // - `RevertHandler` is called after apply handler, when we drop the tipset
// containing the message. The tipset passed as the argument is the tipset // containing the message. The tipset passed as the argument is the tipset
// that is being dropped. Note that the event dropped may be re-applied // that is being dropped. Note that the event dropped may be re-applied
// in a different tipset in small amount of time. // in a different tipset in small amount of time.
// //
// * `StateMatchFunc` is called against each tipset state. If there is a match, // - `StateMatchFunc` is called against each tipset state. If there is a match,
// the state change is queued up until the confidence interval has elapsed (and // the state change is queued up until the confidence interval has elapsed (and
// `StateChangeHandler` is called) // `StateChangeHandler` is called)
func (we *watcherEvents) StateChanged(check CheckFunc, scHnd StateChangeHandler, rev RevertHandler, confidence int, timeout abi.ChainEpoch, mf StateMatchFunc) error { func (we *watcherEvents) StateChanged(check CheckFunc, scHnd StateChangeHandler, rev RevertHandler, confidence int, timeout abi.ChainEpoch, mf StateMatchFunc) error {
hnd := func(ctx context.Context, data eventData, prevTs, ts *types.TipSet, height abi.ChainEpoch) (bool, error) { hnd := func(ctx context.Context, data eventData, prevTs, ts *types.TipSet, height abi.ChainEpoch) (bool, error) {
states, ok := data.(StateChange) states, ok := data.(StateChange)
@ -503,33 +505,34 @@ type MsgHandler func(msg *types.Message, rec *types.MessageReceipt, ts *types.Ti
type MsgMatchFunc func(msg *types.Message) (matched bool, err error) type MsgMatchFunc func(msg *types.Message) (matched bool, err error)
// Called registers a callback which is triggered when a specified method is // Called registers a callback which is triggered when a specified method is
// called on an actor, or a timeout is reached.
// //
// * `CheckFunc` callback is invoked immediately with a recent tipset, it // called on an actor, or a timeout is reached.
// returns two booleans - `done`, and `more`.
// //
// * `done` should be true when some on-chain action we are waiting for has // - `CheckFunc` callback is invoked immediately with a recent tipset, it
// happened. When `done` is set to true, timeout trigger is disabled. // returns two booleans - `done`, and `more`.
// //
// * `more` should be false when we don't want to receive new notifications // - `done` should be true when some on-chain action we are waiting for has
// through MsgHandler. Note that notifications may still be delivered to // happened. When `done` is set to true, timeout trigger is disabled.
// RevertHandler
// //
// * `MsgHandler` is called when the specified event was observed on-chain, // - `more` should be false when we don't want to receive new notifications
// and a confidence threshold was reached, or the specified `timeout` height // through MsgHandler. Note that notifications may still be delivered to
// was reached with no events observed. When this callback is invoked on a // RevertHandler
// timeout, `msg` is set to nil. This callback returns a boolean specifying
// whether further notifications should be sent, like `more` return param
// from `CheckFunc` above.
// //
// * `RevertHandler` is called after apply handler, when we drop the tipset // - `MsgHandler` is called when the specified event was observed on-chain,
// containing the message. The tipset passed as the argument is the tipset // and a confidence threshold was reached, or the specified `timeout` height
// that is being dropped. Note that the message dropped may be re-applied // was reached with no events observed. When this callback is invoked on a
// in a different tipset in small amount of time. // timeout, `msg` is set to nil. This callback returns a boolean specifying
// whether further notifications should be sent, like `more` return param
// from `CheckFunc` above.
// //
// * `MsgMatchFunc` is called against each message. If there is a match, the // - `RevertHandler` is called after apply handler, when we drop the tipset
// message is queued up until the confidence interval has elapsed (and // containing the message. The tipset passed as the argument is the tipset
// `MsgHandler` is called) // that is being dropped. Note that the message dropped may be re-applied
// in a different tipset in small amount of time.
//
// - `MsgMatchFunc` is called against each message. If there is a match, the
// message is queued up until the confidence interval has elapsed (and
// `MsgHandler` is called)
func (me *messageEvents) Called(ctx context.Context, check CheckFunc, msgHnd MsgHandler, rev RevertHandler, confidence int, timeout abi.ChainEpoch, mf MsgMatchFunc) error { func (me *messageEvents) Called(ctx context.Context, check CheckFunc, msgHnd MsgHandler, rev RevertHandler, confidence int, timeout abi.ChainEpoch, mf MsgMatchFunc) error {
hnd := func(ctx context.Context, data eventData, prevTs, ts *types.TipSet, height abi.ChainEpoch) (bool, error) { hnd := func(ctx context.Context, data eventData, prevTs, ts *types.TipSet, height abi.ChainEpoch) (bool, error) {
msg, ok := data.(*types.Message) msg, ok := data.(*types.Message)

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package events package events
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package state package state
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package events package events
import ( import (

View File

@ -10,8 +10,8 @@
// A client can also pass options, encoded as a 64-bit bitfield. Lotus supports // A client can also pass options, encoded as a 64-bit bitfield. Lotus supports
// two options at the moment: // two options at the moment:
// //
// - include block contents // - include block contents
// - include block messages // - include block messages
// //
// The response will include a status code, an optional message, and the // The response will include a status code, an optional message, and the
// response payload in case of success. The payload is a slice of serialized // response payload in case of success. The payload is a slice of serialized

View File

@ -21,11 +21,12 @@ const (
) )
// FIXME: Bumped from original 800 to this to accommodate `syncFork()` // FIXME: Bumped from original 800 to this to accommodate `syncFork()`
// use of `GetBlocks()`. It seems the expectation of that API is to //
// fetch any amount of blocks leaving it to the internal logic here // use of `GetBlocks()`. It seems the expectation of that API is to
// to partition and reassemble the requests if they go above the maximum. // fetch any amount of blocks leaving it to the internal logic here
// (Also as a consequence of this temporarily removing the `const` // to partition and reassemble the requests if they go above the maximum.
// qualifier to avoid "const initializer [...] is not a constant" error.) // (Also as a consequence of this temporarily removing the `const`
// qualifier to avoid "const initializer [...] is not a constant" error.)
var MaxRequestLength = uint64(build.ForkLengthThreshold) var MaxRequestLength = uint64(build.ForkLengthThreshold)
const ( const (
@ -147,11 +148,12 @@ type BSTipSet struct {
// `BlsIncludes`/`SecpkIncludes` matches `Bls`/`Secpk` messages // `BlsIncludes`/`SecpkIncludes` matches `Bls`/`Secpk` messages
// to blocks in the tipsets with the format: // to blocks in the tipsets with the format:
// `BlsIncludes[BI][MI]` // `BlsIncludes[BI][MI]`
// * BI: block index in the tipset. // - BI: block index in the tipset.
// * MI: message index in `Bls` list // - MI: message index in `Bls` list
// //
// FIXME: The logic to decompress this structure should belong // FIXME: The logic to decompress this structure should belong
// to itself, not to the consumer. //
// to itself, not to the consumer.
type CompactedMessages struct { type CompactedMessages struct {
Bls []*types.Message Bls []*types.Message
BlsIncludes [][]uint64 BlsIncludes [][]uint64

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package gen package gen
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package market package market
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package messagepool package messagepool
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package messagepool package messagepool
import ( import (

View File

@ -1056,9 +1056,9 @@ func (mp *MessagePool) getStateBalance(ctx context.Context, addr address.Address
// this method is provided for the gateway to push messages. // this method is provided for the gateway to push messages.
// differences from Push: // differences from Push:
// - strict checks are enabled // - strict checks are enabled
// - extra strict add checks are used when adding the messages to the msgSet // - extra strict add checks are used when adding the messages to the msgSet
// that means: no nonce gaps, at most 10 pending messages for the actor // that means: no nonce gaps, at most 10 pending messages for the actor
func (mp *MessagePool) PushUntrusted(ctx context.Context, m *types.SignedMessage) (cid.Cid, error) { func (mp *MessagePool) PushUntrusted(ctx context.Context, m *types.SignedMessage) (cid.Cid, error) {
err := mp.checkMessage(m) err := mp.checkMessage(m)
if err != nil { if err != nil {

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package messagepool package messagepool
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package messagepool package messagepool
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package messagepool package messagepool
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package messagesigner package messagesigner
import ( import (

View File

@ -1,4 +1,4 @@
//stm:#unit // stm:#unit
package rand_test package rand_test
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package state package state
import ( import (

View File

@ -30,9 +30,9 @@ var ErrExpensiveFork = errors.New("refusing explicit call due to state fork at e
// tipset's parent. In the presence of null blocks, the height at which the message is invoked may // tipset's parent. In the presence of null blocks, the height at which the message is invoked may
// be less than the specified tipset. // be less than the specified tipset.
// //
// - If no tipset is specified, the first tipset without an expensive migration is used. // - If no tipset is specified, the first tipset without an expensive migration is used.
// - If executing a message at a given tipset would trigger an expensive migration, the call will // - If executing a message at a given tipset would trigger an expensive migration, the call will
// fail with ErrExpensiveFork. // fail with ErrExpensiveFork.
func (sm *StateManager) Call(ctx context.Context, msg *types.Message, ts *types.TipSet) (*api.InvocResult, error) { func (sm *StateManager) Call(ctx context.Context, msg *types.Message, ts *types.TipSet) (*api.InvocResult, error) {
ctx, span := trace.StartSpan(ctx, "statemanager.Call") ctx, span := trace.StartSpan(ctx, "statemanager.Call")
defer span.End() defer span.End()

View File

@ -36,12 +36,12 @@ type MigrationCache interface {
// MigrationFunc is a migration function run at every upgrade. // MigrationFunc is a migration function run at every upgrade.
// //
// - The cache is a per-upgrade cache, pre-populated by pre-migrations. // - The cache is a per-upgrade cache, pre-populated by pre-migrations.
// - The oldState is the state produced by the upgrade epoch. // - The oldState is the state produced by the upgrade epoch.
// - The returned newState is the new state that will be used by the next epoch. // - The returned newState is the new state that will be used by the next epoch.
// - The height is the upgrade epoch height (already executed). // - The height is the upgrade epoch height (already executed).
// - The tipset is the first non-null tipset after the upgrade height (the tipset in // - The tipset is the first non-null tipset after the upgrade height (the tipset in
// which the upgrade is executed). Do not assume that ts.Height() is the upgrade height. // which the upgrade is executed). Do not assume that ts.Height() is the upgrade height.
// //
// NOTE: In StateCompute and CallWithGas, the passed tipset is actually the tipset _before_ the // NOTE: In StateCompute and CallWithGas, the passed tipset is actually the tipset _before_ the
// upgrade. The tipset should really only be used for referencing the "current chain". // upgrade. The tipset should really only be used for referencing the "current chain".

View File

@ -1,4 +1,4 @@
//stm: #integration // stm: #integration
package stmgr_test package stmgr_test
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package stmgr_test package stmgr_test
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package store_test package store_test
import ( import (

View File

@ -9,12 +9,17 @@ import (
// WrapHeadChangeCoalescer wraps a ReorgNotifee with a head change coalescer. // WrapHeadChangeCoalescer wraps a ReorgNotifee with a head change coalescer.
// minDelay is the minimum coalesce delay; when a head change is first received, the coalescer will // minDelay is the minimum coalesce delay; when a head change is first received, the coalescer will
// wait for that long to coalesce more head changes. //
// wait for that long to coalesce more head changes.
//
// maxDelay is the maximum coalesce delay; the coalescer will not delay delivery of a head change // maxDelay is the maximum coalesce delay; the coalescer will not delay delivery of a head change
// more than that. //
// more than that.
//
// mergeInterval is the interval that triggers additional coalesce delay; if the last head change was // mergeInterval is the interval that triggers additional coalesce delay; if the last head change was
// within the merge interval when the coalesce timer fires, then the coalesce time is extended //
// by min delay and up to max delay total. // within the merge interval when the coalesce timer fires, then the coalesce time is extended
// by min delay and up to max delay total.
func WrapHeadChangeCoalescer(fn ReorgNotifee, minDelay, maxDelay, mergeInterval time.Duration) ReorgNotifee { func WrapHeadChangeCoalescer(fn ReorgNotifee, minDelay, maxDelay, mergeInterval time.Duration) ReorgNotifee {
c := NewHeadChangeCoalescer(fn, minDelay, maxDelay, mergeInterval) c := NewHeadChangeCoalescer(fn, minDelay, maxDelay, mergeInterval)
return c.HeadChange return c.HeadChange

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package store package store
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package store_test package store_test
import ( import (

View File

@ -93,8 +93,8 @@ type WeightFunc func(ctx context.Context, stateBs bstore.Blockstore, ts *types.T
// store). // store).
// //
// To alleviate disk access, the ChainStore has two ARC caches: // To alleviate disk access, the ChainStore has two ARC caches:
// 1. a tipset cache // 1. a tipset cache
// 2. a block => messages references cache. // 2. a block => messages references cache.
type ChainStore struct { type ChainStore struct {
chainBlockstore bstore.Blockstore chainBlockstore bstore.Blockstore
stateBlockstore bstore.Blockstore stateBlockstore bstore.Blockstore
@ -453,8 +453,9 @@ func (cs *ChainStore) MaybeTakeHeavierTipSet(ctx context.Context, ts *types.TipS
// The "fast forward" case is covered in this logic as a valid fork of length 0. // The "fast forward" case is covered in this logic as a valid fork of length 0.
// //
// FIXME: We may want to replace some of the logic in `syncFork()` with this. // FIXME: We may want to replace some of the logic in `syncFork()` with this.
// `syncFork()` counts the length on both sides of the fork at the moment (we //
// need to settle on that) but here we just enforce it on the `synced` side. // `syncFork()` counts the length on both sides of the fork at the moment (we
// need to settle on that) but here we just enforce it on the `synced` side.
func (cs *ChainStore) exceedsForkLength(ctx context.Context, synced, external *types.TipSet) (bool, error) { func (cs *ChainStore) exceedsForkLength(ctx context.Context, synced, external *types.TipSet) (bool, error) {
if synced == nil || external == nil { if synced == nil || external == nil {
// FIXME: If `cs.heaviest` is nil we should just bypass the entire // FIXME: If `cs.heaviest` is nil we should just bypass the entire

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package store_test package store_test
import ( import (

View File

@ -159,9 +159,12 @@ func FetchSignedMessagesByCids(
} }
// Fetch `cids` from the block service, apply `cb` on each of them. Used // Fetch `cids` from the block service, apply `cb` on each of them. Used
// by the fetch message functions above. //
// by the fetch message functions above.
//
// We check that each block is received only once and we do not received // We check that each block is received only once and we do not received
// blocks we did not request. //
// blocks we did not request.
func fetchCids( func fetchCids(
ctx context.Context, ctx context.Context,
bserv bserv.BlockGetter, bserv bserv.BlockGetter,

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package sub package sub
import ( import (

View File

@ -60,16 +60,16 @@ var (
// Syncer is in charge of running the chain synchronization logic. As such, it // Syncer is in charge of running the chain synchronization logic. As such, it
// is tasked with these functions, amongst others: // is tasked with these functions, amongst others:
// //
// * Fast-forwards the chain as it learns of new TipSets from the network via // - Fast-forwards the chain as it learns of new TipSets from the network via
// the SyncManager. // the SyncManager.
// * Applies the fork choice rule to select the correct side when confronted // - Applies the fork choice rule to select the correct side when confronted
// with a fork in the network. // with a fork in the network.
// * Requests block headers and messages from other peers when not available // - Requests block headers and messages from other peers when not available
// in our BlockStore. // in our BlockStore.
// * Tracks blocks marked as bad in a cache. // - Tracks blocks marked as bad in a cache.
// * Keeps the BlockStore and ChainStore consistent with our view of the world, // - Keeps the BlockStore and ChainStore consistent with our view of the world,
// the latter of which in turn informs other components when a reorg has been // the latter of which in turn informs other components when a reorg has been
// committed. // committed.
// //
// The Syncer does not run workers itself. It's mainly concerned with // The Syncer does not run workers itself. It's mainly concerned with
// ensuring a consistent state of chain consensus. The reactive and network- // ensuring a consistent state of chain consensus. The reactive and network-
@ -671,9 +671,9 @@ func extractSyncState(ctx context.Context) *SyncerState {
// 2. Check the consistency of beacon entries in the from tipset. We check // 2. Check the consistency of beacon entries in the from tipset. We check
// total equality of the BeaconEntries in each block. // total equality of the BeaconEntries in each block.
// 3. Traverse the chain backwards, for each tipset: // 3. Traverse the chain backwards, for each tipset:
// 3a. Load it from the chainstore; if found, it move on to its parent. // 3a. Load it from the chainstore; if found, it move on to its parent.
// 3b. Query our peers via client in batches, requesting up to a // 3b. Query our peers via client in batches, requesting up to a
// maximum of 500 tipsets every time. // maximum of 500 tipsets every time.
// //
// Once we've concluded, if we find a mismatching tipset at the height where the // Once we've concluded, if we find a mismatching tipset at the height where the
// anchor tipset should be, we are facing a fork, and we invoke Syncer#syncFork // anchor tipset should be, we are facing a fork, and we invoke Syncer#syncFork
@ -1171,7 +1171,7 @@ func persistMessages(ctx context.Context, bs bstore.Blockstore, bst *exchange.Co
// else we must drop part of our chain to connect to the peer's head // else we must drop part of our chain to connect to the peer's head
// (referred to as "forking"). // (referred to as "forking").
// //
// 2. StagePersistHeaders: now that we've collected the missing headers, // 2. StagePersistHeaders: now that we've collected the missing headers,
// augmented by those on the other side of a fork, we persist them to the // augmented by those on the other side of a fork, we persist them to the
// BlockStore. // BlockStore.
// //

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package chain package chain
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package chain_test package chain_test
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package types package types
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package types package types
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package types package types
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package types package types
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package types package types
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package types package types
import ( import (

View File

@ -99,11 +99,11 @@ func tipsetSortFunc(blks []*BlockHeader) func(i, j int) bool {
} }
// Checks: // Checks:
// * A tipset is composed of at least one block. (Because of our variable // - A tipset is composed of at least one block. (Because of our variable
// number of blocks per tipset, determined by randomness, we do not impose // number of blocks per tipset, determined by randomness, we do not impose
// an upper limit.) // an upper limit.)
// * All blocks have the same height. // - All blocks have the same height.
// * All blocks have the same parents (same number of them and matching CIDs). // - All blocks have the same parents (same number of them and matching CIDs).
func NewTipSet(blks []*BlockHeader) (*TipSet, error) { func NewTipSet(blks []*BlockHeader) (*TipSet, error) {
if len(blks) == 0 { if len(blks) == 0 {
return nil, xerrors.Errorf("NewTipSet called with zero length array of blocks") return nil, xerrors.Errorf("NewTipSet called with zero length array of blocks")

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package types package types
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package types package types
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package chain package chain
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package vectors package vectors
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package vm package vm
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package vm package vm
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package vm package vm
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package vm package vm
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package wallet package wallet
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package wallet package wallet
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package cli package cli
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package cli package cli
import ( import (

View File

@ -1,5 +1,5 @@
//stm: ignore // stm: ignore
//stm: #unit // stm: #unit
package cli package cli
import ( import (

View File

@ -1,5 +1,5 @@
//stm: ignore // stm: ignore
//stm: #unit // stm: #unit
package cli package cli
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package cli package cli
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package cli package cli
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package main package main
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package main package main
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package main package main
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package main package main
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #integration // stm: #integration
package main package main
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package stages package stages
import ( import (

View File

@ -55,10 +55,10 @@ func (fs *FundingStage) Fund(bb *blockbuilder.BlockBuilder, target address.Addre
// sendAndFund "packs" the given message, funding the actor if necessary. It: // sendAndFund "packs" the given message, funding the actor if necessary. It:
// //
// 1. Tries to send the given message. // 1. Tries to send the given message.
// 2. If that fails, it checks to see if the exit code was ErrInsufficientFunds. // 2. If that fails, it checks to see if the exit code was ErrInsufficientFunds.
// 3. If so, it sends 1K FIL from the "burnt funds actor" (because we need to send it from // 3. If so, it sends 1K FIL from the "burnt funds actor" (because we need to send it from
// somewhere) and re-tries the message.0 // somewhere) and re-tries the message.0
func (fs *FundingStage) SendAndFund(bb *blockbuilder.BlockBuilder, msg *types.Message) (res *types.MessageReceipt, err error) { func (fs *FundingStage) SendAndFund(bb *blockbuilder.BlockBuilder, msg *types.Message) (res *types.MessageReceipt, err error) {
for i := 0; i < 10; i++ { for i := 0; i < 10; i++ {
res, err = bb.PushMessage(msg) res, err = bb.PushMessage(msg)

View File

@ -28,10 +28,10 @@ func (sim *Simulation) Step(ctx context.Context) (*types.TipSet, error) {
// popNextMessages generates/picks a set of messages to be included in the next block. // popNextMessages generates/picks a set of messages to be included in the next block.
// //
// - This function is destructive and should only be called once per epoch. // - This function is destructive and should only be called once per epoch.
// - This function does not store anything in the repo. // - This function does not store anything in the repo.
// - This function handles all gas estimation. The returned messages should all fit in a single // - This function handles all gas estimation. The returned messages should all fit in a single
// block. // block.
func (sim *Simulation) popNextMessages(ctx context.Context) ([]*types.Message, error) { func (sim *Simulation) popNextMessages(ctx context.Context) ([]*types.Message, error) {
parentTs := sim.head parentTs := sim.head

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package main package main
import ( import (

View File

@ -146,10 +146,10 @@ type CallerValidationArgs struct {
// CallerValidation violates VM call validation constraints. // CallerValidation violates VM call validation constraints.
// //
// CallerValidationBranchNone performs no validation. // CallerValidationBranchNone performs no validation.
// CallerValidationBranchTwice validates twice. // CallerValidationBranchTwice validates twice.
// CallerValidationBranchIsAddress validates caller against CallerValidationArgs.Addrs. // CallerValidationBranchIsAddress validates caller against CallerValidationArgs.Addrs.
// CallerValidationBranchIsType validates caller against CallerValidationArgs.Types. // CallerValidationBranchIsType validates caller against CallerValidationArgs.Types.
func (a Actor) CallerValidation(rt runtime2.Runtime, args *CallerValidationArgs) *abi.EmptyValue { func (a Actor) CallerValidation(rt runtime2.Runtime, args *CallerValidationArgs) *abi.EmptyValue {
switch args.Branch { switch args.Branch {
case CallerValidationBranchNone: case CallerValidationBranchNone:

View File

@ -1,4 +1,4 @@
//stm: #chaos // stm: #chaos
package chaos package chaos
import ( import (

View File

@ -1,4 +1,4 @@
//stm: ignore // stm: ignore
// This file does not test any behaviors by itself; rather, it runs other test files // This file does not test any behaviors by itself; rather, it runs other test files
// Therefore, this file should not be annotated. // Therefore, this file should not be annotated.
package conformance package conformance

View File

@ -276,7 +276,8 @@ func (d *Driver) ExecuteMessage(bs blockstore.Blockstore, params ExecuteMessageP
// messages that originate from secp256k senders, leaving all // messages that originate from secp256k senders, leaving all
// others untouched. // others untouched.
// TODO: generate a signature in the DSL so that it's encoded in // TODO: generate a signature in the DSL so that it's encoded in
// the test vector. //
// the test vector.
func toChainMsg(msg *types.Message) (ret types.ChainMsg) { func toChainMsg(msg *types.Message) (ret types.ChainMsg) {
ret = msg ret = msg
if msg.From.Protocol() == address.SECP256K1 { if msg.From.Protocol() == address.SECP256K1 {

View File

@ -4397,26 +4397,26 @@ Response:
}, },
"seal/v0/datacid": { "seal/v0/datacid": {
"0": { "0": {
"MinMemory": 2048, "MinMemory": 4294967296,
"MaxMemory": 2048, "MaxMemory": 4294967296,
"GPUUtilization": 0, "GPUUtilization": 0,
"MaxParallelism": 1, "MaxParallelism": 1,
"MaxParallelismGPU": 0, "MaxParallelismGPU": 0,
"BaseMinMemory": 2048, "BaseMinMemory": 1073741824,
"MaxConcurrent": 0 "MaxConcurrent": 0
}, },
"1": { "1": {
"MinMemory": 8388608, "MinMemory": 4294967296,
"MaxMemory": 8388608, "MaxMemory": 4294967296,
"GPUUtilization": 0, "GPUUtilization": 0,
"MaxParallelism": 1, "MaxParallelism": 1,
"MaxParallelismGPU": 0, "MaxParallelismGPU": 0,
"BaseMinMemory": 8388608, "BaseMinMemory": 1073741824,
"MaxConcurrent": 0 "MaxConcurrent": 0
}, },
"2": { "2": {
"MinMemory": 1073741824, "MinMemory": 4294967296,
"MaxMemory": 1073741824, "MaxMemory": 4294967296,
"GPUUtilization": 0, "GPUUtilization": 0,
"MaxParallelism": 1, "MaxParallelism": 1,
"MaxParallelismGPU": 0, "MaxParallelismGPU": 0,
@ -4433,8 +4433,8 @@ Response:
"MaxConcurrent": 0 "MaxConcurrent": 0
}, },
"4": { "4": {
"MinMemory": 8589934592, "MinMemory": 4294967296,
"MaxMemory": 8589934592, "MaxMemory": 4294967296,
"GPUUtilization": 0, "GPUUtilization": 0,
"MaxParallelism": 1, "MaxParallelism": 1,
"MaxParallelismGPU": 0, "MaxParallelismGPU": 0,
@ -4442,26 +4442,26 @@ Response:
"MaxConcurrent": 0 "MaxConcurrent": 0
}, },
"5": { "5": {
"MinMemory": 2048, "MinMemory": 4294967296,
"MaxMemory": 2048, "MaxMemory": 4294967296,
"GPUUtilization": 0, "GPUUtilization": 0,
"MaxParallelism": 1, "MaxParallelism": 1,
"MaxParallelismGPU": 0, "MaxParallelismGPU": 0,
"BaseMinMemory": 2048, "BaseMinMemory": 1073741824,
"MaxConcurrent": 0 "MaxConcurrent": 0
}, },
"6": { "6": {
"MinMemory": 8388608, "MinMemory": 4294967296,
"MaxMemory": 8388608, "MaxMemory": 4294967296,
"GPUUtilization": 0, "GPUUtilization": 0,
"MaxParallelism": 1, "MaxParallelism": 1,
"MaxParallelismGPU": 0, "MaxParallelismGPU": 0,
"BaseMinMemory": 8388608, "BaseMinMemory": 1073741824,
"MaxConcurrent": 0 "MaxConcurrent": 0
}, },
"7": { "7": {
"MinMemory": 1073741824, "MinMemory": 4294967296,
"MaxMemory": 1073741824, "MaxMemory": 4294967296,
"GPUUtilization": 0, "GPUUtilization": 0,
"MaxParallelism": 1, "MaxParallelism": 1,
"MaxParallelismGPU": 0, "MaxParallelismGPU": 0,
@ -4478,8 +4478,8 @@ Response:
"MaxConcurrent": 0 "MaxConcurrent": 0
}, },
"9": { "9": {
"MinMemory": 8589934592, "MinMemory": 4294967296,
"MaxMemory": 8589934592, "MaxMemory": 4294967296,
"GPUUtilization": 0, "GPUUtilization": 0,
"MaxParallelism": 1, "MaxParallelism": 1,
"MaxParallelismGPU": 0, "MaxParallelismGPU": 0,

View File

@ -579,26 +579,26 @@ Response:
}, },
"seal/v0/datacid": { "seal/v0/datacid": {
"0": { "0": {
"MinMemory": 2048, "MinMemory": 4294967296,
"MaxMemory": 2048, "MaxMemory": 4294967296,
"GPUUtilization": 0, "GPUUtilization": 0,
"MaxParallelism": 1, "MaxParallelism": 1,
"MaxParallelismGPU": 0, "MaxParallelismGPU": 0,
"BaseMinMemory": 2048, "BaseMinMemory": 1073741824,
"MaxConcurrent": 0 "MaxConcurrent": 0
}, },
"1": { "1": {
"MinMemory": 8388608, "MinMemory": 4294967296,
"MaxMemory": 8388608, "MaxMemory": 4294967296,
"GPUUtilization": 0, "GPUUtilization": 0,
"MaxParallelism": 1, "MaxParallelism": 1,
"MaxParallelismGPU": 0, "MaxParallelismGPU": 0,
"BaseMinMemory": 8388608, "BaseMinMemory": 1073741824,
"MaxConcurrent": 0 "MaxConcurrent": 0
}, },
"2": { "2": {
"MinMemory": 1073741824, "MinMemory": 4294967296,
"MaxMemory": 1073741824, "MaxMemory": 4294967296,
"GPUUtilization": 0, "GPUUtilization": 0,
"MaxParallelism": 1, "MaxParallelism": 1,
"MaxParallelismGPU": 0, "MaxParallelismGPU": 0,
@ -615,8 +615,8 @@ Response:
"MaxConcurrent": 0 "MaxConcurrent": 0
}, },
"4": { "4": {
"MinMemory": 8589934592, "MinMemory": 4294967296,
"MaxMemory": 8589934592, "MaxMemory": 4294967296,
"GPUUtilization": 0, "GPUUtilization": 0,
"MaxParallelism": 1, "MaxParallelism": 1,
"MaxParallelismGPU": 0, "MaxParallelismGPU": 0,
@ -624,26 +624,26 @@ Response:
"MaxConcurrent": 0 "MaxConcurrent": 0
}, },
"5": { "5": {
"MinMemory": 2048, "MinMemory": 4294967296,
"MaxMemory": 2048, "MaxMemory": 4294967296,
"GPUUtilization": 0, "GPUUtilization": 0,
"MaxParallelism": 1, "MaxParallelism": 1,
"MaxParallelismGPU": 0, "MaxParallelismGPU": 0,
"BaseMinMemory": 2048, "BaseMinMemory": 1073741824,
"MaxConcurrent": 0 "MaxConcurrent": 0
}, },
"6": { "6": {
"MinMemory": 8388608, "MinMemory": 4294967296,
"MaxMemory": 8388608, "MaxMemory": 4294967296,
"GPUUtilization": 0, "GPUUtilization": 0,
"MaxParallelism": 1, "MaxParallelism": 1,
"MaxParallelismGPU": 0, "MaxParallelismGPU": 0,
"BaseMinMemory": 8388608, "BaseMinMemory": 1073741824,
"MaxConcurrent": 0 "MaxConcurrent": 0
}, },
"7": { "7": {
"MinMemory": 1073741824, "MinMemory": 4294967296,
"MaxMemory": 1073741824, "MaxMemory": 4294967296,
"GPUUtilization": 0, "GPUUtilization": 0,
"MaxParallelism": 1, "MaxParallelism": 1,
"MaxParallelismGPU": 0, "MaxParallelismGPU": 0,
@ -660,8 +660,8 @@ Response:
"MaxConcurrent": 0 "MaxConcurrent": 0
}, },
"9": { "9": {
"MinMemory": 8589934592, "MinMemory": 4294967296,
"MaxMemory": 8589934592, "MaxMemory": 4294967296,
"GPUUtilization": 0, "GPUUtilization": 0,
"MaxParallelism": 1, "MaxParallelism": 1,
"MaxParallelismGPU": 0, "MaxParallelismGPU": 0,

View File

@ -1,4 +1,4 @@
//stm: #unit // stm: #unit
package gateway package gateway
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #integration // stm: #integration
package itests package itests
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #integration // stm: #integration
package itests package itests
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #integration // stm: #integration
package itests package itests
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #integration // stm: #integration
package itests package itests
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #integration // stm: #integration
package itests package itests
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #integration // stm: #integration
package itests package itests
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #integration // stm: #integration
package itests package itests
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #integration // stm: #integration
package itests package itests
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #integration // stm: #integration
package itests package itests
import ( import (

View File

@ -1,4 +1,4 @@
//stm: #integration // stm: #integration
package itests package itests
import ( import (

Some files were not shown because too many files have changed in this diff Show More