diff --git a/chain/events/filter/event.go b/chain/events/filter/event.go index 29ad47123..a19f49a50 100644 --- a/chain/events/filter/event.go +++ b/chain/events/filter/event.go @@ -444,7 +444,7 @@ func (m *EventFilterManager) loadExecutedMessages(ctx context.Context, msgTs, rc continue } - evtArr, err := amt4.LoadAMT(ctx, st, *rct.EventsRoot, amt4.UseTreeBitWidth(5)) + evtArr, err := amt4.LoadAMT(ctx, st, *rct.EventsRoot, amt4.UseTreeBitWidth(types.EventAMTBitwidth)) if err != nil { return nil, xerrors.Errorf("load events amt: %w", err) } diff --git a/chain/types/message_receipt.go b/chain/types/message_receipt.go index 0507ac576..b0db3b74d 100644 --- a/chain/types/message_receipt.go +++ b/chain/types/message_receipt.go @@ -17,13 +17,15 @@ const ( MessageReceiptV1 MessageReceiptVersion = 1 ) +const EventAMTBitwidth = 5 + type MessageReceipt struct { version MessageReceiptVersion ExitCode exitcode.ExitCode Return []byte GasUsed int64 - EventsRoot *cid.Cid // Root of Event AMT + EventsRoot *cid.Cid // Root of Event AMT with bitwidth = EventAMTBitwidth } // NewMessageReceiptV0 creates a new pre FIP-0049 receipt with no capability to diff --git a/cli/chain.go b/cli/chain.go index dced1a1f8..a4d9609ba 100644 --- a/cli/chain.go +++ b/cli/chain.go @@ -1773,7 +1773,7 @@ var ChainInvokeEVMCmd = &cli.Command{ afmt.Println("Events emitted:") s := &apiIpldStore{ctx, api} - amt, err := amt4.LoadAMT(ctx, s, *eventsRoot, amt4.UseTreeBitWidth(5)) + amt, err := amt4.LoadAMT(ctx, s, *eventsRoot, amt4.UseTreeBitWidth(types.EventAMTBitwidth)) if err != nil { return err } diff --git a/itests/kit/evm.go b/itests/kit/evm.go index 4c6c014a1..6a4949722 100644 --- a/itests/kit/evm.go +++ b/itests/kit/evm.go @@ -112,7 +112,7 @@ func (e *EVM) LoadEvents(ctx context.Context, eventsRoot cid.Cid) []types.Event require := require.New(e.t) s := &apiIpldStore{ctx, e} - amt, err := amt4.LoadAMT(ctx, s, eventsRoot, amt4.UseTreeBitWidth(5)) + amt, err := amt4.LoadAMT(ctx, s, eventsRoot, amt4.UseTreeBitWidth(types.EventAMTBitwidth)) require.NoError(err) ret := make([]types.Event, 0, amt.Len()) diff --git a/node/impl/full/chain.go b/node/impl/full/chain.go index d06c85402..8448a542e 100644 --- a/node/impl/full/chain.go +++ b/node/impl/full/chain.go @@ -661,7 +661,7 @@ func (a *ChainAPI) ChainBlockstoreInfo(ctx context.Context) (map[string]interfac // TODO (raulk) make copies of this logic elsewhere use this (e.g. itests, CLI, events filter). func (a *ChainAPI) ChainGetEvents(ctx context.Context, root cid.Cid) ([]types.Event, error) { store := cbor.NewCborStore(a.ExposedBlockstore) - evtArr, err := amt4.LoadAMT(ctx, store, root, amt4.UseTreeBitWidth(5)) + evtArr, err := amt4.LoadAMT(ctx, store, root, amt4.UseTreeBitWidth(types.EventAMTBitwidth)) if err != nil { return nil, xerrors.Errorf("load events amt: %w", err) }