track remaining TODOs as TODO::FVM.
This commit is contained in:
parent
6de2aca8ae
commit
46a50960d3
@ -202,6 +202,10 @@ func (ts *TipSet) MinTimestamp() uint64 {
|
|||||||
|
|
||||||
blks := ts.Blocks()
|
blks := ts.Blocks()
|
||||||
|
|
||||||
|
// TODO::FVM @vyzo @magik Null rounds shouldn't ever be represented as
|
||||||
|
// tipsets with no blocks; Null-round generally means that the tipset at
|
||||||
|
// that epoch doesn't exist - and the next tipset that does exist links
|
||||||
|
// straight to first epoch with blocks (@raulk agrees -- this is odd)
|
||||||
if len(blks) == 0 {
|
if len(blks) == 0 {
|
||||||
// null rounds make things crash -- it is threaded in every fvm instantiation
|
// null rounds make things crash -- it is threaded in every fvm instantiation
|
||||||
return 0
|
return 0
|
||||||
|
@ -291,7 +291,7 @@ func DumpActorState(i *ActorRegistry, act *types.Actor, b []byte) (interface{},
|
|||||||
|
|
||||||
um := actInfo.vmActor.State()
|
um := actInfo.vmActor.State()
|
||||||
if um == nil {
|
if um == nil {
|
||||||
// TODO: I would like to assert that we have the empty object here
|
// TODO::FVM @arajasek I would like to assert that we have the empty object here
|
||||||
return nil, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
if err := um.UnmarshalCBOR(bytes.NewReader(b)); err != nil {
|
if err := um.UnmarshalCBOR(bytes.NewReader(b)); err != nil {
|
||||||
|
@ -26,7 +26,7 @@ import (
|
|||||||
// TestDeployment smoke tests the deployment of a contract via the
|
// TestDeployment smoke tests the deployment of a contract via the
|
||||||
// Ethereum JSON-RPC endpoint, from an EEOA.
|
// Ethereum JSON-RPC endpoint, from an EEOA.
|
||||||
func TestDeployment(t *testing.T) {
|
func TestDeployment(t *testing.T) {
|
||||||
// TODO the contract installation and invocation can be lifted into utility methods
|
// TODO::FVM @raulk the contract installation and invocation can be lifted into utility methods
|
||||||
// He who writes the second test, shall do that.
|
// He who writes the second test, shall do that.
|
||||||
// kit.QuietMiningLogs()
|
// kit.QuietMiningLogs()
|
||||||
|
|
||||||
@ -104,6 +104,8 @@ func TestDeployment(t *testing.T) {
|
|||||||
require.Equal(t, hash, mpoolTx.Hash)
|
require.Equal(t, hash, mpoolTx.Hash)
|
||||||
|
|
||||||
// these fields should be nil because the tx hasn't landed on chain.
|
// these fields should be nil because the tx hasn't landed on chain.
|
||||||
|
// TODO::FVM @raulk We can either skip the assertion if the msg has already
|
||||||
|
// landed, or pause mining between the embryo creation and this assertion.
|
||||||
require.Nil(t, mpoolTx.BlockNumber)
|
require.Nil(t, mpoolTx.BlockNumber)
|
||||||
require.Nil(t, mpoolTx.BlockHash)
|
require.Nil(t, mpoolTx.BlockHash)
|
||||||
require.Nil(t, mpoolTx.TransactionIndex)
|
require.Nil(t, mpoolTx.TransactionIndex)
|
||||||
@ -115,6 +117,9 @@ func TestDeployment(t *testing.T) {
|
|||||||
|
|
||||||
var receipt *api.EthTxReceipt
|
var receipt *api.EthTxReceipt
|
||||||
for i := 0; i < 20; i++ {
|
for i := 0; i < 20; i++ {
|
||||||
|
// TODO::FVM @raulk The right time to exit this loop isn't after
|
||||||
|
// 20 iterations, but when StateWaitMsg returns -- let's wait on that
|
||||||
|
// event while continuing to make this assertion
|
||||||
receipt, err = client.EthGetTransactionReceipt(ctx, hash)
|
receipt, err = client.EthGetTransactionReceipt(ctx, hash)
|
||||||
if err != nil || receipt == nil {
|
if err != nil || receipt == nil {
|
||||||
time.Sleep(500 * time.Millisecond)
|
time.Sleep(500 * time.Millisecond)
|
||||||
|
Loading…
Reference in New Issue
Block a user