Skip to content

Add new inbox multiplexer abstraction including delayed messages#6

Merged
PlasmaPower merged 11 commits intoblock-creationfrom
inbox-reader
Oct 18, 2021
Merged

Add new inbox multiplexer abstraction including delayed messages#6
PlasmaPower merged 11 commits intoblock-creationfrom
inbox-reader

Conversation

@PlasmaPower
Copy link
Copy Markdown
Contributor

No description provided.

msg := &arbos.L1IncomingMessage{
Header: &arbos.L1IncomingMessageHeader{
Kind: arbos.L1MessageType_L2Message,
Sender: sequencerAddress,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we include the sender address in the sequencer message to avoid needing it here. Otherwise we'll need access to the state db here

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm.. I was actually thinking the opposite, as this makes having multiple sequencer (batch poster?) addresses easier. Then again, maybe that isn't needed.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah interesting. Let's discuss this in standup maybe

Comment on lines +162 to +165
var requestId common.Hash
requestId[0] = 1 << 6
binary.LittleEndian.PutUint64(requestId[(32-16):(32-8)], wavmio.GetInboxPosition())
binary.LittleEndian.PutUint64(requestId[(32-8):], segmentNum)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should consider doing something more like the accumulator system we had in place before. Not sure if it's worth it, but potentially we should add a todo here to revisit that question later

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure why that'd be helpful? Even in the previous system I think the request id was based on sequence number.

for _, segment := range segments {
for _, tx := range segment.txes {
if tx.Gas() > perBlockGasLimit || tx.Gas() > b.gasPool.Gas() {
// Ignore and transactions with higher than the max possible gas
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like you removed the logic I had added in 969e985 to allow for the partial reading of a set of txes from a segment. Was that intentional?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I doubt it's worth the complexity, and I'm using the nonce field for delayed message count now. But we can put it in another field if it has significant value. I'm just not sure there's that much of a use case.

@PlasmaPower PlasmaPower changed the title Add new inbox reader abstraction including delayed messages Add new inbox multiplexer abstraction including delayed messages Oct 12, 2021
@PlasmaPower PlasmaPower merged commit 2ef3987 into block-creation Oct 18, 2021
@hkalodner hkalodner deleted the inbox-reader branch October 19, 2021 06:16
tsahee pushed a commit that referenced this pull request Dec 1, 2021
Finish implementing remaining ibinops, irelops, and a few others
tsahee pushed a commit that referenced this pull request Jul 29, 2025
Add message inbox functionalities
tsahee pushed a commit that referenced this pull request Jul 29, 2025
feat: add maximumCachedTime parameter to updateTimerCache calls
wurdum pushed a commit to wurdum/nitro that referenced this pull request Oct 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants