Skip to content
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

[mempool] FIFO #383

Merged
merged 15 commits into from
Aug 21, 2023
Merged

[mempool] FIFO #383

merged 15 commits into from
Aug 21, 2023

Conversation

patrick-ogrady
Copy link
Contributor

No description provided.

@patrick-ogrady patrick-ogrady marked this pull request as ready for review August 21, 2023 13:34
@patrick-ogrady patrick-ogrady merged commit badabad into storage-fees Aug 21, 2023
12 checks passed
@patrick-ogrady patrick-ogrady deleted the fifo-mempool branch August 21, 2023 13:43
patrick-ogrady added a commit that referenced this pull request Aug 22, 2023
* first pass at new result

* add state deleted

* more work

* use single result for now

* scope changes to block

* update rules

* add units for storage reads

* update action requirements

* add max fee to base

* update fee marshaling

* start work on fee manager

* work on fee manager

* finish fee manager

* cleaning up fee windows

* allow for setting unit price

* cleanup genesis setup

* remove execution context

* remove unncessary key

* set fee dimensions

* remove reference to execution context in VM

* use dimension type

* fix vm

* add max fee amount

* implement max fee option

* add max fee component to preexecute

* first pass at max units

* fix result unmarshaling

* handle fee payment logic

* transaction compiles

* add more TODOs

* start cleaning up block builder

* fix errors in builder

* processor compiles

* fix client

* update gossipers

* resolve all VM warnings

* update auth

* basic PoC of fee accounting

* add missing functions to rules

* update rules

* vm builds

* fix chain and spam

* get compilation to work

* abstract all accounting from actions other than CUs

* making progress

* making more notes

* implement storage tracking

* improve some comments

* fix sm usage

* implement math operator

* use Uint64Operator

* add extra cost for outgoing warp messages

* fix constraint enforcement in failed tx case

* more fee cleanup

* implement max unit estimate

* update spam script

* fix var name in transaction

* fix vm stateManager

* add max units impl to auth

* update transfer action

* fix genesis

* morepheusvm compiles

* remove MinFee

* add target end condition

* print unit prices periodically

* add metircs for unit prices

* add more logs + fix bandwidth spelling

* improve printing

* fix unit prices fetch

* local network works

* add fee to result

* use strings for state keys

* add README stub

* add support for passing values to genesis

* simplify rpc and update run.sh

* Cold/Warm-Based Fees (#365)

* cold/warm modifications

* get cold reads in processor

* update builder

* update max fee

* update max fee

* update genesis

* add README note

* print % of max fee

* Size-Based Storage Fees (#366)

* add clarification

* add more TODOs

* add TODO for multi-access

* add more rules

* add new NumChunks function

* ensure we check key size

* update tstate to count sizes

* update tstate to track changes during processing

* re-implement max units

* update usage calculator in tx execute

* update max fee calculations

* check input on state keys

* scoping out state changes

* add a TODO

* add encode key function

* pass at verifying state keys

* chain/transaction compiles

* add more TODOs

* update tstate

* fix chain processor panics

* charge for tx execution errors

* fix chain builder

* update chain transaction for new package

* encode chunks for internal keys

* add tx encoding

* modify interfaces to hide encoding

* require all keys to be encoded before reaching VM

* remove all opaque encoding

* everything except rules updated

* rules updated

* first pass working

* remove Prefix usage

* cleanup some comments

* add more comments to tstate

* more cleanup

* fix chunks issue

* add more comments to the builder

* add notes about consensus correctness

* add more constants

* add more to README

* comments cleanup

* ensure Transaction.PreExecute does not modify state

* update comments for dependencies

* update README with new interfaces

* start shaping more of README

* update load test

* fix outgoing warp key

* add a reminder to README

* update TokenVM storage

* burn asset updated

* update create + export

* update import

* update modify asset

* update transfer

* update close order

* update create asset

* update fill order

* update mint

* tokenvm compiles

* all token-cli compiles

* update handle tx logic

* update load tests

* transfer lint

* integration tests passing

* tokenvm integration passing

* fix tokenvm linkt

* update mocks

* add unit price metrics to token-cli

* resolve multiple lint issues

* fix tstate tests

* add comment about validity window look ahead

* add max-fee flag

* [mempool] FIFO (#383)

* add list implementation

* add fifo mempool

* add more TODOs

* add front when restoring

* separate sorted mempool from mempool

* add back mempool restore

* revert emap changes

* fix gossip manual

* add missing licenses

* update var to use m

* starting work on eheap

* fix eheap tests

* mempool unit tests passing

* fixed list tests

* fix lint

* tweaks to README

* fix tokenvm load test

* fix e2e tests

* fix e2e

* poll for conn status less frequently

* fix e2e tests

* more README progress

* cleanup chain builder

* more README sketching

* remove some nesting

* keep free writing

* add more TODOs

* update section on BatchVerification

* first draft at initial section

* making more progress

* add more TODOs

* clean up batch verification wording

* add one-dimensional example

* multidimensional section is done

* write Invisible Support

* avoiding complex construction

* add note on priority fees

* size-encoded storage keys

* separate metering

* README is done
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.

None yet

1 participant