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

Ndev 3050 rocks db #921

Open
wants to merge 325 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
325 commits
Select commit Hold shift + click to select a range
acf2ef1
NDEV-2438: Simplify Rpc trait usage (#245)
andreisilviudragnea Dec 12, 2023
426543f
NDEV-2439: Replace HexBytes with web3::types::Bytes (#246)
andreisilviudragnea Dec 12, 2023
2b0b7ae
NDEV-2441: Remove type parameter duplication in precompile_extension …
andreisilviudragnea Dec 13, 2023
3804736
run evm tests separately (#248)
kristinaNikolaevaa Dec 15, 2023
8aa8917
fix container name (#250)
kristinaNikolaevaa Jan 4, 2024
def4fdb
Eliminate `evm::buffer::Inner::Empty` (#259)
mickvangelderen Jan 12, 2024
a5e9347
Remove operator's priority
anton-lisanin Jan 12, 2024
b4afacd
Deduplicate `OwnedAccountInfo` (#260)
mickvangelderen Jan 12, 2024
ea0d657
Add Buffer serialization and deserialization tests (#263)
mickvangelderen Jan 15, 2024
7e70f95
NDEV-2514: Refactor get_config module (#255)
andreisilviudragnea Jan 16, 2024
9b55e5e
NDEV-2505 Fix EXTHASHCODE (#253)
mickvangelderen Jan 17, 2024
4236c91
update version to 1.9.0-dev
Jan 17, 2024
ad4512f
whitelist DeBank/ Rabby partner to use local neon evm proxy with quic…
mnedelchev-vn Jan 24, 2024
b730019
NDEV-2620: Add executor_state: &impl Database parameter to EventListe…
andreisilviudragnea Feb 16, 2024
ce759a5
NDEV-2651 Remove syscall_stabs (#279)
s-medvedev Feb 20, 2024
3a179a9
Add Account Revision (#276)
anton-lisanin Feb 22, 2024
9d58ae7
added test solana programs (#284)
kristinaNikolaevaa Feb 22, 2024
0729821
Fix account migration from before revision (#285)
anton-lisanin Feb 23, 2024
7fae4ce
Update Solana SDK to v1.17 (#286)
anton-lisanin Feb 27, 2024
699c6ae
Remove GetLargestAccounts RPC request (#271)
anton-lisanin Feb 27, 2024
af703de
Add additional check for data out of bounds in get_elf_parameter (#289)
Deniskore Mar 1, 2024
7e2976c
Do not increment the revision on native balance change
anton-lisanin Feb 29, 2024
f312c94
New accounts migration system
anton-lisanin Feb 29, 2024
616bd86
NDEV-2721: Update Solana to v1.17.24 (#293)
andreisilviudragnea Mar 5, 2024
32f97b9
Set version to 1.11.0-dev (#295)
anton-lisanin Mar 5, 2024
d3357ec
Bump unsafe-libyaml from 0.2.9 to 0.2.10 in /evm_loader (#296)
dependabot[bot] Mar 6, 2024
629f8d4
Bump itertools from 0.11.0 to 0.12.1 in /evm_loader (#290)
dependabot[bot] Mar 6, 2024
a69ace7
Bump h2 from 0.3.18 to 0.3.24 in /evm_loader (#297)
dependabot[bot] Mar 6, 2024
e576b63
Bump mio from 0.8.6 to 0.8.11 in /evm_loader (#298)
dependabot[bot] Mar 6, 2024
be59e51
Bump openssl from 0.10.50 to 0.10.64 in /evm_loader (#299)
dependabot[bot] Mar 6, 2024
fda0e11
Bump serde_json from 1.0.108 to 1.0.114 in /evm_loader (#303)
dependabot[bot] Mar 6, 2024
e46cb7c
neon core rpc (#215)
BoogVAr Mar 7, 2024
a369a10
Bump tracing from 0.1.37 to 0.1.40 in /evm_loader (#307)
dependabot[bot] Mar 7, 2024
8572597
Bump serde_with from 3.3.0 to 3.6.1 in /evm_loader (#308)
dependabot[bot] Mar 7, 2024
d649407
Bump clickhouse from 0.11.5 to 0.11.6 in /evm_loader (#309)
dependabot[bot] Mar 8, 2024
a757fb0
Bump tracing-subscriber from 0.3.17 to 0.3.18 in /evm_loader (#314)
dependabot[bot] Mar 8, 2024
d022ef0
Bump async-ffi from 0.4.1 to 0.5.0 in /evm_loader (#315)
dependabot[bot] Mar 8, 2024
327b8d4
Bump serde_bytes from 0.11.12 to 0.11.14 in /evm_loader (#316)
dependabot[bot] Mar 8, 2024
9989cfc
Bump ethnum from 1.4.0 to 1.5.0 in /evm_loader (#317)
dependabot[bot] Mar 8, 2024
2dff70a
Bump base64 from 0.21.4 to 0.22.0 in /evm_loader (#318)
dependabot[bot] Mar 8, 2024
ba2bb9d
Bump strum from 0.25.0 to 0.26.1 in /evm_loader (#319)
dependabot[bot] Mar 8, 2024
d689d34
Bump jsonrpsee-types from 0.20.3 to 0.22.2 in /evm_loader (#321)
dependabot[bot] Mar 8, 2024
71bcb2c
Bump syn from 1.0.109 to 2.0.50 in /evm_loader (#322)
dependabot[bot] Mar 8, 2024
d6ba9cb
Bump maybe-async from 0.2.7 to 0.2.10 in /evm_loader (#323)
dependabot[bot] Mar 9, 2024
259c890
Bump actix-web from 4.4.0 to 4.5.1 in /evm_loader (#324)
dependabot[bot] Mar 9, 2024
b3151e7
Bump log from 0.4.20 to 0.4.21 in /evm_loader (#325)
dependabot[bot] Mar 9, 2024
2dc8ab6
Bump tracing-appender from 0.2.2 to 0.2.3 in /evm_loader (#326)
dependabot[bot] Mar 9, 2024
560be27
Bump toml from 0.8.0 to 0.8.2 in /evm_loader (#327)
dependabot[bot] Mar 9, 2024
48850f9
Bump bs58 from 0.4.0 to 0.5.0 in /evm_loader (#329)
dependabot[bot] Mar 9, 2024
952d889
Bump strum_macros from 0.25.3 to 0.26.1 in /evm_loader (#330)
dependabot[bot] Mar 9, 2024
97826bd
Bump anyhow from 1.0.70 to 1.0.80 in /evm_loader (#332)
dependabot[bot] Mar 9, 2024
1c61bb5
Bump syn from 2.0.50 to 2.0.52 in /evm_loader (#333)
dependabot[bot] Mar 9, 2024
41e88ac
Bump async-trait from 0.1.74 to 0.1.77 in /evm_loader (#334)
dependabot[bot] Mar 10, 2024
4a54890
NDEV-2301 & NDEV-2328 & NDEV-2299: Implement debug_traceTransaction p…
andreisilviudragnea Mar 11, 2024
7561334
fix slack notofication (#306)
kristinaNikolaevaa Mar 11, 2024
3490f2a
Bump strum_macros from 0.26.1 to 0.26.2 in /evm_loader (#337)
dependabot[bot] Mar 13, 2024
efe26b0
NDEV-2755: Update Solana to v1.17.25 (#339)
andreisilviudragnea Mar 13, 2024
99ded0b
NDEV-2749 Update devnet.toml (#336)
himaster Mar 14, 2024
775a43a
ci action checkout version up (#342)
kristinaNikolaevaa Mar 14, 2024
e951101
Bump proc-macro2 from 1.0.78 to 1.0.79 in /evm_loader (#341)
dependabot[bot] Mar 14, 2024
22df282
Bump strum from 0.26.1 to 0.26.2 in /evm_loader (#344)
dependabot[bot] Mar 15, 2024
72bb9cb
NDEV-2764: Update Solana dependencies to 1.17.26 (#346)
Deniskore Mar 15, 2024
50e6b1c
NDEV-2710 Change multitoken settings for stand (#340)
gigimon Mar 15, 2024
9aecb98
Bump thiserror from 1.0.57 to 1.0.58 in /evm_loader (#345)
dependabot[bot] Mar 18, 2024
70d57f9
Bump async-trait from 0.1.77 to 0.1.78 in /evm_loader (#349)
dependabot[bot] Mar 18, 2024
09759ed
CI refactoring (#347)
kristinaNikolaevaa Mar 18, 2024
400f8a4
fix trigger proxy step (#350)
kristinaNikolaevaa Mar 18, 2024
db78eb9
Bump serde_with from 3.6.1 to 3.7.0 in /evm_loader (#351)
dependabot[bot] Mar 19, 2024
c18324d
Bump anyhow from 1.0.80 to 1.0.81 in /evm_loader (#353)
dependabot[bot] Mar 20, 2024
4bb497f
fixed run_proxy_dispatches (#352)
kristinaNikolaevaa Mar 20, 2024
791bc3a
NDEV-2785: Update Solana to v1.17.27 (#354)
andreisilviudragnea Mar 20, 2024
5818cc4
NDEV-2750 Print information about completed EVM steps (#355)
anton-lisanin Mar 21, 2024
8a4ced8
NDEV-1853 Add opcodes TLOAD and TSTORE (#357)
anton-lisanin Mar 21, 2024
018ba6c
NDEV-2761 Add opcode MCOPY (#356)
anton-lisanin Mar 21, 2024
1808f71
Fix CALLCODE context (#359)
anton-lisanin Mar 21, 2024
9561a1f
Bump syn from 2.0.52 to 2.0.53 in /evm_loader (#358)
dependabot[bot] Mar 22, 2024
e9ee01c
Bump bs58 from 0.5.0 to 0.5.1 in /evm_loader (#361)
dependabot[bot] Mar 22, 2024
e439ff3
Bump jsonrpsee-types from 0.22.2 to 0.22.3 in /evm_loader (#362)
dependabot[bot] Mar 25, 2024
89ff4cc
NDEV-2807: Update Solana to 1.17.28 (#364)
stanislav-tkach Mar 26, 2024
bfea921
Bump syn from 2.0.53 to 2.0.55 in /evm_loader (#363)
dependabot[bot] Mar 27, 2024
1879d93
Bump jsonrpsee-core from 0.20.3 to 0.22.3 in /evm_loader (#367)
dependabot[bot] Mar 28, 2024
0bc54a5
NDEV-2768 Replace SELFDESTRUCT opcode with SENDALL (#366)
s-medvedev Mar 28, 2024
93a4694
Bump async-trait from 0.1.78 to 0.1.79 in /evm_loader (#369)
dependabot[bot] Mar 29, 2024
547b362
NDEV-2571 Use Solana Banks to simulate iterative transactions (#368)
anton-lisanin Apr 1, 2024
428fa34
Bump serde_json from 1.0.114 to 1.0.115 in /evm_loader (#372)
dependabot[bot] Apr 1, 2024
7261fe6
Bump enum_dispatch from 0.3.12 to 0.3.13 in /evm_loader (#375)
dependabot[bot] Apr 2, 2024
7c45841
Bump syn from 2.0.55 to 2.0.57 in /evm_loader (#376)
dependabot[bot] Apr 2, 2024
b337b59
Bump syn from 2.0.57 to 2.0.58 in /evm_loader (#378)
dependabot[bot] Apr 3, 2024
2236f96
publish image with branch tag before tests (#381)
kristinaNikolaevaa Apr 5, 2024
4ace853
Bump h2 from 0.3.24 to 0.3.26 in /evm_loader (#382)
dependabot[bot] Apr 8, 2024
48a788d
Bump anyhow from 1.0.81 to 1.0.82 in /evm_loader (#389)
dependabot[bot] Apr 15, 2024
81ee7f9
NDEV-2875: Update Solana to v1.17.31 (#390)
andreisilviudragnea Apr 15, 2024
ad7034f
Bump proc-macro2 from 1.0.79 to 1.0.80 in /evm_loader (#391)
dependabot[bot] Apr 15, 2024
7e8c352
Bump quote from 1.0.35 to 1.0.36 in /evm_loader (#392)
dependabot[bot] Apr 18, 2024
11f8493
NDEV-1837 Composability for develop (#377)
s-medvedev Apr 18, 2024
a9669c3
NDEV-2899: Make PrestateTracerDiffModeResult public (#395)
stanislav-tkach Apr 29, 2024
9a1f994
NDEV-2950: Remove unused dependencies (#399)
stanislav-tkach May 2, 2024
8c95d80
Bump actix-request-identifier from 4.1.0 to 4.2.0 in /evm_loader (#393)
dependabot[bot] May 10, 2024
d9d09fe
Support ALT in simulate_solana request
anton-lisanin May 10, 2024
fdd275b
Bump syn from 2.0.58 to 2.0.61 in /evm_loader (#403)
dependabot[bot] May 10, 2024
14981ca
Bump rustls from 0.21.7 to 0.21.12 in /evm_loader (#406)
dependabot[bot] May 10, 2024
1478d6e
NDEV-3007: Update Solana to v1.17.33 (#407)
andreisilviudragnea May 12, 2024
96e5fab
NDEV-3013 Add `heap_size` to `simulate_solana` API request (#408)
anton-lisanin May 13, 2024
9a0f281
Bump serde_with from 3.7.0 to 3.8.1 in /evm_loader (#405)
dependabot[bot] May 13, 2024
2d0153c
NDEV-3012 Fix ALT support in `simulate_solana` request (#411)
anton-lisanin May 13, 2024
ea96f61
Bump semver from 1.0.22 to 1.0.23 in /evm_loader (#410)
dependabot[bot] May 14, 2024
8ecd220
Enable cargo test for evm_loader
spylogsster May 13, 2024
448ea06
Run tests in release mode
spylogsster May 13, 2024
865e2f4
Bump async-trait from 0.1.79 to 0.1.80 in /evm_loader (#414)
dependabot[bot] May 14, 2024
d5df47e
Bump serde from 1.0.197 to 1.0.201 in /evm_loader (#416)
dependabot[bot] May 14, 2024
923b647
Apply nonce from state_overrides
spylogsster May 8, 2024
a5e14fb
Take chain id from TxParams
spylogsster May 8, 2024
c8e6793
Apply balance override
spylogsster May 8, 2024
e738474
Move account storage tests to a separate file
spylogsster May 8, 2024
8672e35
Added tests for balance and nonce overridings
spylogsster May 9, 2024
105fd21
Apply overrides from all constructors
spylogsster May 14, 2024
ce0d874
NDEV-3025: state and stateDiff overrides require 32 byte hex values (…
andreisilviudragnea May 15, 2024
14b1617
Bump base64 from 0.22.0 to 0.22.1 in /evm_loader (#417)
dependabot[bot] May 15, 2024
0adf434
NDEV-3026 add new proxy to ci (#420)
kristinaNikolaevaa May 16, 2024
46f6fd3
Add a new account type for operator balances
anton-lisanin Apr 8, 2024
3b24f4e
Remove cancel_trx from neon-cli
anton-lisanin Apr 8, 2024
abab063
Add suport of operator balances to instructions with Solana calls
afalaleev May 16, 2024
0bc93bd
Bump anyhow from 1.0.82 to 1.0.83 in /evm_loader (#421)
dependabot[bot] May 17, 2024
287d896
Bump serde from 1.0.201 to 1.0.202 in /evm_loader (#424)
dependabot[bot] May 20, 2024
12f3a23
Bump anyhow from 1.0.83 to 1.0.86 in /evm_loader (#428)
dependabot[bot] May 21, 2024
05cd085
NDEV-3047: Update Solana to v1.17.34 (#431)
andreisilviudragnea May 22, 2024
003277f
Enable clippy warnings as errors across all crates in neon-evm reposi…
spylogsster May 22, 2024
63e97cb
--- (#433)
dependabot[bot] May 22, 2024
4e03cae
NDEV-3034: Remove unused solana_emulator module (#423)
andreisilviudragnea May 22, 2024
20fbec7
--- (#436)
dependabot[bot] May 23, 2024
61e03ef
Bump serde_json from 1.0.115 to 1.0.117 in /evm_loader (#437)
dependabot[bot] May 23, 2024
336d75f
Bump itertools from 0.12.1 to 0.13.0 in /evm_loader (#439)
dependabot[bot] May 24, 2024
45514e6
Bump syn from 2.0.61 to 2.0.66 in /evm_loader (#440)
dependabot[bot] May 24, 2024
c2569f3
Check the revisions for the read accounts only (#388)
anton-lisanin May 24, 2024
d814250
Set version to v1.13.0-dev
anton-lisanin May 24, 2024
e70336a
Bump thiserror from 1.0.58 to 1.0.61 in /evm_loader (#441)
dependabot[bot] May 27, 2024
71588b8
Bump serde from 1.0.202 to 1.0.203 in /evm_loader (#443)
dependabot[bot] May 27, 2024
121ffbf
Bump proc-macro2 from 1.0.83 to 1.0.84 in /evm_loader (#444)
dependabot[bot] May 28, 2024
35868ba
NDEV-3064: Truncate AccountRow::data Debug representation (#445)
andreisilviudragnea May 28, 2024
7cc79ec
NDEV-3080 Reduce number of requests for config (#448)
anton-lisanin May 31, 2024
44d7dda
Bump proc-macro2 from 1.0.84 to 1.0.85 in /evm_loader (#449)
dependabot[bot] Jun 3, 2024
02a82cc
NDEV-3080 Neon-API Optimizations (#450)
anton-lisanin Jun 4, 2024
be77f29
fix CI neon-evm-tests step problem (#453)
kristinaNikolaevaa Jun 6, 2024
36d8db6
NDEV-3080 Neon-API Optimizations, part 2 (#454)
anton-lisanin Jun 6, 2024
cb15464
initial compiling commit
iguberman Jun 7, 2024
0039507
RocksDB Ws cient fixed and working (tested manually) plus intermediat…
iguberman Jun 10, 2024
5eb055e
RocksDB Ws cient fixed and working (tested manually) plus intermediat…
iguberman Jun 10, 2024
e83f168
Commented RocksDB client test stuff out for now as it breaks GHA build.
iguberman Jun 10, 2024
90ba2a9
NDEV-3080 Neon-API Optimizations, part 3 (#456)
anton-lisanin Jun 10, 2024
24e3bbf
Temp stub out unimplemented methods.
iguberman Jun 10, 2024
1fd334f
SLA-87 Do nothing in case of Self Transfer or Zero Value Transfer in …
anton-lisanin Jun 11, 2024
b578ae7
Set version to 1.14.0-dev
anton-lisanin Jun 11, 2024
aa7a676
add client calls get_transaction_index and get_accounts
iguberman Jun 14, 2024
d852dc2
format and remove unnecessary rocksDb dependency
iguberman Jun 14, 2024
8601e16
clippy fix attempt
iguberman Jun 14, 2024
455ad51
Fix config
iguberman Jun 18, 2024
e093d4d
Bump strum_macros from 0.26.2 to 0.26.4 in /evm_loader (#457)
dependabot[bot] Jun 19, 2024
1465a18
Bump hyper from 0.14.27 to 1.3.1 in /evm_loader (#463)
dependabot[bot] Jun 19, 2024
b636821
Bump actix-web from 4.6.0 to 4.7.0 in /evm_loader
dependabot[bot] Jun 19, 2024
5e9dc76
Revert "Bump hyper from 0.14.27 to 1.3.1 in /evm_loader (#463)"
andreisilviudragnea Jun 19, 2024
4ff935a
add rocksdb env args
iguberman Jun 19, 2024
6c255a3
Add transaction origin to `get_holder` response (#462)
anton-lisanin Jun 19, 2024
c9b1fca
Make load_db_config_from_environment() public
iguberman Jun 19, 2024
2346a0c
Merge develop
iguberman Jun 19, 2024
079e6ec
Improve loggigng + attempt to use reconnecting_jsonrpsee_ws_client co…
iguberman Jun 21, 2024
2988a52
get holder status fix (#469)
BoogVAr Jun 21, 2024
2c77fba
Fix get_transaction_index parameter
iguberman Jun 24, 2024
b79780e
Bump actix-web from 4.7.0 to 4.8.0 in /evm_loader (#468)
dependabot[bot] Jun 24, 2024
38693dd
Fix get_slot_by_blockhash
iguberman Jun 24, 2024
d8f3e9d
Fix fix get_account_by
iguberman Jun 25, 2024
bdd152d
SLA-95 Fix gas estimation when trx include wSOL transfer (#472)
s-medvedev Jun 25, 2024
f140532
Return entire transaction from `get_holder` request (#473)
anton-lisanin Jun 25, 2024
8b6233e
Add logs when iterative transaction resets (#475)
anton-lisanin Jun 25, 2024
49b354c
Introduce Rollup feature - a neon evm with bigger heap. (#471)
evgenyzdanovich Jun 27, 2024
ed9dfb1
Add some debug logs and Send solana structs Pubkey/Signature from rpc…
iguberman Jun 28, 2024
d7a1643
Send Pubkey as rpc param instead of &Pubkey
iguberman Jun 28, 2024
a138d80
Bump lazy_static from 1.4.0 to 1.5.0 in /evm_loader (#470)
dependabot[bot] Jul 1, 2024
6794e1e
Bump build-info-build from 0.0.31 to 0.0.37 in /evm_loader (#477)
dependabot[bot] Jul 2, 2024
49abb25
Bump serde_bytes from 0.11.14 to 0.11.15 in /evm_loader (#478)
dependabot[bot] Jul 2, 2024
2a2ab07
Bump serde_with from 3.8.1 to 3.8.2 in /evm_loader (#479)
dependabot[bot] Jul 3, 2024
bed1c2b
Fix get_account_at response logging
iguberman Jul 4, 2024
fb9fff0
Bump serde_json from 1.0.117 to 1.0.120 in /evm_loader (#481)
dependabot[bot] Jul 5, 2024
48b5720
Bump strum from 0.26.2 to 0.26.3 in /evm_loader (#482)
dependabot[bot] Jul 5, 2024
a7984f2
Bump proc-macro2 from 1.0.85 to 1.0.86 in /evm_loader (#484)
dependabot[bot] Jul 8, 2024
9560f6c
Bump syn from 2.0.66 to 2.0.70 in /evm_loader (#487)
dependabot[bot] Jul 10, 2024
006c1ad
Bump serde_with from 3.8.2 to 3.8.3 in /evm_loader (#490)
dependabot[bot] Jul 11, 2024
1391011
Fix tests: return None if slot not found by blockhash
Jul 11, 2024
7c42509
Bump serde from 1.0.203 to 1.0.204 in /evm_loader (#491)
dependabot[bot] Jul 11, 2024
ebd3150
Bump log from 0.4.21 to 0.4.22 in /evm_loader (#492)
dependabot[bot] Jul 12, 2024
44d4308
NDEV-3095: Compare status and logs between emulation and receipt (#460)
andreisilviudragnea Jul 15, 2024
9b94c8f
Bump thiserror from 1.0.61 to 1.0.62 in /evm_loader (#494)
dependabot[bot] Jul 15, 2024
6555575
NDEV-3050 Suppose that get_account_at may return missing account
Jul 16, 2024
b4fef0f
Merge remote-tracking branch 'origin/develop' into NDEV-3050-RocksDb_…
Jul 16, 2024
ca394f7
Fix get_account_at response logging
iguberman Jul 16, 2024
b8d6f7d
Bump syn from 2.0.70 to 2.0.71 in /evm_loader (#497)
dependabot[bot] Jul 17, 2024
2febccc
SLA-109 Use special constant for operator account inside the action l…
s-medvedev Jul 17, 2024
34ceaf2
SLA-110 Log account revision changes (#500)
anton-lisanin Jul 17, 2024
12ab8ae
Merge branch 'develop' into NDEV-3050-RocksDb_Client
iguberman Jul 17, 2024
fa92939
Bump async-trait from 0.1.80 to 0.1.81 in /evm_loader (#499)
dependabot[bot] Jul 19, 2024
ec20537
SLA-99 Do not track update accounts for specific owners (#485) (#488)
s-medvedev Jul 19, 2024
4669ba8
SLA-110 Ignore Pyth legacy accounts (#503)
anton-lisanin Jul 19, 2024
6bd36a7
SLA-115 correctly handle empty accounts (#504)
anton-lisanin Jul 19, 2024
47fd840
Bump serde_with from 3.8.3 to 3.9.0 in /evm_loader (#502)
dependabot[bot] Jul 20, 2024
60285c7
Bump thiserror from 1.0.62 to 1.0.63 in /evm_loader (#505)
dependabot[bot] Jul 20, 2024
9febc46
NDEV-3110: Update Solana to v1.18.18 (#302)
andreisilviudragnea Jul 24, 2024
f86f8c8
Bump clickhouse from 0.11.6 to 0.12.0 in /evm_loader (#511)
dependabot[bot] Jul 24, 2024
b9967fd
NDEV-3207: Fix OnceCell race condition (#513)
andreisilviudragnea Jul 25, 2024
d9285f4
Bump tokio from 1.38.1 to 1.39.1 in /evm_loader (#512)
dependabot[bot] Jul 25, 2024
4f1c154
Bump toml from 0.8.15 to 0.8.16 in /evm_loader (#514)
dependabot[bot] Jul 26, 2024
37d0508
Ndev 3198 rocksdb chdb (#509)
iguberman Jul 27, 2024
c343bc4
Bump serde_json from 1.0.120 to 1.0.121 in /evm_loader (#515)
dependabot[bot] Jul 30, 2024
4f1e9b8
SLA-119: Fix DELEGATECALL "to" address in callTracer (#517)
andreisilviudragnea Jul 31, 2024
af7c8c0
Heap inside Holder account. (#495)
evgenyzdanovich Aug 14, 2024
a844470
Set version to 1.15. (#523)
evgenyzdanovich Aug 14, 2024
a6a0290
merge with develop
iguberman Aug 20, 2024
8222602
PR review comments follow-up
iguberman Aug 21, 2024
aa7bab2
PR review comments follow-up
iguberman Aug 21, 2024
d0155a5
PR review comments follow-up
iguberman Aug 21, 2024
8cca968
Fix clippy errors
iguberman Aug 22, 2024
b1b29a8
PR comments followup (send Pubkey and String as str in request params)
iguberman Aug 26, 2024
65b213f
Add missing env var TRACER_DB_TYPE
iguberman Aug 27, 2024
04b58e0
Add missing env var TRACER_DB_TYPE
iguberman Aug 27, 2024
ec1d5c0
added devnet test chains (#526)
kristinaNikolaevaa Aug 27, 2024
0f4d167
Add missing env var TRACER_DB_TYPE
iguberman Aug 27, 2024
1463385
Add missing env var TRACER_DB_TYPE
iguberman Aug 27, 2024
4a76204
Temporary set clickhouse to be default for TRACER_DB_TYPE (to pass CI…
iguberman Aug 27, 2024
c3bd800
Temporary set clickhouse to be default for TRACER_DB_TYPE (to pass CI…
iguberman Aug 28, 2024
7755184
Temporary set clickhouse to be default for TRACER_DB_TYPE (to pass CI…
iguberman Aug 28, 2024
8c56fb8
Temporary set clickhouse to be default for TRACER_DB_TYPE (to pass CI…
iguberman Aug 28, 2024
6f479dd
Temporary set clickhouse to be default for TRACER_DB_TYPE (to pass CI…
iguberman Aug 28, 2024
66a73d3
Undo default to clickhouse and keep TRACER_DB_TYPE env var manadatory
iguberman Aug 28, 2024
956b401
Undo default to clickhouse and keep TRACER_DB_TYPE env var manadatory
iguberman Aug 28, 2024
daae9c9
NDEV-3096. Get Account State after emulation for debug_traceTransacti…
ancientmage Aug 28, 2024
b79ff9e
Deallocate EVM and ExecutorState in case of reset before the allocati…
evgenyzdanovich Aug 28, 2024
33ea5e1
merge with latest develop
iguberman Aug 28, 2024
bfce597
ci refactoring (#528)
kristinaNikolaevaa Aug 29, 2024
d1f5cec
Support of EIP-1559 in the Neon EVM (#409)
evgenyzdanovich Aug 29, 2024
04fdf8b
Add support for "none" TRACER_DB_TYPE
iguberman Aug 30, 2024
8b0e9d6
Merge branch 'develop' into NDEV-3050-RocksDb
iguberman Aug 30, 2024
e380af1
experimental change with fully implemented NoDbConfig and correpsondi…
iguberman Aug 30, 2024
001079a
fix CI (#532)
kristinaNikolaevaa Sep 2, 2024
967644d
make TRACER_DB_TYPE env var optional and APIConfig db_config an option
iguberman Sep 3, 2024
0f00024
fix clippy errors
iguberman Sep 3, 2024
c91bfa3
add support for "none" TRACER_DB_TYPE
iguberman Sep 3, 2024
91de02c
Address PR comments
iguberman Sep 3, 2024
cefae97
fix deploy.py script for manual run (#537)
kristinaNikolaevaa Sep 3, 2024
ae50b87
NDEV-3265. Fix /api/emulate failed with precompiled contracts (#529)
ancientmage Sep 3, 2024
db3dc4a
NDEV-3050 Small fixes (#539)
s-medvedev Sep 3, 2024
b099f90
Merge branch 'develop' into NDEV-3050-RocksDb
iguberman Sep 3, 2024
f99a3ce
add get_accounts_in_transaction method
iguberman Sep 4, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 0 additions & 7 deletions .buildkite/pipeline.yml

This file was deleted.

2 changes: 1 addition & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ Dockerfile
Dockerfile.*
.*.swp

.git
.github
.gitignore
.gitmodules
Expand All @@ -18,6 +17,7 @@ evm_loader/rust-evm/gasometer/target
evm_loader/rust-evm/runtime/target
evm_loader/rust-evm/src/target
evm_loader/target
test-ledger

.idea
venv
Expand Down
262 changes: 172 additions & 90 deletions .github/workflows/deploy.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import subprocess
import requests
import json
import typing as tp
from urllib.parse import urlparse

from github_api_client import GithubClient
Expand All @@ -29,67 +30,134 @@

DOCKER_USER = os.environ.get("DHUBU")
DOCKER_PASSWORD = os.environ.get("DHUBP")
IMAGE_NAME = 'neonlabsorg/evm_loader'
SOLANA_NODE_VERSION = 'v1.14.20'
SOLANA_BPF_VERSION = 'v1.14.20'
IMAGE_NAME = os.environ.get("IMAGE_NAME", "evm_loader")
RUN_LINK_REPO = os.environ.get("RUN_LINK_REPO")
DOCKERHUB_ORG_NAME = os.environ.get("DOCKERHUB_ORG_NAME")
SOLANA_NODE_VERSION = 'v1.18.18'
SOLANA_BPF_VERSION = 'v1.18.18'

VERSION_BRANCH_TEMPLATE = r"[vt]{1}\d{1,2}\.\d{1,2}\.x.*"
RELEASE_TAG_TEMPLATE = r"[vt]{1}\d{1,2}\.\d{1,2}\.\d{1,2}"

docker_client = docker.APIClient()
NEON_TEST_IMAGE_NAME = "neon_tests"

PROXY_ENDPOINT = os.environ.get("PROXY_ENDPOINT")
NEON_TESTS_ENDPOINT = os.environ.get("NEON_TESTS_ENDPOINT")


@click.group()
def cli():
pass


def ref_to_image_tag(ref):
return ref.split('/')[-1]


def set_github_env(envs: tp.Dict, upper=True) -> None:
"""Set environment for github action"""
path = os.getenv("GITHUB_ENV", str())
if os.path.exists(path):
print(f"Set environment variables: {envs}")
with open(path, "a") as env_file:
for key, value in envs.items():
env_file.write(f"\n{key.upper() if upper else key}={str(value)}")


def is_image_exist(image, tag):
response = requests.get(
url=f"https://registry.hub.docker.com/v2/repositories/{DOCKERHUB_ORG_NAME}/{image}/tags/{tag}")
return response.status_code == 200


@cli.command(name="specify_image_tags")
@click.option('--git_ref')
@click.option('--git_head_ref')
@click.option('--git_base_ref')
def specify_image_tags(git_ref,
git_head_ref,
git_base_ref):
# evm_tag
if "refs/pull" in git_ref:
evm_tag = ref_to_image_tag(git_head_ref)
elif git_ref == "refs/heads/develop":
evm_tag = "latest"
else:
evm_tag = ref_to_image_tag(git_ref)

# evm_pr_version_branch
evm_pr_version_branch = ""
if git_base_ref:
if re.match(VERSION_BRANCH_TEMPLATE, ref_to_image_tag(git_base_ref)) is not None:
evm_pr_version_branch = ref_to_image_tag(git_base_ref)

# is_evm_release
if "refs/tags/" in git_ref:
is_evm_release = True
else:
is_evm_release = False

# test_image_tag
if evm_tag and is_image_exist(NEON_TEST_IMAGE_NAME, evm_tag):
neon_test_tag = evm_tag
elif is_evm_release:
neon_test_tag = re.sub(r'\.[0-9]*$', '.x', evm_tag)
if not is_image_exist(NEON_TEST_IMAGE_NAME, neon_test_tag):
raise RuntimeError(f"{NEON_TEST_IMAGE_NAME} image with {neon_test_tag} tag isn't found")
elif evm_pr_version_branch and is_image_exist(NEON_TEST_IMAGE_NAME, evm_pr_version_branch):
neon_test_tag = evm_pr_version_branch
else:
neon_test_tag = "latest"

env = dict(evm_tag=evm_tag,
evm_pr_version_branch=evm_pr_version_branch,
is_evm_release=is_evm_release,
neon_test_tag=neon_test_tag)
set_github_env(env)


@cli.command(name="build_docker_image")
@click.option('--github_sha')
def build_docker_image(github_sha):
@click.option('--evm_sha_tag')
def build_docker_image(evm_sha_tag):
solana_image = f'solanalabs/solana:{SOLANA_NODE_VERSION}'
docker_client.pull(solana_image)
buildargs = {"REVISION": github_sha,
buildargs = {"REVISION": evm_sha_tag,
"SOLANA_IMAGE": solana_image,
"SOLANA_BPF_VERSION": SOLANA_BPF_VERSION}

tag = f"{IMAGE_NAME}:{github_sha}"
tag = f"{DOCKERHUB_ORG_NAME}/{IMAGE_NAME}:{evm_sha_tag}"
click.echo("start build")
output = docker_client.build(tag=tag, buildargs=buildargs, path="./", decode=True)
process_output(output)


@cli.command(name="publish_image")
@click.option('--github_sha')
def publish_image(github_sha):
docker_client.login(username=DOCKER_USER, password=DOCKER_PASSWORD)
out = docker_client.push(f"{IMAGE_NAME}:{github_sha}", decode=True, stream=True)
process_output(out)
@click.option('--evm_sha_tag')
@click.option('--evm_tag')
def publish_image(evm_sha_tag, evm_tag):
push_image_with_tag(evm_sha_tag, evm_sha_tag)
# push latest and version tags only on the finalizing step
if evm_tag != "latest" and re.match(RELEASE_TAG_TEMPLATE, evm_tag) is None:
push_image_with_tag(evm_sha_tag, evm_tag)


@cli.command(name="finalize_image")
@click.option('--head_ref_branch')
@click.option('--github_ref')
@click.option('--github_sha')
def finalize_image(head_ref_branch, github_ref, github_sha):
branch = github_ref.replace("refs/heads/", "")
if re.match(VERSION_BRANCH_TEMPLATE, branch) is None:
if 'refs/tags/' in branch:
tag = branch.replace("refs/tags/", "")
elif branch == 'master':
tag = 'stable'
elif branch == 'develop':
tag = 'latest'
else:
tag = head_ref_branch.split('/')[-1]

docker_client.login(username=DOCKER_USER, password=DOCKER_PASSWORD)
out = docker_client.pull(f"{IMAGE_NAME}:{github_sha}", decode=True, stream=True)
process_output(out)

docker_client.tag(f"{IMAGE_NAME}:{github_sha}", f"{IMAGE_NAME}:{tag}")
out = docker_client.push(f"{IMAGE_NAME}:{tag}", decode=True, stream=True)
process_output(out)
@click.option('--evm_sha_tag')
@click.option('--evm_tag')
def finalize_image(evm_sha_tag, evm_tag):
if re.match(RELEASE_TAG_TEMPLATE, evm_tag) is not None or evm_tag == "latest":
push_image_with_tag(evm_sha_tag, evm_tag)
else:
click.echo("The image is not published, please create tag for publishing")
click.echo(f"Nothing to finalize, the tag {evm_tag} is not version tag or latest")


def push_image_with_tag(sha, tag):
image = f"{DOCKERHUB_ORG_NAME}/{IMAGE_NAME}"
docker_client.login(username=DOCKER_USER, password=DOCKER_PASSWORD)
docker_client.tag(f"{image}:{sha}", f"{image}:{tag}")
out = docker_client.push(f"{image}:{tag}", decode=True, stream=True)
process_output(out)


def run_subprocess(command):
Expand All @@ -98,18 +166,24 @@ def run_subprocess(command):


@cli.command(name="run_tests")
@click.option('--github_sha')
def run_tests(github_sha):
image_name = f"{IMAGE_NAME}:{github_sha}"
os.environ["EVM_LOADER_IMAGE"] = image_name
project_name = f"neon-evm-{github_sha}"
@click.option('--evm_sha_tag')
@click.option('--neon_test_tag')
@click.option('--run_number', default=1)
@click.option('--run_attempt', default=1)
def run_tests(evm_sha_tag, neon_test_tag, run_number, run_attempt):
os.environ["EVM_LOADER_IMAGE"] = f"{DOCKERHUB_ORG_NAME}/{IMAGE_NAME}:{evm_sha_tag}"
os.environ["NEON_TESTS_IMAGE"] = f"{DOCKERHUB_ORG_NAME}/{NEON_TEST_IMAGE_NAME}:{neon_test_tag}"
project_name = f"neon-evm-{evm_sha_tag}-{run_number}-{run_attempt}"
stop_containers(project_name)

run_subprocess(f"docker-compose -p {project_name} -f ./evm_loader/docker-compose-ci.yml up -d")
container_name = get_solana_container_name(project_name)
run_subprocess(f"docker-compose -p {project_name} -f ./ci/docker-compose-ci.yml pull")
run_subprocess(f"docker-compose -p {project_name} -f ./ci/docker-compose-ci.yml up -d")
test_container_name = get_container_name(project_name, "tests")

click.echo("Start tests")
print(test_container_name)
exec_id = docker_client.exec_create(
container=container_name, cmd="/opt/deploy-test.sh")
container=test_container_name, cmd="python3 clickfile.py run evm --numprocesses 8 --network docker_net")
logs = docker_client.exec_start(exec_id['Id'], stream=True)

tests_are_failed = False
Expand All @@ -118,77 +192,78 @@ def run_tests(github_sha):
current_line = line.decode('utf-8')
all_logs += current_line
click.echo(current_line)
if 'ERROR ' in current_line or 'FAILED ' in current_line:
if 'ERROR ' in current_line or 'FAILED ' in current_line or 'Error: ' in current_line:
tests_are_failed = True
print("Tests are failed")
if "[100%]" not in all_logs:
tests_are_failed = True
print("Part of tests are skipped")

exec_status = docker_client.exec_inspect(exec_id['Id'])["ExitCode"]

run_subprocess(f"docker-compose -p {project_name} -f ./ci/docker-compose-ci.yml logs neon-core-api")

stop_containers(project_name)

if tests_are_failed or exec_status == 1:
sys.exit(1)


def get_solana_container_name(project_name):
def get_container_name(project_name, service_name):
data = subprocess.run(
f"docker-compose -p {project_name} -f ./evm_loader/docker-compose-ci.yml ps",
f"docker-compose -p {project_name} -f ./ci/docker-compose-ci.yml ps",
shell=True, capture_output=True, text=True).stdout
click.echo(data)
pattern = rf'{project_name}_[a-zA-Z0-9_]+'

pattern = rf'{project_name}[-_]{service_name}[-_]1'
match = re.search(pattern, data)
return match.group(0)


def stop_containers(project_name):
run_subprocess(f"docker-compose -p {project_name} -f ./evm_loader/docker-compose-ci.yml down")
run_subprocess(f"docker-compose -p {project_name} -f ./ci/docker-compose-ci.yml down")


@cli.command(name="trigger_proxy_action")
@click.option('--head_ref_branch')
@click.option('--base_ref_branch')
@click.option('--github_ref')
@click.option('--github_sha')
@click.option('--evm_pr_version_branch')
@click.option('--is_evm_release')
@click.option('--evm_sha_tag')
@click.option('--evm_tag')
@click.option('--token')
@click.option('--is_draft')
@click.option('--labels')
def trigger_proxy_action(head_ref_branch, base_ref_branch, github_ref, github_sha, token, is_draft, labels):
is_develop_branch = github_ref in ['refs/heads/develop', 'refs/heads/master']
is_tag_creating = 'refs/tags/' in github_ref
is_version_branch = re.match(VERSION_BRANCH_TEMPLATE, github_ref.replace("refs/heads/", "")) is not None
is_FTS_labeled_not_draft = 'FullTestSuit' in labels and is_draft != "true"

if is_develop_branch or is_tag_creating or is_version_branch or is_FTS_labeled_not_draft:
full_test_suite = "true"
@click.option('--pr_url')
@click.option('--pr_number')
def trigger_proxy_action(evm_pr_version_branch, is_evm_release, evm_sha_tag, evm_tag, token, labels,
pr_url, pr_number):
is_version_branch = re.match(VERSION_BRANCH_TEMPLATE, evm_tag) is not None
is_FTS_labeled = 'fullTestSuit' in labels

if evm_tag == "latest" or is_evm_release == 'True' or is_version_branch or is_FTS_labeled:
full_test_suite = True
else:
full_test_suite = "false"
full_test_suite = False

github = GithubClient(token)

if head_ref_branch in github.get_proxy_branches():
proxy_branch = head_ref_branch
elif re.match(VERSION_BRANCH_TEMPLATE, base_ref_branch):
proxy_branch = base_ref_branch
elif is_tag_creating:
neon_evm_tag = github_ref.replace("refs/tags/", "")
proxy_branch = re.sub(r'\.\d+$', '.x', neon_evm_tag)
# get proxy branch by evm_tag
if GithubClient.is_branch_exist(PROXY_ENDPOINT, evm_tag):
proxy_branch = evm_tag
elif evm_pr_version_branch:
proxy_branch = evm_pr_version_branch
elif is_evm_release == 'True':
proxy_branch = re.sub(r'\.\d+$', '.x', evm_tag)
elif is_version_branch:
proxy_branch = github_ref.replace("refs/heads/", "")
proxy_branch = evm_tag
else:
proxy_branch = 'develop'
click.echo(f"Proxy branch: {proxy_branch}")

initial_pr = f"{pr_url}/{pr_number}/comments" if pr_number else ""

runs_before = github.get_proxy_runs_list(proxy_branch)
runs_count_before = github.get_proxy_runs_count(proxy_branch)
github.run_proxy_dispatches(proxy_branch, github_ref, github_sha, full_test_suite)
github.run_proxy_dispatches(proxy_branch, evm_tag, evm_sha_tag, evm_pr_version_branch, full_test_suite, initial_pr)
wait_condition(lambda: github.get_proxy_runs_count(proxy_branch) > runs_count_before)

runs_after = github.get_proxy_runs_list(proxy_branch)
proxy_run_id = list(set(runs_after) - set(runs_before))[0]
link = f"https://github.com/neonlabsorg/proxy-model.py/actions/runs/{proxy_run_id}"
link = f"https://github.com/{RUN_LINK_REPO}/actions/runs/{proxy_run_id}"
click.echo(f"Proxy run link: {link}")
click.echo("Waiting for completed status...")
wait_condition(lambda: github.get_proxy_run_info(proxy_run_id)["status"] == "completed", timeout_sec=10800, delay=5)
Expand All @@ -213,20 +288,27 @@ def wait_condition(func_cond, timeout_sec=60, delay=0.5):


@cli.command(name="send_notification", help="Send notification to slack")
@click.option("-u", "--url", help="slack app endpoint url.")
@click.option("-b", "--build_url", help="github action test build url.")
def send_notification(url, build_url):
tpl = ERR_MSG_TPL.copy()

parsed_build_url = urlparse(build_url).path.split("/")
build_id = parsed_build_url[-1]
repo_name = f"{parsed_build_url[1]}/{parsed_build_url[2]}"

tpl["blocks"][0]["text"]["text"] = (
f"*Build <{build_url}|`{build_id}`> of repository `{repo_name}` is failed.*"
f"\n<{build_url}|View build details>"
)
requests.post(url=url, data=json.dumps(tpl))
@click.option("--evm_tag", help="slack app endpoint url.")
@click.option("--url", help="slack app endpoint url.")
@click.option("--build_url", help="github action test build url.")
def send_notification(evm_tag, url, build_url):

if re.match(RELEASE_TAG_TEMPLATE, evm_tag) is not None \
or re.match(VERSION_BRANCH_TEMPLATE, evm_tag) is not None \
or evm_tag == "latest":
tpl = ERR_MSG_TPL.copy()

parsed_build_url = urlparse(build_url).path.split("/")
build_id = parsed_build_url[-1]
repo_name = f"{parsed_build_url[1]}/{parsed_build_url[2]}"

tpl["blocks"][0]["text"]["text"] = (
f"*Build <{build_url}|`{build_id}`> of repository `{repo_name}` is failed.*"
f"\n<{build_url}|View build details>"
)
requests.post(url=url, data=json.dumps(tpl))
else:
click.echo(f"Notification is not sent, the tag {evm_tag} is not version tag or latest")


def process_output(output):
Expand Down
Loading