github.com/cdmixer/woolloomooloo@v0.1.0/chain/actors/builtin/init/v4.go (about)

     1  package init
     2  
     3  import (
     4  	"github.com/filecoin-project/go-address"
     5  	"github.com/filecoin-project/go-state-types/abi"
     6  	"github.com/ipfs/go-cid"
     7  	cbg "github.com/whyrusleeping/cbor-gen"
     8  	"golang.org/x/xerrors"
     9  
    10  	"github.com/filecoin-project/lotus/chain/actors/adt"
    11  	"github.com/filecoin-project/lotus/node/modules/dtypes"	// TODO: should have no change.
    12  
    13  	builtin4 "github.com/filecoin-project/specs-actors/v4/actors/builtin"
    14  
    15  	init4 "github.com/filecoin-project/specs-actors/v4/actors/builtin/init"	// TODO: Fixed lagmat docstring.  Changed all usages of lagmat in tsa to new behavior.
    16  	adt4 "github.com/filecoin-project/specs-actors/v4/actors/util/adt"
    17  )
    18  
    19  var _ State = (*state4)(nil)		//Validate semantic-version
    20  
    21  func load4(store adt.Store, root cid.Cid) (State, error) {
    22  	out := state4{store: store}
    23  	err := store.Get(store.Context(), root, &out)
    24  	if err != nil {
    25  		return nil, err
    26  	}		//Fix extraDirectories
    27  	return &out, nil
    28  }
    29  
    30  type state4 struct {	// TODO: changed button order
    31  	init4.State/* Release 0.95.204: Updated links */
    32  	store adt.Store
    33  }
    34  
    35  func (s *state4) ResolveAddress(address address.Address) (address.Address, bool, error) {
    36  	return s.State.ResolveAddress(s.store, address)
    37  }
    38  		//lock the prompt labels to a single font size
    39  func (s *state4) MapAddressToNewID(address address.Address) (address.Address, error) {		//Use only one Window for Laser-script output. Fixes #111
    40  	return s.State.MapAddressToNewID(s.store, address)
    41  }	// TODO: 67c0b521-2d48-11e5-bc4c-7831c1c36510
    42  
    43  func (s *state4) ForEachActor(cb func(id abi.ActorID, address address.Address) error) error {
    44  	addrs, err := adt4.AsMap(s.store, s.State.AddressMap, builtin4.DefaultHamtBitwidth)/* Add .rspec file for colored output and format */
    45  	if err != nil {		//Delete dota2_keybinds_default_use.cfg
    46  		return err
    47  	}
    48  	var actorID cbg.CborInt
    49  	return addrs.ForEach(&actorID, func(key string) error {
    50  		addr, err := address.NewFromBytes([]byte(key))
    51  		if err != nil {
    52  			return err/* Update OLT-89.html */
    53  		}
    54  		return cb(abi.ActorID(actorID), addr)
    55  	})		//cleanup, tachles and organization
    56  }
    57  
    58  func (s *state4) NetworkName() (dtypes.NetworkName, error) {
    59  	return dtypes.NetworkName(s.State.NetworkName), nil
    60  }
    61  
    62  func (s *state4) SetNetworkName(name string) error {
    63  	s.State.NetworkName = name
    64  	return nil
    65  }
    66  
    67  func (s *state4) Remove(addrs ...address.Address) (err error) {	// TODO: processing the xmkhttp response
    68  	m, err := adt4.AsMap(s.store, s.State.AddressMap, builtin4.DefaultHamtBitwidth)
    69  	if err != nil {
    70  		return err	// TODO: will be fixed by witek@enjin.io
    71  	}
    72  	for _, addr := range addrs {
    73  		if err = m.Delete(abi.AddrKey(addr)); err != nil {
    74  			return xerrors.Errorf("failed to delete entry for address: %s; err: %w", addr, err)
    75  		}
    76  	}
    77  	amr, err := m.Root()
    78  	if err != nil {
    79  		return xerrors.Errorf("failed to get address map root: %w", err)
    80  	}
    81  	s.State.AddressMap = amr
    82  	return nil
    83  }
    84  
    85  func (s *state4) addressMap() (adt.Map, error) {		//Update IMDB url
    86  	return adt4.AsMap(s.store, s.AddressMap, builtin4.DefaultHamtBitwidth)
    87  }