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

Support for missing EVM opcodes #129

Open
10 of 11 tasks
karmacoma-eth opened this issue Jul 19, 2023 · 4 comments
Open
10 of 11 tasks

Support for missing EVM opcodes #129

karmacoma-eth opened this issue Jul 19, 2023 · 4 comments
Assignees
Labels
enhancement New feature or request

Comments

@karmacoma-eth
Copy link
Collaborator

karmacoma-eth commented Jul 19, 2023

Opcodes to support:

@karmacoma-eth karmacoma-eth added enhancement New feature or request good first issue Good for newcomers labels Jul 19, 2023
@distributedstatemachine

I am not sure if this is related , but tried running halmos on our repo and got the following error:

Skipped Errors.json due to parsing failure: KeyError: 'metadata'
Skipped Token.json due to parsing failure: KeyError: 'metadata'
Skipped DiamondErrors.json due to parsing failure: KeyError: 'metadata'
Skipped LibNexusABI.json due to parsing failure: KeyError: 'metadata'
Skipped Create2Lib.json due to parsing failure: KeyError: 'metadata'

Running 5 tests for test/AssetReserves.t.sol:AssetReservesTest
Warning: setUp() execution encountered an issue at STATICCALL: Unsupported cheat code: calldata = 0xffa186490000000000000000000000000000000000000000000000000000000000000001
Error: setUp() failed: ValueError: No successful path found in setUp()
Symbolic test result: 0 passed; 5 failed; time: 0.02s

Running 5 tests for test/BridgeFacet.t.sol:BridgeFacetTest
Warning: setUp() execution encountered an issue at CALL: External call encountered an issue at DELEGATECALL: 
Error: setUp() failed: ValueError: No successful path found in setUp()
Symbolic test result: 0 passed; 5 failed; time: 0.90s

Running 3 tests for test/HyperlaneAdapter.t.sol:HyperlaneAdapterTest
[FAIL] test_handle_Access() (paths: 0/2, time: 0.10s, bounds: [])
Not supported: CALL: Unsupported cheat code: calldata = 0xc31eb0e070fcdd1d00000000000000000000000000000000000000000000000000000000
[FAIL] test_relayMessage_Access() (paths: 0/2, time: 0.10s, bounds: [])
Not supported: CALL: Unsupported cheat code: calldata = 0xc31eb0e02f6cf8e800000000000000000000000000000000000000000000000000000000
[FAIL] test_relayMessage_handle() (paths: 0/2, time: 0.88s, bounds: [])
Not supported: CALL: Unsupported cheat code: calldata = 0x86b9620d00000000000000000000000000000000000000000000000000000000aaaa0007
Symbolic test result: 0 passed; 3 failed; time: 1.41s

Running 3 tests for test/InterchainLiquidity.t.sol:InterchainLiquidityHubWrapperTest
Warning: setUp() execution encountered an issue at CALL: Unsupported cheat code: calldata = 0x266cf109
Error: setUp() failed: ValueError: No successful path found in setUp()
Symbolic test result: 0 passed; 3 failed; time: 5.57s

Running 6 tests for test/KaiLiquidityAggregator.t.sol:KaiLiquidityAggregatorTest
Warning: setUp() execution encountered an issue at STATICCALL: Unsupported cheat code: calldata = 0xffa186490000000000000000000000000000000000000000000000000000000000000001
Error: setUp() failed: ValueError: No successful path found in setUp()
Symbolic test result: 0 passed; 6 failed; time: 0.03s

Running 5 tests for test/LiquidityAggregator.t.sol:LiquidityAggregatorTest
Warning: setUp() execution encountered an issue at STATICCALL: Unsupported cheat code: calldata = 0xffa186490000000000000000000000000000000000000000000000000000000000000001
Error: setUp() failed: ValueError: No successful path found in setUp()
Symbolic test result: 0 passed; 5 failed; time: 0.02s

Running 4 tests for test/LiquidityProjector.t.sol:LiquidityProjectorTest
Warning: setUp() execution encountered an issue at STATICCALL: Unsupported cheat code: calldata = 0xffa186490000000000000000000000000000000000000000000000000000000000000001
Error: setUp() failed: ValueError: No successful path found in setUp()
Symbolic test result: 0 passed; 4 failed; time: 0.02s

@karmacoma-eth
Copy link
Collaborator Author

karmacoma-eth commented Jul 31, 2023

@samtvlabs you are running into multiple missing cheatcodes:

0xffa18649 is vm.addr(uint256) (see #149)
0xc31eb0e0 is vm.expectRevert(bytes4)
0x266cf109 is vm.record()
0x86b9620d is expectEmit(address)

and also into DELEGATECALL, which hasn't been implemented yet

@daejunpark daejunpark self-assigned this Aug 4, 2023
@daejunpark daejunpark removed the good first issue Good for newcomers label Mar 28, 2024
@QGarchery
Copy link

QGarchery commented Apr 19, 2024

Would it makes sense to implementing the functionality to revert to previous snapshots ? This is very useful in tests, to compare effect on storage of 2 different functions/code, but I'm not sure how feasible it is to add that to Halmos.

Screenshot from 2024-04-19 15-04-24

0x9711715a is the signature of vm.snapshot()
0x44d7f0a4 is the signature of vm.revertTo(uint256)

@karmacoma-eth
Copy link
Collaborator Author

Related: #290

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants