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

feat: multiple native assets (WIP) #14

Closed
wants to merge 368 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
368 commits
Select commit Hold shift + click to select a range
7fe5dfa
chore: make clippy happy (#1020)
mattsse Jan 29, 2024
fecd186
docs: add some docs to StorageSlot (#1019)
mattsse Jan 29, 2024
5767e6d
refactor(Execution): Granular handles create/call,call_return,insert_…
rakita Jan 29, 2024
1df0ea8
feat(op): Ecotone hardfork (#1009)
clabby Jan 29, 2024
f8507ef
chore(clippy): nightly clippy (#1025)
rakita Jan 29, 2024
33bae58
refactor(op): Move op l1 block load to op handler (#1026)
rakita Jan 30, 2024
bd392fb
chore(deps): bump alloy-sol-macro from 0.6.0 to 0.6.2 (#1013)
dependabot[bot] Jan 30, 2024
424c2a0
chore(deps): bump alloy-primitives from 0.6.0 to 0.6.2 (#1014)
dependabot[bot] Jan 30, 2024
fb6e9d3
chore(deps): bump serde from 1.0.195 to 1.0.196 (#1022)
dependabot[bot] Jan 30, 2024
589ff87
chore(deps): bump auto_impl from 1.1.0 to 1.1.2 (#1023)
dependabot[bot] Jan 30, 2024
5b22e9d
chore(deps): bump serde_json from 1.0.111 to 1.0.113 (#1027)
dependabot[bot] Jan 30, 2024
2a294fc
chore(Inspector): add inspector depth test (#1028)
rakita Jan 30, 2024
ecb6c4b
chore: group handlers (#1030)
rakita Jan 30, 2024
8148063
feat: add `BytecodeLocked::original_bytecode` (#1037)
DaniPopes Feb 1, 2024
653dec1
chore(std): Add std HashMap,HashSet (#1041)
rakita Feb 2, 2024
457244b
fix previous commit (#1044)
rakita Feb 2, 2024
93c7ba0
reorder crate listings to match the order in the book (#1047)
ilevyor Feb 2, 2024
73b689d
feat: tweeks for v4.0 revm release (#1048)
rakita Feb 5, 2024
cde3e30
chore(deps): bump ethers-providers from 2.0.11 to 2.0.13 (#1033)
dependabot[bot] Feb 5, 2024
29284b3
chore(deps): bump ethers-contract from 2.0.11 to 2.0.13 (#1034)
dependabot[bot] Feb 5, 2024
8d194a9
chore(deps): bump alloy-sol-types from 0.6.0 to 0.6.2 (#1035)
dependabot[bot] Feb 5, 2024
6698865
chore(deps): bump ethers-core from 2.0.12 to 2.0.13 (#1036)
dependabot[bot] Feb 5, 2024
a799ef2
chore(EvmBuilder): rename builder functions to HandlerCfg (#1050)
rakita Feb 5, 2024
12e1996
feat(ci): release-plz on PR and bump ahash (#1054)
rakita Feb 6, 2024
8e4a5ea
feat(Handler): add push and pop of hanler registers (#1053)
rakita Feb 6, 2024
d3e812a
chore(deps): bump tokio from 1.35.1 to 1.36.0 (#1052)
dependabot[bot] Feb 6, 2024
71630df
chore(deps): bump eyre from 0.6.11 to 0.6.12 (#1051)
dependabot[bot] Feb 6, 2024
f6353c6
chore(deps): bump secp256k1 from 0.28.1 to 0.28.2 (#1038)
dependabot[bot] Feb 6, 2024
51d3cb2
feat(handler): Change spec id on &mut (#1055)
rakita Feb 6, 2024
d8379f7
tweeks: helper functions around Env (#1057)
rakita Feb 6, 2024
773b0b2
chore: spelling on last commit (#1058)
rakita Feb 6, 2024
4540334
chore: bump c-kzg and enable blst portable feature (#1059)
Rjected Feb 7, 2024
ccca8c6
chore: tag v27, revm v4.0.0 release (#1061)
rakita Feb 7, 2024
53718f2
README path
rakita Feb 7, 2024
0654850
fix(op): skip validation on deposit tx (#1065)
rakita Feb 8, 2024
a2dd2c5
tests(revme): statetests new format and return error (#1066)
rakita Feb 8, 2024
4ab3341
chore(revm): Add helpers to Build Revm with Context (#1068)
rakita Feb 8, 2024
bbca128
fix: typo on internal append_handle_register methods (#1069)
Rjected Feb 9, 2024
52c517c
fix: properly set context env (#1070)
mattsse Feb 10, 2024
4ff9ac0
chore: precompile bn128 copy (#1071)
rakita Feb 10, 2024
98deb0b
feat(interpreter): relax `make_boxed_instruction_table::FN` to `FnMut…
DaniPopes Feb 11, 2024
9fd79fb
refactor(precompile): make use of padding utilities, simplify secp256…
DaniPopes Feb 11, 2024
a961c1f
perf/refactor(precompile): simplify bn128 precompile implementations …
DaniPopes Feb 11, 2024
3a58880
perf(precompile): don't allocate if padding is not needed (#1075)
DaniPopes Feb 12, 2024
a87226a
chore(deps): bump indicatif from 0.17.7 to 0.17.8 (#1077)
dependabot[bot] Feb 12, 2024
ad415e5
chore(deps): bump thiserror from 1.0.56 to 1.0.57 (#1078)
dependabot[bot] Feb 12, 2024
e85faeb
chore: release (#1067)
github-actions[bot] Feb 12, 2024
63fd55a
chore: tag v28, revm v5.0.0 (#1079)
rakita Feb 12, 2024
d1b5920
chore: license date and revm docs (#1080)
rakita Feb 12, 2024
07c3440
chore: cargo update (#1081)
rakita Feb 12, 2024
5670ee4
Add memory offset (#1032)
DoTheBestToGetTheBest Feb 12, 2024
ee62866
feat: improve OriginalValuesKnown docs (#1083)
Rjected Feb 12, 2024
0651044
perf(precompile): use `Bytes` in precompile functions (#1085)
DaniPopes Feb 13, 2024
d6bd010
fix: Set is_optimism to true if default config (#1087)
rakita Feb 14, 2024
94894a5
fix: optimism compilation (#1091)
makcandrov Feb 15, 2024
5de40c7
fix: modify cfg spec_id (#1095) (#1096)
publicqi Feb 16, 2024
3451e66
perf(state): avoid cloning full account (#1097)
rkrasiuk Feb 16, 2024
b4a61e8
fix: rename and pass optimism-default-handler to revm-primitives (#1098)
rakita Feb 17, 2024
d32eaaf
chore(deps): bump alloy-primitives from 0.6.2 to 0.6.3 (#1093)
dependabot[bot] Feb 17, 2024
b51369b
chore(deps): bump alloy-sol-macro from 0.6.2 to 0.6.3 (#1094)
dependabot[bot] Feb 17, 2024
c642fcb
chore: release (#1082)
github-actions[bot] Feb 17, 2024
dee3c77
bump: tag v29 revm v6.0.0 (#1101)
rakita Feb 17, 2024
9c5cba8
BREAKING CHANGE: remove BALANCEOF, in favor of the single BALANCE
IaroslavMazur Feb 17, 2024
d4173f3
feat(interpreter): push MNAs to the stack
IaroslavMazur Feb 17, 2024
453e195
fix: tests
IaroslavMazur Feb 18, 2024
5ef8183
Update CHANGELOG.md (#1102)
yjhmelody Feb 18, 2024
a34ec37
feat: disable smart contract creation
IaroslavMazur Feb 18, 2024
beab2fc
feat: only allow minting for contracts
IaroslavMazur Feb 18, 2024
034b474
chore: improve EIP-3155 implementation (#1105)
DaniPopes Feb 19, 2024
dc98ad5
feat: split off serde_json dependency to its own feature (#1104)
DaniPopes Feb 19, 2024
64b5973
chore(deps): bump alloy-sol-types from 0.6.2 to 0.6.3 (#1103)
dependabot[bot] Feb 19, 2024
a0af248
feat: bump c-kzg, add portable feature, make it default (#1106)
Rjected Feb 20, 2024
adc6857
chore(deps): bump serde from 1.0.196 to 1.0.197 (#1107)
dependabot[bot] Feb 20, 2024
4dd15a0
chore(deps): bump anyhow from 1.0.79 to 1.0.80 (#1108)
dependabot[bot] Feb 20, 2024
c51a2c4
chore(deps): bump serde_json from 1.0.113 to 1.0.114 (#1110)
dependabot[bot] Feb 20, 2024
0083b99
fix: Handle fatal db error on load_account (#1111)
rakita Feb 20, 2024
c203f3d
chore: clippy cleanup (#1112)
rakita Feb 21, 2024
559e096
Remove DatabaseRef bound on CacheDB (#1113)
jasalper Feb 21, 2024
328c12c
fix(db): Set instruction result at outcome insert (#1117)
rakita Feb 21, 2024
0055d58
fix EthersDB deadlock (#1089)
DoTheBestToGetTheBest Feb 21, 2024
5736d1f
fix: replace tuple in sstore return with struct (#1115)
qiweiii Feb 21, 2024
d60fc87
Revert "fix EthersDB deadlock (#1089)" (#1118)
rakita Feb 21, 2024
2d4fb06
chore(refactor): Propagate fatal error (#1116)
rakita Feb 21, 2024
6ea36c1
Fix feature name for generate_block_traces example (#1120)
pawurb Feb 21, 2024
02ff4d8
Ensure `L1Block` is in the cache (#1121)
clabby Feb 22, 2024
d2f382e
adding more test for i256 (#1090)
DoTheBestToGetTheBest Feb 22, 2024
76e7c88
chore: release tag v30 revm v6.1.0 (#1100)
github-actions[bot] Feb 23, 2024
46bbcfc
chore: main CHANGELOG (#1122)
rakita Feb 23, 2024
7e54219
chore: remove unused EvmInstructionTables type alias (#1123)
Rjected Feb 24, 2024
1411784
feat: add with_handler method to EvmBuilder (#1124)
Rjected Feb 24, 2024
02ae4e6
Add `clone` method to `ContextWithHandlerCfg` (#1127)
CorrM Feb 26, 2024
1ad6387
chore: add ToString for no_std add exports some types in no_std (#1128)
yjhmelody Feb 26, 2024
a0e45a5
chore: add helper function for spec id (#1130)
mattsse Feb 27, 2024
bc77b08
Add `db` and `db_mut` to evm (#1133)
CorrM Feb 29, 2024
f1357fd
fix: make `feature = "optional_gas_refund"` work (#1134)
yjhmelody Feb 29, 2024
48e26fb
chore(deps): bump auto_impl from 1.1.2 to 1.2.0 (#1132)
dependabot[bot] Feb 29, 2024
da87a9b
refactor(interpreter/revm): naming
IaroslavMazur Feb 29, 2024
f7b3f40
feat(revm): MNAs support in transact_preverified()
IaroslavMazur Feb 29, 2024
1b4fc1d
feat(revm): implement Host.balance()
IaroslavMazur Feb 29, 2024
ef64e4d
Check runtime dynamically (#1135)
wtdcode Mar 1, 2024
a89daef
feat: add evm script (#1039)
charles-cooper Mar 1, 2024
e682792
chore: remove clone for context in handler_register.rs (#1138)
yjhmelody Mar 1, 2024
f37c9e2
chore(deps): bump alloy-sol-macro from 0.6.3 to 0.6.4 (#1136)
dependabot[bot] Mar 1, 2024
dee975a
chore(deps): bump alloy-primitives from 0.6.3 to 0.6.4 (#1137)
dependabot[bot] Mar 1, 2024
cc65337
Add VERBS to used by list (#1141)
zombie-einstein Mar 1, 2024
992345c
feat(revm): journal the minting of assets
IaroslavMazur Mar 1, 2024
f422701
chore: make GitHub workflows not require no-std
IaroslavMazur Mar 1, 2024
3b4e726
test: build issues
IaroslavMazur Mar 1, 2024
724be05
chore: cargo update
IaroslavMazur Mar 1, 2024
f3221ab
build: remove the redundant imports from std
IaroslavMazur Mar 1, 2024
2306b1d
refactor: remove no_std mentions from codebase
IaroslavMazur Mar 1, 2024
077b267
feat: Add boxed precompile trait (#1131)
rakita Mar 2, 2024
40216e7
perf(interpreter): evaluate instruction table constructor at compile …
DaniPopes Mar 2, 2024
6f5a923
feat: implement the BURN opcode
IaroslavMazur Mar 2, 2024
0e294e8
chore: upgrade GitHub actions to Node 20
IaroslavMazur Mar 2, 2024
764cfcc
chore: upgrade GitHub actions to Node 20 (#1145)
IaroslavMazur Mar 2, 2024
1bad8cb
chore(interpreter): factor out jump logic (#1146)
DaniPopes Mar 2, 2024
e14740c
chore(interpreter): use already-computed sign in SAR (#1147)
DaniPopes Mar 2, 2024
f513da7
refactor: CALLVALUE
IaroslavMazur Mar 4, 2024
91b43a2
feat(interpreter): MNAs support for CALL/CALLCODE/DELEGATECALL
IaroslavMazur Mar 4, 2024
a7b9f02
chore(deps): bump alloy-sol-types from 0.6.3 to 0.6.4 (#1148)
dependabot[bot] Mar 4, 2024
ef35ae2
chore(deps): bump walkdir from 2.4.0 to 2.5.0 (#1149)
dependabot[bot] Mar 4, 2024
13ce013
feat: add example for using a database by reference (#1150)
Wodann Mar 5, 2024
6fcf858
feat: add more JournaledState methods to EvmContext (#1158)
DaniPopes Mar 6, 2024
8c32fef
feat: use `impl` instead of `dyn` in `GetInspector` (#1157)
DaniPopes Mar 6, 2024
0d42796
feat: precompile with generic context (#1155)
rakita Mar 6, 2024
b6bde3d
Add Hardhat to the "Used by" list (#1164)
fvictorio Mar 7, 2024
ac99931
feat: add PrecompileError::Other (#1165)
fgimenez Mar 7, 2024
f36f90e
feat: implement DatabaseCommit for DatabaseComponents (#1163)
Wodann Mar 7, 2024
c77fe5a
fix: reset tstorage on finalize (#1168)
mattsse Mar 8, 2024
1fa2d26
fix: gas cost calculation (#1166)
Wodann Mar 8, 2024
3ebe1a8
chore(deps): bump ethers-core from 2.0.13 to 2.0.14 (#1162)
dependabot[bot] Mar 8, 2024
d537104
chore(deps): bump ethers-contract from 2.0.13 to 2.0.14 (#1161)
dependabot[bot] Mar 8, 2024
bfcc058
chore(deps): bump ethers-providers from 2.0.13 to 2.0.14 (#1160)
dependabot[bot] Mar 8, 2024
4c7802c
fix(interpreter): push to Stack in reverse order
IaroslavMazur Mar 8, 2024
b60f796
fix(revme): revme error output and remove double summary (#1169)
rakita Mar 8, 2024
93557e9
feat: add insert method on instruction table (#1167)
Rjected Mar 8, 2024
2aa0cd2
feat(precompile): add a bool to bytes32 helper function (#1170)
DaniPopes Mar 8, 2024
133b413
feat(primitives): derive Default for SpecId (#1171)
DaniPopes Mar 8, 2024
0e2d909
chore: release (#1125)
github-actions[bot] Mar 8, 2024
e7c7375
bump: v32 tag, main changelog (#1172)
rakita Mar 8, 2024
2f96098
feat(interpreter): OpCode struct constants (#1173)
DaniPopes Mar 8, 2024
44398e3
feat: Restrict ContextPrecompiles only to EvmContext (#1174)
rakita Mar 8, 2024
fa87d65
chore: tag v32 revm v7.1.0 (#1176)
rakita Mar 8, 2024
77a77f1
doc: add memory section (#1177)
rakita Mar 9, 2024
18c2d3e
chore(docs): Add memory md to summary (#1178)
rakita Mar 9, 2024
5a2aa5f
chore: refactor list in CHANGELOG.md (#1179)
rakita Mar 9, 2024
5c0cbda
Update post_execution.rs (#1180)
DoTheBestToGetTheBest Mar 10, 2024
3e9aff3
chore: improve error implementations (#1183)
DaniPopes Mar 11, 2024
c30e096
Fix typo in readme (#1185)
wtdcode Mar 11, 2024
c351cab
chore: fix some typos (#1189)
kaifulee Mar 13, 2024
1fe4131
chore(deps): bump anyhow from 1.0.80 to 1.0.81 (#1187)
dependabot[bot] Mar 13, 2024
70c53ca
chore(deps): bump thiserror from 1.0.57 to 1.0.58 (#1188)
dependabot[bot] Mar 13, 2024
1d5faf0
fix: use std hashmap with "std" feature (#1193)
DaniPopes Mar 13, 2024
69e3a28
bump: c-kzg v1.0.0 (#1190)
rakita Mar 13, 2024
9fa302c
chore: clippy (#1196)
rakita Mar 14, 2024
250edd8
chore: fix wonky test (#1197)
rakita Mar 14, 2024
fe841be
feat: optional nonce check (#1195)
Wodann Mar 14, 2024
1e025fc
feat: use Message::from_digest in secp256k1 ecrecover (#1199)
fgimenez Mar 15, 2024
eed8679
chore: add rustc-ice-*.txt to gitignore (#1200)
Rjected Mar 15, 2024
628729c
chore: expose functionality for custom EVMs (#1201)
fgimenez Mar 16, 2024
609236e
docs: clarify None nonce (#1204)
mattsse Mar 16, 2024
7fdcc6e
Documentation improvements (#1191)
DanielSchiavini Mar 16, 2024
d398eef
feat: add convert_boxed and insert_boxed for InstructionTable (#1194)
Rjected Mar 16, 2024
e786db6
feat: track MNAs ids
IaroslavMazur Mar 17, 2024
0115d89
feat: validate transferred & burned assets
IaroslavMazur Mar 17, 2024
6db2dda
fix: test issues
IaroslavMazur Mar 17, 2024
fda371f
feat(interpreter): export utility macros (#1203)
DaniPopes Mar 17, 2024
586c22f
feat: implement Default for EnvWithHandlerCfg (#1206)
DaniPopes Mar 18, 2024
5aff229
Change unwrap to ? to propagate errors (#1207)
wtdcode Mar 18, 2024
97a4840
feat: add benchmarks for ecpairing, kzg, ecrecover precompiles (#1211)
Rjected Mar 19, 2024
af09039
chore(deps): bump bitflags from 2.4.2 to 2.5.0 (#1210)
dependabot[bot] Mar 19, 2024
ba37a74
chore: release (#1175)
github-actions[bot] Mar 19, 2024
713ed4f
Revert "feat: optional nonce check (#1195)" (#1212)
rakita Mar 19, 2024
29c587b
feat: make all precompiles public (#1213)
rakita Mar 19, 2024
4c15846
bump: v34 tag (#1214)
rakita Mar 19, 2024
882211c
fix eip3155 summary gas_used bug and add fork name (#1216)
Pana Mar 22, 2024
09df19c
Improve `EthersDB` (#1208)
CorrM Mar 22, 2024
1ce5a52
feat(interpreter): expose mutable access methods on stack and memory …
DaniPopes Mar 22, 2024
a0e5116
chore(deps): bump bytes from 1.5.0 to 1.6.0 (#1224)
dependabot[bot] Mar 25, 2024
240e559
chore(deps): bump regex from 1.10.3 to 1.10.4 (#1223)
dependabot[bot] Mar 25, 2024
176e0cf
perf(interpreter): don't run signextend with 31 too (#1222)
DaniPopes Mar 25, 2024
61f8771
perf(interpreter): keep track of remaining gas rather than spent (#1221)
DaniPopes Mar 25, 2024
e7363d7
docs(primitives): kzg intro (#1209)
developeruche Mar 25, 2024
89792c2
chore(deps): run `cargo update` (#1229)
DaniPopes Mar 26, 2024
52c8f92
chore(interpreter): unbox contract field (#1228)
DaniPopes Mar 26, 2024
fa84c30
chore(deps): bump serde_json from 1.0.114 to 1.0.115 (#1232)
dependabot[bot] Mar 27, 2024
c3107ec
fix: use correct rand package for thread_rng (#1233)
jtraglia Mar 28, 2024
a114438
fix(GasInspector): calculate correct remaining gas after call return …
rakita Mar 28, 2024
020c6ff
fix: use correct bn128 mul input length (#1238)
jtraglia Mar 28, 2024
81b65dd
nit: remove unnecessary call to into_u256() for bn128 add (#1239)
jtraglia Mar 28, 2024
b6bda4c
docs: link to point evaluation documentation (#1241)
jtraglia Mar 29, 2024
f5e56fb
fix: update/enable bn128 tests (#1242)
jtraglia Mar 29, 2024
e0791cd
chore(deps): bump tokio from 1.36.0 to 1.37.0 (#1244)
dependabot[bot] Mar 29, 2024
a201a2d
feat: TracerEip3155 optionally traces memory (#1234)
Otto-AA Mar 29, 2024
57825ff
nit: move div by zero check from smod to i256_mod (#1248)
jtraglia Mar 30, 2024
b1ec4eb
fix(TracerEip3155): clear Inspector data after transaction. (#1230)
Pana Mar 31, 2024
9079099
feat: derive serde for OpCode, improve implementations (#1215)
DaniPopes Mar 31, 2024
d9d1a64
chore(deps): bump alloy 0.7.0 (#1250)
mattsse Mar 31, 2024
b3220c6
chore(deps): bump other alloy deps 0.7.0 (#1252)
mattsse Apr 1, 2024
c3f0503
nit: use uint macro & fix various small things (#1253)
jtraglia Apr 2, 2024
52f1f01
feat: add tests for shift instructions (#1254)
jtraglia Apr 2, 2024
4a8c0bf
chore: release (#1231)
github-actions[bot] Apr 2, 2024
2e2babc
chore: main CHANGELOG, tag v35 (#1255)
rakita Apr 2, 2024
1640b8f
chore: simple publish script (#1256)
rakita Apr 2, 2024
223f6cd
chore: fix publish revm-precompile (#1258)
rakita Apr 2, 2024
8af9531
feat(interpreter): test Host object-safety, allow `dyn Host` in instr…
DaniPopes Apr 3, 2024
5d5c5f1
chore(deps): bump secp256k1 from 0.28.2 to 0.29.0 (#1260)
dependabot[bot] Apr 3, 2024
96dda38
feat(interpreter): remove SPEC generic from gas calculation functions…
DaniPopes Apr 3, 2024
4d64bbc
feat(interpreter): derive Eq for InterpreterAction (#1262)
DaniPopes Apr 5, 2024
5e730a6
chore: add and use EvmContext::take_error (#1264)
DaniPopes Apr 5, 2024
af56651
feat(`db`): Introduce `alloydb` (#1257)
Evalir Apr 5, 2024
eee0541
minor typo fix in docs (#1266)
h3lio5 Apr 6, 2024
d3db49d
chore(ci): use more stable rust toolchain plugin (#1269)
rakita Apr 7, 2024
c961887
chore: revert snailtracer without microbench (#1259)
rakita Apr 7, 2024
c1eb0e6
perf(interpreter): use `pop_top!` where possible (#1267)
DaniPopes Apr 7, 2024
11e819c
Add the modifies_memory macro (#1270)
h3lio5 Apr 7, 2024
49d2477
test: unit test MINT
IaroslavMazur Apr 7, 2024
68d9b1a
Merge revm/main into mnas
IaroslavMazur Apr 7, 2024
d10f2c3
fix: build issues
IaroslavMazur Apr 8, 2024
c0d470a
fix: Valgrind workflow
IaroslavMazur Apr 8, 2024
af11941
fix: book workflow
IaroslavMazur Apr 8, 2024
eab48c7
fix: formatting
IaroslavMazur Apr 8, 2024
cc643e9
fix: docs workflow
IaroslavMazur Apr 8, 2024
25e22b1
fix: tests
IaroslavMazur Apr 8, 2024
9a598a5
fix: docs & clippy workflows
IaroslavMazur Apr 8, 2024
800beaa
refactor: remove redundant imports
IaroslavMazur Apr 8, 2024
a7f5bb1
chore: remove the no-std test workflow
IaroslavMazur Apr 8, 2024
bf08950
fix: docs & clippy workflows
IaroslavMazur Apr 8, 2024
7a99bb4
feat: supported MNAs tracked in DB
IaroslavMazur Apr 9, 2024
9f6c2e5
refactor: define is_tx_sender_eoa() for the Host trait
IaroslavMazur Apr 10, 2024
e202a0f
chore: remove the leftover evm_impl.rs
IaroslavMazur Apr 10, 2024
8ae2b3a
test: transferring of native assets
IaroslavMazur Apr 12, 2024
f048973
test: MINT & BURN opcodes
IaroslavMazur Apr 17, 2024
1575f43
feat: custom opcodes touching MNAs
IaroslavMazur Apr 17, 2024
1a9cf1c
refactor: switch to U256 for asset ids
IaroslavMazur Apr 19, 2024
d1429ed
feat: disallow the 0-asset minting/burning
IaroslavMazur Apr 29, 2024
084e826
fix: bring SELFDESTRUCT back as a no-op
IaroslavMazur Apr 29, 2024
e006d19
feat: SabVM Precompile V1
IaroslavMazur May 17, 2024
56662a5
test: SabVMPrecompile, mnabalance V1
IaroslavMazur May 18, 2024
d6f31fb
refactor: mna to mnt
IaroslavMazur May 20, 2024
2fb6840
fix: precompile communication protocol
IaroslavMazur May 21, 2024
e2a656e
refactor: move asset_id calculation down to JournaledState
IaroslavMazur May 22, 2024
a7fceb7
feat: minting in SabVM precompile
IaroslavMazur May 22, 2024
25b835d
refactor: SabVM precompile
IaroslavMazur May 22, 2024
f69fe3a
feat: mint to the given recipient
IaroslavMazur May 24, 2024
40912d8
test: mint via precompile
IaroslavMazur May 24, 2024
8b2b1dc
feat: burning in SabVM precompile
IaroslavMazur May 24, 2024
131cbaf
feat: burning in SabVM precompile
IaroslavMazur May 24, 2024
02388a4
feat: MNTCALLVALUES in SabVM precompile
IaroslavMazur May 24, 2024
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
8 changes: 4 additions & 4 deletions .github/workflows/book.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
name: test

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Install mdbook
run: |
Expand All @@ -39,7 +39,7 @@ jobs:
name: lint

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Install mdbook-linkcheck
run: |
Expand All @@ -55,7 +55,7 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0

Expand All @@ -81,7 +81,7 @@ jobs:
run: mdbook build documentation

- name: Build docs
run: RUSTDOCFLAGS="--enable-index-page -Zunstable-options" cargo +nightly doc --all --no-deps
run: RUSTDOCFLAGS="--enable-index-page -Zunstable-options" cargo doc --all --no-deps

- name: Move docs to book folder
run: |
Expand Down
50 changes: 50 additions & 0 deletions .github/workflows/cachegrind.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Valgrind Cachegrind

on:
pull_request:
branches: [main]

jobs:
valgrind:
runs-on: ubuntu-latest
permissions: write-all

steps:
- name: Checkout code
uses: actions/checkout@v2

- name: Setup | Rust
uses: dtolnay/rust-toolchain@stable

- name: Install Valgrind
run: |
sudo apt-get update
sudo apt-get install -y valgrind

- name: Run Valgrind
run: |
cargo b -r -p revm-test --bin snailtracer
valgrind --tool=cachegrind target/release/snailtracer 2>&1 | tee cachegrind_results.txt

- name: Valgrind results
id: valgrind_results
run: |
contents=$(printf "%s" "$(head -c 64000 cachegrind_results.txt)")
# dump line by line into a file
printf "Valgrind Results:\n\n\`\`\`\n%s\n\`\`\`" "$contents" > results.md

- name: Comment on PR
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
# Try to edit the last comment
if gh pr comment ${{ github.event.pull_request.number }} --edit-last --body-file results.md; then
echo "Successfully edited last comment."
else
echo "Failed to edit last comment. Trying to add a new comment instead!"
# If editing last comment fails, try to add a new comment
if ! gh pr comment ${{ github.event.pull_request.number }} --body-file results.md; then
echo "Comment failed to be made, printing out results here:"
cat results.md
fi
fi
115 changes: 69 additions & 46 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,65 +10,88 @@ on:
pull_request:
branches: [main, "release/**"]

env:
CARGO_TERM_COLOR: always

jobs:
tests-stable:
name: Tests (Stable)
test:
name: test ${{ matrix.rust }} ${{ matrix.flags }}
runs-on: ubuntu-latest
timeout-minutes: 30
strategy:
fail-fast: false
matrix:
rust: ["stable", "beta", "nightly"]
flags: ["--no-default-features", "", "--all-features"]
steps:
- name: Checkout sources
uses: actions/checkout@v3

- name: Install toolchain
uses: dtolnay/rust-toolchain@stable
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
targets: riscv32imac-unknown-none-elf

toolchain: ${{ matrix.rust }}
- uses: Swatinem/rust-cache@v2
with:
cache-on-failure: true

- name: cargo test
run: cargo test --workspace
- run: cargo test --workspace ${{ matrix.flags }}

- name: cargo test all features
run: cargo test --workspace --all-features

- name: cargo check no_std
run: cargo check --target riscv32imac-unknown-none-elf --no-default-features

lint:
name: Lint
check-no-default-features:
name: check no-default-features
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Checkout sources
uses: actions/checkout@v3

- name: Install toolchain
uses: dtolnay/rust-toolchain@nightly
with:
components: rustfmt, clippy

- uses: Swatinem/rust-cache@v2
with:
cache-on-failure: true

- name: cargo fmt
run: cargo +nightly fmt --all -- --check

- name: cargo clippy
run: cargo +nightly clippy --workspace --all-features -- -D warnings

- name: cargo check no-default-features
run: |
- uses: actions/checkout@v4
- run: |
cd crates/revm
cargo check --no-default-features
- name: cargo check serde
run: |

check-serde:
name: check serde
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- run: |
cd crates/revm
cargo check --no-default-features --features serde
- name: cargo check std
run: |

check-std:
name: check std
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- run: |
cd crates/revm
cargo check --no-default-features --features std

clippy:
name: clippy
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- run: cargo clippy --workspace --all-targets --all-features
env:
RUSTFLAGS: -Dwarnings

docs:
name: docs
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
components: rust-docs
- run: cargo doc --workspace --all-features --no-deps --document-private-items
env:
RUSTDOCFLAGS: "--cfg docsrs -D warnings"

fmt:
name: fmt
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- run: cargo fmt --all --check
12 changes: 7 additions & 5 deletions .github/workflows/ethereum-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ on:
pull_request:
branches: [main, "release/**"]


jobs:
tests-stable:
name: Ethereum Tests (Stable)
Expand All @@ -19,12 +18,13 @@ jobs:
strategy:
matrix:
profile: [ethtests, release]
target: [i686-unknown-linux-gnu, x86_64-unknown-linux-gnu]
steps:
- name: Checkout sources
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Checkout ethereum/tests
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
repository: ethereum/tests
path: ethtests
Expand All @@ -37,11 +37,13 @@ jobs:
with:
cache-on-failure: true

- name: Install cross
run: cargo install cross

- name: Run Ethereum tests
run: |
cargo run --profile ${{ matrix.profile }} -p revme -- statetest \
cross run --target ${{matrix.target}} --profile ${{ matrix.profile }} -p revme -- statetest \
ethtests/GeneralStateTests/ \
ethtests/LegacyTests/Constantinople/GeneralStateTests/ \
ethtests/EIPTests/StateTests/stEIP1153-transientStorage/ \
ethtests/EIPTests/StateTests/stEIP4844-blobtransactions/ \
ethtests/EIPTests/StateTests/stEIP5656-MCOPY/
42 changes: 42 additions & 0 deletions .github/workflows/release-plz.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Documentation: https://release-plz.ieni.dev/docs
name: Release-plz

permissions:
pull-requests: write
contents: write

on:
push:
branches:
- main

jobs:
release-plz:
name: Release-plz
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
# Commits the cargo lock (generally a good practice for upstream libraries)
- name: Commit Cargo.lock
run: |
git config --local user.email "[email protected]"
git config --local user.name "GitHub Action"
git add Cargo.lock
git commit -m "Update Cargo.lock" || echo "No changes to commit"
# This will run the release-plz action
# The action dectect API breaking changes detection with cargo-semver-checks.
# Semver is auto incremneted based on this
# A PR with the semver bump is created with a new release tag and changelog
# if you configure the cargo registry token, the action will also publish the new version to crates.io
- name: Run release-plz
uses: MarcoIeni/[email protected]
with:
command: release-pr
env:
# The admin of the repository with need to configure the following secrets:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
10 changes: 9 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,13 +1,21 @@
/target/
**/*.rs.bk
**/.DS_Store

target
.vscode
.idea
pkg/


bins/revme/temp_folder
bins/revme/tests
ethereumjs-util.js
book

# Generated by the block traces example
traces

burntpix/svgs

# Rust bug report
rustc-ice-*
Loading
Loading