Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
NEP-541: Transaction priority fee #541
base: master
Are you sure you want to change the base?
NEP-541: Transaction priority fee #541
Changes from 2 commits
3d86b20
2fcd932
fa6df40
af38aef
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
Check failure on line 28 in neps/nep-0541.md
GitHub Actions / markdown-lint
Fenced code blocks should be surrounded by blank lines [Context: "```rust"]
Check failure on line 69 in neps/nep-0541.md
GitHub Actions / markdown-lint
Fenced code blocks should be surrounded by blank lines [Context: "```rust"]
Check failure on line 76 in neps/nep-0541.md
GitHub Actions / markdown-lint
Fenced code blocks should be surrounded by blank lines [Context: "```"]
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are prioritized delayed receipts executed before local receipts? What about prioritized local receipts?
Today's order among receipts is
Note that if we don't execute local receipts in the first chunk, they end up in the delayed receipts queue one chunk later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes they are executed before local receipts. The way to think of it is as follows: priority execution always happens first and regular execution happens. During regular execution, we preserve the order of execution we do today (local receipts, delayed receipts, and incoming receipts). We can also change the order within regular execution, but that is orthogonal to this proposal.
Check failure on line 98 in neps/nep-0541.md
GitHub Actions / markdown-lint
Fenced code blocks should be surrounded by blank lines [Context: "```"]
Check failure on line 102 in neps/nep-0541.md
GitHub Actions / markdown-lint
Fenced code blocks should be surrounded by blank lines [Context: "```python"]
Check failure on line 116 in neps/nep-0541.md
GitHub Actions / markdown-lint
Lists should be surrounded by blank lines [Context: "- the chunk producer account m..."]
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh and how are we dealing with priority in the outgoing buffers that NEP-539 currently proposes?
I would probably suggest that, at least initially, draining the outgoing buffers should follow a strict FIFO order. The priority already helped to get inside faster, so maybe the "cross-shard delay" can be fair.
Alternatively, we can add more priority queues (one extra for each receiving shard, per shard) and give truly fast speed even to cross-contract calls during congestion. It would certainly be a better user experience, since otherwise one can still wait a long time for a cross-contract call during congestion, no matter how much one pays.
I just feel perhaps an iterative approach would be better than changing so much all at once, without the experience of how congestion control works in practice.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeah I think that makes sense
Check failure on line 147 in neps/nep-0541.md
GitHub Actions / markdown-lint
Unordered list style [Expected: dash; Actual: asterisk]
Check failure on line 151 in neps/nep-0541.md
GitHub Actions / markdown-lint
Unordered list style [Expected: dash; Actual: asterisk]
Check failure on line 155 in neps/nep-0541.md
GitHub Actions / markdown-lint
Unordered list style [Expected: dash; Actual: asterisk]
Check failure on line 165 in neps/nep-0541.md
GitHub Actions / markdown-lint
Unordered list style [Expected: dash; Actual: asterisk]