Commit Graph
1338 Commits
Author SHA1 Message Date
Alexander Arlt c44bb7e7ef Replace raw throw with BOOST_THROW_EXCEPTION. 2021-02-18 20:23:59 -05:00
hrkrshnn 2608c56d32 Make an assert less strict
Even though one can convert from, say, a pure function to a function without a state mutability
specified, in ABIFunctions.cpp, there was an assert that checked if the types were exactly equal.
This assert had to be loosened up.
2021-02-17 17:12:02 +01:00
chriseth 54cf56b3a5 Simplify generated names. 2021-02-16 14:20:27 +01:00
hrkrshnn 0135cae222 Fix IR bug: constructor parameter that needs multiple stack slots
When an argument had multiple stack slots, like `function() external`, there wasn't enough variables
assigned for the constructor. This lead to some mismatch between return values and arguments between
some functions.
2021-02-12 17:42:02 +01:00
hrkrshnn 7786e6d561 Fix IR bug when modifier parameter was function return variable
The bug was that function return variables were not part of the m_context.localVariable during
the modifier generation and a looking up them was throwing.
2021-02-11 14:44:55 +01:00
chriseth 1716dcfb57 Merge pull request #10950 from ethereum/removeChecks
[SolYul] Remove (hopefully) unnecessary checks.
2021-02-11 14:10:05 +01:00
chriseth 45dc705683 Remove unnecessary checks. 2021-02-11 13:08:03 +01:00
Harikrishnan Mulackal 215233d5c8 Merge pull request #10945 from ethereum/constructor-modifier-bugfix
Fix IR bug about calling the wrong modifier during construction
2021-02-10 21:42:45 +01:00
hrkrshnn 2f30fdaa21 Fix IR bug about calling the wrong modifier during construction 2021-02-10 20:53:11 +01:00
chriseth a72ab1c9c1 Replace "runtime" by "deployed" naming. 2021-02-10 00:56:16 +01:00
chriseth 9a621e91e3 Merge pull request #10761 from ethereum/oldOptimizerInlining
Simple inlining for old optimizer.
2021-02-09 19:35:12 +01:00
Daniel Kirchner cb74a45fd6 Add inlining for old optimizer. 2021-02-09 19:08:58 +01:00
Djordje Mijovic 9438706daf [Sol->Yul] Adding assertion for shift amount not being of FixedPointType. 2021-02-09 17:58:49 +01:00
Djordje Mijovic 993c8c0734 [Sol->Yul] Adding unimplemented assert for fixed point types on right shift. 2021-02-09 16:17:56 +01:00
Đorđe Mijović 4fd5643970 Merge pull request #10912 from ethereum/calldataLValueSol2Yul
[Sol->Yul] Check lvalue kind is stack in case of calldata.
2021-02-08 14:19:24 +01:00
Djordje Mijovic e53feaedc4 [Sol->Yul] Check lvalue kind is stack in case of calldata. 2021-02-08 13:27:51 +01:00
chriseth 8a876c8f79 Merge pull request #10911 from ethereum/fixedPointAssertionSol2Yul
[Sol->Yul] Adding unimplemented assert for fixed point type shifting.
2021-02-08 13:20:57 +01:00
Djordje Mijovic 97e9829988 [Sol->Yul] Adding unimplemented assert for fixed point type shifting. 2021-02-08 13:13:19 +01:00
Djordje Mijovic 706f5d9874 [Sol2Yul] Fixing setLValue for calldata types. 2021-02-08 12:42:10 +01:00
Djordje Mijovic 530435439d [Sol->Yul] Fixing string calldata to bytes calldata conversion. 2021-02-04 09:30:19 +01:00
chriseth e9dc9c5baf Fix merge conflict. 2021-01-26 13:53:22 +01:00
chriseth 4697beeab2 Merge pull request #10769 from ethereum/allocationCleanup
Cleanup allocation.
2021-01-26 11:58:11 +01:00
hrkrshnn 526ceec152 Implement IR shortcut for <address>.code.length 2021-01-26 11:07:04 +01:00
hrkrshnn d6d880dc53 Old codegen: implemented shortcut for <address>.code.length 2021-01-26 11:07:04 +01:00
Alexander Arlt 061fecbc90 [whiskers] Add check that template contain tags. 2021-01-20 15:26:34 -05:00
chriseth 3cc07694ed Cleanup allocation. 2021-01-20 18:25:27 +01:00
chriseth 1fcc76a562 Fix empty packed encoder. 2021-01-19 15:50:04 +01:00
Leonardo 9bde92ca20 Merge pull request #10807 from ethereum/fixIRReasonStrings
Properly omit require revert strings in IR code generator if requested.
2021-01-19 10:31:15 +01:00
chriseth a3ee334b42 Omit require revert strings in IR code generator. 2021-01-18 18:47:55 +01:00
chriseth 4f3839e4ba Fix abi encode with signature shortcut. 2021-01-18 13:44:52 +01:00
Djordje Mijovic a0c80c2bdb [Sol->Yul] Enabling copying_bytes_multiassign test via ir. 2021-01-18 12:40:51 +01:00
chriseth db4b39e09e Round up allocations to multiples of 32. 2021-01-14 21:52:17 +00:00
chriseth 7d6331e26f Use round up function. 2021-01-14 21:01:43 +00:00
Alex Beregszaszi 6ad0ea9f23 Merge pull request #10773 from ethereum/useArrayAllocationFunction
Fix array allocation.
2021-01-14 20:25:31 +00:00
chriseth f4479fd7ed Fix array allocation. 2021-01-14 19:56:37 +01:00
Alex Beregszaszi 7c7fd22062 Include revert strings in IR 2021-01-14 18:45:12 +01:00
chriseth 7d036dcb81 Merge pull request #10762 from ethereum/packedStorageOverflowSol2Yul
[Sol->Yul] Fixing uncheked increment/decrement.
2021-01-14 15:32:55 +01:00
chriseth a65415cdad Fix accessing libraries inside modules. 2021-01-14 14:07:08 +01:00
Djordje Mijovic dc3e76bc2c [Sol->Yul] Fixing uncheked increment/decrement. 2021-01-14 13:46:04 +01:00
chriseth 170cd5d2ae Merge pull request #10760 from ethereum/asmConstantsFileLevel
Fix accessing constants at file level from inline assembly.
2021-01-14 11:33:47 +01:00
chriseth 8905af28c3 Merge pull request #10759 from ethereum/nestedBytesArraySol2Yul
[Sol->Yul] Fixing nested bytes array push.
2021-01-14 11:33:06 +01:00
chriseth 45be47fc6b Merge pull request #10756 from ethereum/fixModifierLookup
Fix modifier lookup
2021-01-14 11:28:26 +01:00
chriseth 8ad9290086 Fix modifier lookup. 2021-01-14 11:01:14 +01:00
chriseth 30305ebbd9 Fix accessing constants at file level from inline assembly. 2021-01-14 10:51:47 +01:00
Djordje Mijovic 7c45509a77 [Sol->Yul] Fixing nested bytes array push. 2021-01-14 10:32:31 +01:00
Alex Beregszaszi c15c6d26b7 Fix YulUtilFunctions::negateNumberWrappingFunction 2021-01-13 21:29:37 +00:00
chriseth 5c453acbe8 Fix encoding of library return values. 2021-01-11 20:37:45 +01:00
chriseth e807c9bb63 Library call guard. 2021-01-11 20:37:44 +01:00
Djordje Mijovic 85b8325f0b [Sol->Yul] Implementing dynamic array push for arrays of structs. 2021-01-11 17:49:42 +01:00
Djordje Mijovic b06936b11c [refactor] Move copying struct to storage to it's own util function. 2021-01-11 16:26:14 +01:00