fix tvx
This commit is contained in:
		
							parent
							
								
									89f66dde93
								
							
						
					
					
						commit
						5a901b5eb6
					
				
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							@ -15,7 +15,8 @@ import (
 | 
				
			|||||||
	"github.com/filecoin-project/test-vectors/schema"
 | 
						"github.com/filecoin-project/test-vectors/schema"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"github.com/filecoin-project/lotus/api"
 | 
						"github.com/filecoin-project/lotus/api"
 | 
				
			||||||
	"github.com/filecoin-project/lotus/api/v0api"
 | 
						lapi "github.com/filecoin-project/lotus/api"
 | 
				
			||||||
 | 
						"github.com/filecoin-project/lotus/api/v1api"
 | 
				
			||||||
	"github.com/filecoin-project/lotus/chain/actors/builtin"
 | 
						"github.com/filecoin-project/lotus/chain/actors/builtin"
 | 
				
			||||||
	init_ "github.com/filecoin-project/lotus/chain/actors/builtin/init"
 | 
						init_ "github.com/filecoin-project/lotus/chain/actors/builtin/init"
 | 
				
			||||||
	"github.com/filecoin-project/lotus/chain/actors/builtin/reward"
 | 
						"github.com/filecoin-project/lotus/chain/actors/builtin/reward"
 | 
				
			||||||
@ -207,7 +208,7 @@ func doExtractMessage(opts extractOpts) error {
 | 
				
			|||||||
	// TODO sometimes this returns a nil receipt and no error ¯\_(ツ)_/¯
 | 
						// TODO sometimes this returns a nil receipt and no error ¯\_(ツ)_/¯
 | 
				
			||||||
	//  ex: https://filfox.info/en/message/bafy2bzacebpxw3yiaxzy2bako62akig46x3imji7fewszen6fryiz6nymu2b2
 | 
						//  ex: https://filfox.info/en/message/bafy2bzacebpxw3yiaxzy2bako62akig46x3imji7fewszen6fryiz6nymu2b2
 | 
				
			||||||
	//  This code is lenient and skips receipt comparison in case of a nil receipt.
 | 
						//  This code is lenient and skips receipt comparison in case of a nil receipt.
 | 
				
			||||||
	rec, err := FullAPI.StateGetReceipt(ctx, mcid, execTs.Key())
 | 
						rec, err := FullAPI.StateSearchMsg(ctx, execTs.Key(), mcid, api.LookbackNoLimit, false)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return fmt.Errorf("failed to find receipt on chain: %w", err)
 | 
							return fmt.Errorf("failed to find receipt on chain: %w", err)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@ -217,9 +218,9 @@ func doExtractMessage(opts extractOpts) error {
 | 
				
			|||||||
	var receipt *schema.Receipt
 | 
						var receipt *schema.Receipt
 | 
				
			||||||
	if rec != nil {
 | 
						if rec != nil {
 | 
				
			||||||
		receipt = &schema.Receipt{
 | 
							receipt = &schema.Receipt{
 | 
				
			||||||
			ExitCode:    int64(rec.ExitCode),
 | 
								ExitCode:    int64(rec.Receipt.ExitCode),
 | 
				
			||||||
			ReturnValue: rec.Return,
 | 
								ReturnValue: rec.Receipt.Return,
 | 
				
			||||||
			GasUsed:     rec.GasUsed,
 | 
								GasUsed:     rec.Receipt.GasUsed,
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		reporter := new(conformance.LogReporter)
 | 
							reporter := new(conformance.LogReporter)
 | 
				
			||||||
@ -326,7 +327,7 @@ func doExtractMessage(opts extractOpts) error {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// resolveFromChain queries the chain for the provided message, using the block CID to
 | 
					// resolveFromChain queries the chain for the provided message, using the block CID to
 | 
				
			||||||
// speed up the query, if provided
 | 
					// speed up the query, if provided
 | 
				
			||||||
func resolveFromChain(ctx context.Context, api v0api.FullNode, mcid cid.Cid, block string) (msg *types.Message, execTs *types.TipSet, incTs *types.TipSet, err error) {
 | 
					func resolveFromChain(ctx context.Context, api lapi.FullNode, mcid cid.Cid, block string) (msg *types.Message, execTs *types.TipSet, incTs *types.TipSet, err error) {
 | 
				
			||||||
	// Extract the full message.
 | 
						// Extract the full message.
 | 
				
			||||||
	msg, err = api.ChainGetMessage(ctx, mcid)
 | 
						msg, err = api.ChainGetMessage(ctx, mcid)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
@ -339,7 +340,7 @@ func resolveFromChain(ctx context.Context, api v0api.FullNode, mcid cid.Cid, blo
 | 
				
			|||||||
		log.Printf("locating message in blockchain")
 | 
							log.Printf("locating message in blockchain")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		// Locate the message.
 | 
							// Locate the message.
 | 
				
			||||||
		msgInfo, err := api.StateSearchMsg(ctx, mcid)
 | 
							msgInfo, err := api.StateSearchMsg(ctx, types.EmptyTSK, mcid, lapi.LookbackNoLimit, false)
 | 
				
			||||||
		if err != nil {
 | 
							if err != nil {
 | 
				
			||||||
			return nil, nil, nil, fmt.Errorf("failed to locate message: %w", err)
 | 
								return nil, nil, nil, fmt.Errorf("failed to locate message: %w", err)
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
@ -384,7 +385,7 @@ func resolveFromChain(ctx context.Context, api v0api.FullNode, mcid cid.Cid, blo
 | 
				
			|||||||
// as the previous tipset. In the context of vector generation, the target
 | 
					// as the previous tipset. In the context of vector generation, the target
 | 
				
			||||||
// tipset is the one where a message was executed, and the previous tipset is
 | 
					// tipset is the one where a message was executed, and the previous tipset is
 | 
				
			||||||
// the one where the message was included.
 | 
					// the one where the message was included.
 | 
				
			||||||
func fetchThisAndPrevTipset(ctx context.Context, api v0api.FullNode, target types.TipSetKey) (targetTs *types.TipSet, prevTs *types.TipSet, err error) {
 | 
					func fetchThisAndPrevTipset(ctx context.Context, api v1api.FullNode, target types.TipSetKey) (targetTs *types.TipSet, prevTs *types.TipSet, err error) {
 | 
				
			||||||
	// get the tipset on which this message was "executed" on.
 | 
						// get the tipset on which this message was "executed" on.
 | 
				
			||||||
	// https://github.com/filecoin-project/lotus/issues/2847
 | 
						// https://github.com/filecoin-project/lotus/issues/2847
 | 
				
			||||||
	targetTs, err = api.ChainGetTipSet(ctx, target)
 | 
						targetTs, err = api.ChainGetTipSet(ctx, target)
 | 
				
			||||||
 | 
				
			|||||||
@ -102,7 +102,7 @@ func initialize(c *cli.Context) error {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	// Make the API client.
 | 
						// Make the API client.
 | 
				
			||||||
	var err error
 | 
						var err error
 | 
				
			||||||
	if FullAPI, Closer, err = lcli.GetFullNodeAPI(c); err != nil {
 | 
						if FullAPI, Closer, err = lcli.GetFullNodeAPIV1(c); err != nil {
 | 
				
			||||||
		err = fmt.Errorf("failed to locate Lotus node; err: %w", err)
 | 
							err = fmt.Errorf("failed to locate Lotus node; err: %w", err)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	return err
 | 
						return err
 | 
				
			||||||
 | 
				
			|||||||
@ -14,7 +14,8 @@ import (
 | 
				
			|||||||
	"github.com/filecoin-project/go-address"
 | 
						"github.com/filecoin-project/go-address"
 | 
				
			||||||
	"github.com/filecoin-project/go-state-types/abi"
 | 
						"github.com/filecoin-project/go-state-types/abi"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"github.com/filecoin-project/lotus/api/v0api"
 | 
						"github.com/filecoin-project/lotus/api"
 | 
				
			||||||
 | 
						"github.com/filecoin-project/lotus/api/v1api"
 | 
				
			||||||
	init_ "github.com/filecoin-project/lotus/chain/actors/builtin/init"
 | 
						init_ "github.com/filecoin-project/lotus/chain/actors/builtin/init"
 | 
				
			||||||
	"github.com/filecoin-project/lotus/chain/state"
 | 
						"github.com/filecoin-project/lotus/chain/state"
 | 
				
			||||||
	"github.com/filecoin-project/lotus/chain/types"
 | 
						"github.com/filecoin-project/lotus/chain/types"
 | 
				
			||||||
@ -24,13 +25,13 @@ import (
 | 
				
			|||||||
// StateSurgeon is an object used to fetch and manipulate state.
 | 
					// StateSurgeon is an object used to fetch and manipulate state.
 | 
				
			||||||
type StateSurgeon struct {
 | 
					type StateSurgeon struct {
 | 
				
			||||||
	ctx    context.Context
 | 
						ctx    context.Context
 | 
				
			||||||
	api    v0api.FullNode
 | 
						api    v1api.FullNode
 | 
				
			||||||
	stores *Stores
 | 
						stores *Stores
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// NewSurgeon returns a state surgeon, an object used to fetch and manipulate
 | 
					// NewSurgeon returns a state surgeon, an object used to fetch and manipulate
 | 
				
			||||||
// state.
 | 
					// state.
 | 
				
			||||||
func NewSurgeon(ctx context.Context, api v0api.FullNode, stores *Stores) *StateSurgeon {
 | 
					func NewSurgeon(ctx context.Context, api v1api.FullNode, stores *Stores) *StateSurgeon {
 | 
				
			||||||
	return &StateSurgeon{
 | 
						return &StateSurgeon{
 | 
				
			||||||
		ctx:    ctx,
 | 
							ctx:    ctx,
 | 
				
			||||||
		api:    api,
 | 
							api:    api,
 | 
				
			||||||
@ -86,9 +87,9 @@ func (sg *StateSurgeon) GetMaskedStateTree(previousRoot cid.Cid, retain []addres
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// GetAccessedActors identifies the actors that were accessed during the
 | 
					// GetAccessedActors identifies the actors that were accessed during the
 | 
				
			||||||
// execution of a message.
 | 
					// execution of a message.
 | 
				
			||||||
func (sg *StateSurgeon) GetAccessedActors(ctx context.Context, a v0api.FullNode, mid cid.Cid) ([]address.Address, error) {
 | 
					func (sg *StateSurgeon) GetAccessedActors(ctx context.Context, a v1api.FullNode, mid cid.Cid) ([]address.Address, error) {
 | 
				
			||||||
	log.Printf("calculating accessed actors during execution of message: %s", mid)
 | 
						log.Printf("calculating accessed actors during execution of message: %s", mid)
 | 
				
			||||||
	msgInfo, err := a.StateSearchMsg(ctx, mid)
 | 
						msgInfo, err := a.StateSearchMsg(ctx, types.EmptyTSK, mid, api.LookbackNoLimit, false)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
				
			|||||||
@ -18,7 +18,7 @@ import (
 | 
				
			|||||||
	format "github.com/ipfs/go-ipld-format"
 | 
						format "github.com/ipfs/go-ipld-format"
 | 
				
			||||||
	"golang.org/x/xerrors"
 | 
						"golang.org/x/xerrors"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"github.com/filecoin-project/lotus/api/v0api"
 | 
						"github.com/filecoin-project/lotus/api/v1api"
 | 
				
			||||||
	"github.com/filecoin-project/lotus/blockstore"
 | 
						"github.com/filecoin-project/lotus/blockstore"
 | 
				
			||||||
	"github.com/filecoin-project/lotus/chain/actors/adt"
 | 
						"github.com/filecoin-project/lotus/chain/actors/adt"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
@ -39,7 +39,7 @@ type Stores struct {
 | 
				
			|||||||
// NewProxyingStores is a set of Stores backed by a proxying Blockstore that
 | 
					// NewProxyingStores is a set of Stores backed by a proxying Blockstore that
 | 
				
			||||||
// proxies Get requests for unknown CIDs to a Filecoin node, via the
 | 
					// proxies Get requests for unknown CIDs to a Filecoin node, via the
 | 
				
			||||||
// ChainReadObj RPC.
 | 
					// ChainReadObj RPC.
 | 
				
			||||||
func NewProxyingStores(ctx context.Context, api v0api.FullNode) *Stores {
 | 
					func NewProxyingStores(ctx context.Context, api v1api.FullNode) *Stores {
 | 
				
			||||||
	ds := dssync.MutexWrap(ds.NewMapDatastore())
 | 
						ds := dssync.MutexWrap(ds.NewMapDatastore())
 | 
				
			||||||
	bs := &proxyingBlockstore{
 | 
						bs := &proxyingBlockstore{
 | 
				
			||||||
		ctx:        ctx,
 | 
							ctx:        ctx,
 | 
				
			||||||
@ -84,7 +84,7 @@ type TracingBlockstore interface {
 | 
				
			|||||||
// a Filecoin node via JSON-RPC.
 | 
					// a Filecoin node via JSON-RPC.
 | 
				
			||||||
type proxyingBlockstore struct {
 | 
					type proxyingBlockstore struct {
 | 
				
			||||||
	ctx context.Context
 | 
						ctx context.Context
 | 
				
			||||||
	api v0api.FullNode
 | 
						api v1api.FullNode
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	lk      sync.Mutex
 | 
						lk      sync.Mutex
 | 
				
			||||||
	tracing bool
 | 
						tracing bool
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user