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

Indexer: use logs of Tx to extract events and results #776

Merged
merged 169 commits into from
Jul 19, 2022
Merged
Changes from 1 commit
Commits
Show all changes
169 commits
Select commit Hold shift + click to select a range
3d330e2
Add function SolanaIxInfo.process_logs (29-diamond-event)
vakond May 24, 2022
c9c1ba5
Don't touch imports (29-diamond-event)
vakond May 24, 2022
040e353
Iterate log messages (29-diamond-event)
vakond May 24, 2022
49e4b68
Merge branch 'develop' into 29-diamond-event
vakond May 24, 2022
2e6543a
Refer to new EVM Loader (29-diamond-event)
vakond May 24, 2022
df1932b
Test (29-diamond-event)
vakond May 24, 2022
8bc96f0
Refer to new EVM Loader (29-diamond-event)
vakond May 24, 2022
eb09cc8
Refer to new EVM Loader (29-diamond-event)
vakond May 24, 2022
3e96e89
Test (29-diamond-event)
vakond May 25, 2022
c5a5b1d
Merge branch 'develop' into 29-diamond-event
vakond May 25, 2022
4145d30
Test (29-diamond-event)
vakond May 25, 2022
8003561
Test (29-diamond-event)
vakond May 25, 2022
7d61350
Test (29-diamond-event)
vakond May 25, 2022
4b8c0ae
Test (29-diamond-event)
vakond May 26, 2022
74e8b5f
Test (29-diamond-event)
vakond May 26, 2022
c16a9c5
Test (29-diamond-event)
vakond May 26, 2022
5e40dfc
Test (29-diamond-event)
vakond May 26, 2022
db599c0
Test (29-diamond-event)
vakond May 26, 2022
bb1447c
Test (29-diamond-event)
vakond May 26, 2022
91569ec
Test (29-diamond-event)
vakond May 26, 2022
f4486cf
Test (29-diamond-event)
vakond May 26, 2022
e3e8b53
Test (29-diamond-event)
vakond May 26, 2022
9a35439
Test (29-diamond-event)
vakond May 26, 2022
e10525c
Test (29-diamond-event)
vakond May 26, 2022
88ace5e
Test (29-diamond-event)
vakond May 26, 2022
33e2680
Test (29-diamond-event)
vakond May 26, 2022
5f541dc
Test (29-diamond-event)
vakond May 26, 2022
b82a96e
Test (29-diamond-event)
vakond May 26, 2022
f2477d2
Test (29-diamond-event)
vakond May 26, 2022
41bcaca
Test (29-diamond-event)
vakond May 27, 2022
2ea9197
Test (29-diamond-event)
vakond May 27, 2022
6fb94d7
Test (29-diamond-event)
vakond May 27, 2022
87f6295
Test (29-diamond-event)
vakond May 29, 2022
86ac095
Test (29-diamond-event)
vakond May 29, 2022
17dff9c
Test (29-diamond-event)
vakond May 29, 2022
76f6df7
Test (29-diamond-event)
vakond May 30, 2022
07ca579
Test (29-diamond-event)
vakond May 30, 2022
8598b23
Test (29-diamond-event)
vakond May 30, 2022
ae6acf4
Test (29-diamond-event)
vakond May 30, 2022
c1442fb
Test (29-diamond-event)
vakond May 30, 2022
3f79c2b
Test (29-diamond-event)
vakond May 30, 2022
a233c67
Test (29-diamond-event)
vakond May 30, 2022
6915b40
Test (29-diamond-event)
vakond May 30, 2022
29653a4
Test (29-diamond-event)
vakond May 30, 2022
f49c318
Test (29-diamond-event)
vakond May 30, 2022
05a1e66
Test (29-diamond-event)
vakond May 30, 2022
9c597eb
Test (29-diamond-event)
vakond May 30, 2022
13203ff
Test (29-diamond-event)
vakond May 30, 2022
d65e69f
Test (29-diamond-event)
vakond May 30, 2022
2475c4a
Test (29-diamond-event)
vakond May 30, 2022
c782d9b
Test (29-diamond-event)
vakond May 31, 2022
bf4f41c
Merge branch 'develop' into 29-diamond-event
vakond May 31, 2022
5bf392f
Test (29-diamond-event)
vakond May 31, 2022
15e0259
Test (29-diamond-event)
vakond May 31, 2022
d38c35c
Test (29-diamond-event)
vakond May 31, 2022
3138451
Test (29-diamond-event)
vakond May 31, 2022
5590d2b
Test (29-diamond-event)
vakond Jun 1, 2022
853238a
Test (29-diamond-event)
vakond Jun 1, 2022
2333d0e
Test (29-diamond-event)
vakond Jun 1, 2022
60c9ab2
Test (29-diamond-event)
vakond Jun 1, 2022
a915807
Test (29-diamond-event)
vakond Jun 1, 2022
4f37496
Test (29-diamond-event)
vakond Jun 1, 2022
fc4b0fb
Test (29-diamond-event)
vakond Jun 1, 2022
c354e47
Test (29-diamond-event)
vakond Jun 1, 2022
2c0fc1a
Test (29-diamond-event)
vakond Jun 1, 2022
abec5ee
Test (29-diamond-event)
vakond Jun 2, 2022
5ed50ff
Test (29-diamond-event)
vakond Jun 2, 2022
201d42f
Test (29-diamond-event)
vakond Jun 2, 2022
32c541a
Merge develop (29-diamond-event)
vakond Jun 3, 2022
bc38083
Merge branch 'develop' into 29-diamond-event
vakond Jun 6, 2022
a9749bb
Remove unneeded code (29-diamond-event)
vakond Jun 6, 2022
b7f1c15
Test (29-diamond-event)
vakond Jun 6, 2022
35b7e0d
Test (29-diamond-event)
vakond Jun 6, 2022
a4a3794
Test (29-diamond-event)
vakond Jun 6, 2022
d06522d
Test (29-diamond-event)
vakond Jun 6, 2022
2ba040a
Test (29-diamond-event)
vakond Jun 6, 2022
7bc0858
Test (29-diamond-event)
vakond Jun 6, 2022
72eb7de
Test (29-diamond-event)
vakond Jun 7, 2022
056ed5f
Test (29-diamond-event)
vakond Jun 7, 2022
f4a595c
Test (29-diamond-event)
vakond Jun 7, 2022
043b515
Test (29-diamond-event)
vakond Jun 7, 2022
6a842f1
Test (29-diamond-event)
vakond Jun 7, 2022
743e21c
Test (29-diamond-event)
vakond Jun 7, 2022
5eac711
Test (29-diamond-event)
vakond Jun 9, 2022
8409b2c
Developing (29-diamond-event)
vakond Jun 11, 2022
925faec
Developing (29-diamond-event)
vakond Jun 13, 2022
e58701e
move get result and logs to neontxresinfo
otselnik Jun 13, 2022
5aaf2cc
Developing (29-diamond-event)
vakond Jun 13, 2022
6acb0c1
Developing (29-diamond-event)
vakond Jun 13, 2022
58d4833
Developing (29-diamond-event)
vakond Jun 13, 2022
7020134
Merge branch 'develop' into 29-diamond-event
vakond Jun 13, 2022
c6bafc0
Merge branch 'develop' into 29-diamond-event
vakond Jun 15, 2022
2c49f00
Bugfix (29-diamond-event)
vakond Jun 15, 2022
5314019
Test (29-diamond-event)
vakond Jun 15, 2022
1a81fca
Test (29-diamond-event)
vakond Jun 16, 2022
880cbb7
Test (29-diamond-event)
vakond Jun 16, 2022
20ce8c5
Test (29-diamond-event)
vakond Jun 17, 2022
9910912
Developing (29-diamond-event)
vakond Jun 20, 2022
e1e6324
Remove unneeded check (29-diamond-event)
vakond Jun 21, 2022
12e21cb
Developing (29-diamond-event)
vakond Jun 21, 2022
866b04e
Developing (29-diamond-event)
vakond Jun 21, 2022
0315850
Merge branch 'develop' into 29-diamond-event
vakond Jun 21, 2022
98759be
Developing (29-diamond-event)
vakond Jun 22, 2022
2d8c2ec
Developing (29-diamond-event)
vakond Jun 22, 2022
38220d3
Developing (29-diamond-event)
vakond Jun 22, 2022
7e7dbda
Developing (29-diamond-event)
vakond Jun 23, 2022
99aa9cd
Developing (29-diamond-event)
vakond Jun 23, 2022
1a58371
Developing (29-diamond-event)
vakond Jun 23, 2022
6884a8e
Developing (29-diamond-event)
vakond Jun 23, 2022
3baa900
Developing (29-diamond-event)
vakond Jun 24, 2022
4b213ab
Developing (29-diamond-event)
vakond Jun 24, 2022
aef11a2
Developing (29-diamond-event)
vakond Jun 25, 2022
da7a094
Developing (29-diamond-event)
vakond Jun 25, 2022
9d732c4
Fixed (29-diamond-event)
vakond Jun 26, 2022
626eca0
Fix docstrings (29-diamond-event)
vakond Jun 28, 2022
6e298dd
Refactoring: extract module decoder (29-diamond-event)
vakond Jun 28, 2022
f8308dd
Rename module decoder to evm_decoder (29-diamond-event)
vakond Jun 28, 2022
49312b9
Refactoring: extract module data (29-diamond-event)
vakond Jun 28, 2022
3b22e89
Rename unpack_event_log to decode_neon_event (29-diamond-event)
vakond Jun 28, 2022
ae77f1a
Get rid of dto suffix (29-diamond-event)
vakond Jun 28, 2022
3d5e79a
Remove unneeded lines (29-diamond-event)
vakond Jun 28, 2022
35f8d7f
Rename unpack_return to decode_neon_tx_return (29-diamond-event)
vakond Jun 28, 2022
6437bdb
Use exception instead of assert (29-diamond-event)
vakond Jun 28, 2022
a313b69
Remove dead code (29-diamond-event)
vakond Jun 28, 2022
e09302a
Use List instead of Iterable (29-diamond-event)
vakond Jun 28, 2022
8f3f6fa
Use List instead of Iterable (29-diamond-event)
vakond Jun 28, 2022
32d57fd
Use List instead of Iterable (29-diamond-event)
vakond Jun 28, 2022
98b7868
Refactoring (29-diamond-event)
vakond Jun 29, 2022
8ed9ac7
Better error report (29-diamond-event)
vakond Jun 29, 2022
b586bf5
Rename decode to decode_neon_tx_result (29-diamond-event)
vakond Jun 29, 2022
b4b5b2a
bugfix (29-diamond-event)
vakond Jun 29, 2022
f510c76
Rename process_logs to decode_neon_log_instructions (29-diamond-event)
vakond Jun 29, 2022
7307003
Refactoring (29-diamond-event)
vakond Jun 29, 2022
c96d644
Refactoring (29-diamond-event)
vakond Jun 29, 2022
9ed3027
Refactoring (29-diamond-event)
vakond Jun 29, 2022
c3954dd
Test (29-diamond-event)
vakond Jun 30, 2022
9a649c9
Test (29-diamond-event)
vakond Jun 30, 2022
e1346a8
Test (29-diamond-event)
vakond Jun 30, 2022
6554bb0
Refactoring (29-diamond-event)
vakond Jun 30, 2022
a02fcda
Refactoring (29-diamond-event)
vakond Jun 30, 2022
27df214
Refactoring (29-diamond-event)
vakond Jun 30, 2022
292d1cf
Refactoring (29-diamond-event)
vakond Jun 30, 2022
98fb580
Refactoring (29-diamond-event)
vakond Jun 30, 2022
c1ac92b
Refactoring (29-diamond-event)
vakond Jun 30, 2022
159fac3
Refactoring (29-diamond-event)
vakond Jun 30, 2022
48761bf
Test (29-diamond-event)
vakond Jun 30, 2022
33b35e0
Test (29-diamond-event)
vakond Jun 30, 2022
e623e07
Test (29-diamond-event)
vakond Jul 1, 2022
6594ea6
Add tests for large events (29-diamond-event)
vakond Jul 1, 2022
b190001
Test (29-diamond-event)
vakond Jul 1, 2022
3af88de
Test (29-diamond-event)
vakond Jul 5, 2022
65435c0
Cosmetic (29-diamond-event)
vakond Jul 6, 2022
aa7c368
Remove unneeded function (29-diamond-event)
vakond Jul 6, 2022
5a77dc4
Merge branch 'develop' into 29-diamond-event
vakond Jul 7, 2022
178f2e3
Update link to EVM (29-diamond-event)
vakond Jul 7, 2022
a61580a
Test (29-diamond-event)
vakond Jul 7, 2022
96ba0d3
Test (29-diamond-event)
vakond Jul 7, 2022
796ca51
Merge branch 'develop' into 29-diamond-event
vakond Jul 11, 2022
29794ce
Fix test (29-diamond-event)
vakond Jul 11, 2022
3c28421
Merge branch 'develop' into 29-diamond-event
vakond Jul 11, 2022
ac6f589
Update link to EVM (29-diamond-event)
vakond Jul 11, 2022
aa3baf8
bugfix (29-diamond-event)
vakond Jul 11, 2022
7819562
bugfix (29-diamond-event)
vakond Jul 11, 2022
269c172
Test (29-diamond-event)
vakond Jul 11, 2022
bedbd5e
Test (29-diamond-event)
vakond Jul 12, 2022
e043187
Test (29-diamond-event)
vakond Jul 12, 2022
9ed1a4c
Merge branch 'develop' into 29-diamond-event
vakond Jul 13, 2022
62d17e0
Merge branch 'develop' into 29-diamond-event
vakond Jul 14, 2022
925d669
spit and polish
rozhkovdmitrii Jul 18, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Add function SolanaIxInfo.process_logs (29-diamond-event)
vakond committed May 24, 2022

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
commit 3d330e24ec9cb55121fc22cac4eaaba0581cebfa
25 changes: 14 additions & 11 deletions proxy/indexer/indexer.py
Original file line number Diff line number Diff line change
@@ -1,26 +1,23 @@
import copy
import time
from enum import Enum
from typing import Iterator, List, Optional, Dict

import base58
import time
import sha3
from enum import Enum
from logged_groups import logged_group, logging_context
from solana.system_program import SYS_PROGRAM_ID

from ..common_neon.data import NeonTxStatData
from ..indexer.i_inidexer_user import IIndexerUser
from ..common_neon.solana_interactor import SolanaInteractor
from ..common_neon.solana_receipt_parser import SolReceiptParser
from ..common_neon.utils import NeonTxResultInfo, NeonTxInfo, str_fmt_object
from ..environment import EVM_LOADER_ID, FINALIZED, CANCEL_TIMEOUT, SKIP_CANCEL_TIMEOUT, HOLDER_TIMEOUT
from ..indexer.accounts_db import NeonAccountInfo
from ..indexer.canceller import Canceller
from ..indexer.i_inidexer_user import IIndexerUser
from ..indexer.indexer_base import IndexerBase
from ..indexer.indexer_db import IndexerDB
from ..indexer.utils import SolanaIxSignInfo, MetricsToLogBuff, CostInfo
from ..indexer.canceller import Canceller

from ..common_neon.utils import NeonTxResultInfo, NeonTxInfo, str_fmt_object
from ..common_neon.solana_interactor import SolanaInteractor
from ..common_neon.solana_receipt_parser import SolReceiptParser

from ..environment import EVM_LOADER_ID, FINALIZED, CANCEL_TIMEOUT, SKIP_CANCEL_TIMEOUT, HOLDER_TIMEOUT


@logged_group("neon.Indexer")
@@ -31,6 +28,7 @@ def __init__(self, sign: str, slot: int, tx: Dict):
self.tx = tx
self._is_valid = isinstance(tx, dict)
self._msg = self.tx['transaction']['message'] if self._is_valid else None
self._logs = self.tx['meta']['logMessages'] if self._is_valid else None
self._set_defaults()

def __str__(self):
@@ -92,6 +90,9 @@ def iter_ixs(self):

self._set_defaults()

def process_logs(self):
print(self._logs)

def get_account_cnt(self):
assert self._is_valid

@@ -987,6 +988,8 @@ def process_receipts(self):
self.state.set_ix(ix_info)
(self.ix_decoder_map.get(ix_info.evm_ix) or self.def_decoder).execute()

ix_info.process_logs()

self.state.add_tx_cost(ix_info.cost_info)

if max_slot > 0: