diff --git a/chain/store/store.go b/chain/store/store.go index 620745c0939..e58669c14d6 100644 --- a/chain/store/store.go +++ b/chain/store/store.go @@ -809,12 +809,7 @@ func (cs *ChainStore) GetGenesis() (*types.BlockHeader, error) { return nil, err } - genb, err := cs.bs.Get(c) - if err != nil { - return nil, err - } - - return types.DecodeBlock(genb.RawData()) + return cs.GetBlock(c) } func (cs *ChainStore) GetCMessage(c cid.Cid) (types.ChainMsg, error) { diff --git a/chain/vm/vm.go b/chain/vm/vm.go index 6046f0d1aba..ae4c03f4a79 100644 --- a/chain/vm/vm.go +++ b/chain/vm/vm.go @@ -149,10 +149,10 @@ func (vm *VM) makeRuntime(ctx context.Context, msg *types.Message, parent *Runti rt.Abortf(exitcode.SysErrForbidden, "message execution exceeds call depth") } - rt.cst = &cbor.BasicIpldStore{ - Blocks: &gasChargingBlocks{rt.chargeGasFunc(2), rt.pricelist, vm.cst.Blocks}, - Atlas: vm.cst.Atlas, - } + cbb := &gasChargingBlocks{rt.chargeGasFunc(2), rt.pricelist, vm.cst.Blocks} + cst := cbor.NewCborStore(cbb) + cst.Atlas = vm.cst.Atlas // associate the atlas. + vm.cst = cst vmm := *msg resF, ok := rt.ResolveAddress(msg.From)