-
Notifications
You must be signed in to change notification settings - Fork 4
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
Emerald: tokens analyzer #284
Conversation
current state:
|
1c53612
to
b51e36f
Compare
readying this for review, there are some issues with this though |
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.
Nice! It's a good amount of boilerplate to figure out; thank you!
I think this is overall good; I have a few small style/docs suggestions, and one higher-level one about focusing the analyzer on the EVM module, not Emerald.
designing new table to use three columns: first seen, last round when mutable info changed, last round when we analyzed it. diagram of the latter two columns: sourcedigraph {
start [shape=none]
node [shape=box]
start -> no_row
no_row [peripheries=2]
null_round [peripheries=2]
round_round [peripheries=2]
// block analyzer
edge [color=blue]
no_row -> null_null [label="see transfer"]
no_row -> round_null [label="see mint"]
null_null -> round_null [label="see mint"]
null_round -> high_low [label="see mint"]
round_round -> high_low [label="see mint"]
// evm token analyzer
edge [color=green]
null_null -> null_round [label="download"]
null_null -> high_low [label="stale download"]
round_null -> high_low [label="stale download"]
round_null -> round_round [label="download"]
high_low -> round_round [label="download mutable"]
} blue is what happens in the block analyzer. green is what happens in the evm token analyzer. self edges omitted. double boxes are consistent states. following only green edges should allow the system to settle into one of these states. "stale download" is what happens when the evm token analyzer reads one "last round when mutable info changed" into its goroutine, then the block analyzer detects something that would further change the mutable info while the evm token analyzer is downloading info for an out of date round, then the evm token analyzer saves that out of date info. |
b51e36f
to
3cbe7e8
Compare
c03bc31
to
9274d15
Compare
9274d15
to
87eb7da
Compare
description updated. re-opening for review |
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.
Looking good!
Consider this pretty much approved from my end, I'm just holding off because I'm not sure if we are on the same page re/ dead reckoning for mints and burns.
3128c33
to
db9a5d8
Compare
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.
🐑 it!
db9a5d8
to
da73c04
Compare
da73c04
to
fd41483
Compare
here's a new tokens analyzer. notes from the demo:
before
after