Kamil Śliwak
55ccfc32f5
Remove external test scripts from shellcheck ignores
2020-12-03 22:17:44 +01:00
Kamil Śliwak
8080be9445
external test scripts: Replace global $SOLJSON variable with a parameter
2020-12-03 22:17:44 +01:00
Kamil Śliwak
fcf0538224
external test scripts: Replace global $FORCE_ABIv2 variable with a parameter
2020-12-03 22:17:44 +01:00
Kamil Śliwak
3590311e6f
external test scripts: Replace the old dollar expressions with newer variants
2020-12-03 22:17:44 +01:00
Kamil Śliwak
0a29218848
external test scripts: Quote variables properly
2020-12-03 22:17:44 +01:00
chriseth
75266ea8d4
Merge pull request #10488 from ethereum/fixDocsRevertData
...
Fix documentation about revert data.
2020-12-03 19:21:44 +01:00
chriseth
61fd76cb27
Fix documentation about revert data.
2020-12-03 18:47:16 +01:00
chriseth
e04cc80438
Merge pull request #9555 from ethereum/yul-parser-refactor
...
Yul parser refactor
2020-12-03 18:07:31 +01:00
chriseth
27e44b85e3
Merge pull request #10419 from ethereum/bug-namesimplifier
...
Fix a bug in NameSimplifier.
2020-12-03 17:52:40 +01:00
Alex Beregszaszi
a9be2e4bb8
update tests
2020-12-03 17:15:45 +01:00
Alex Beregszaszi
6c0a3bd043
Ensure that builtins must be executed
2020-12-03 17:15:44 +01:00
Alex Beregszaszi
43353bb6ca
update tests
2020-12-03 17:15:43 +01:00
Alex Beregszaszi
3da2b67b67
simplify parser
2020-12-03 17:14:49 +01:00
Bhargava Shastry
e1b44500dd
Yul interpreter: Smaller execution timeout for tests and additional test cases
2020-12-03 10:08:41 +01:00
Leonardo
088b694f0b
Merge pull request #10207 from ethereum/smt_tests_asserts
...
[SMTChecker] Add uncovered test and replace uncovered tests by asserts
2020-12-03 08:59:48 +01:00
Martin Blicha
2ee633f404
[SMTChecker] Added support for public getters through this.
2020-12-02 16:06:48 +01:00
hrkrshnn
3efac3eef0
NameSimplifier is removed from steps available to users.
2020-12-02 13:48:01 +01:00
Kamil Śliwak
23a9e517e7
Force the use of latest Truffle in ENS external tests
2020-12-02 01:26:16 +01:00
Kamil Śliwak
bbf2471f64
External tests: Replace hard-coded version in force_truffle_version() with a parameter
2020-12-02 01:26:16 +01:00
chriseth
e10712c173
Merge pull request #10454 from ethereum/ewasm-cleanup
...
[ewasm] Clean up some builtins and fix text representation of `select`
2020-12-01 17:34:48 +01:00
Alex Beregszaszi
d22434ee57
Change ABIEncoderV1 to not pad empty strings
2020-12-01 14:32:18 +00:00
chriseth
390640f557
Merge pull request #10384 from ethereum/called_directly_feature
...
Use annotation.calledDirectly to simplify IR codegen
2020-12-01 15:07:02 +01:00
chriseth
8279d90ba2
Merge pull request #10403 from ethereum/rename-asmdata
...
Rename AsmData* to AST*
2020-12-01 14:33:11 +01:00
chriseth
1944d5ce44
Merge pull request #9722 from ethereum/fix-9676
...
Add Solidity test case generator framework
2020-12-01 14:26:12 +01:00
Alex Beregszaszi
04cf4867fe
[ewasm] Clean up opcodes/builtins in the binary encoder
...
Also make sure that `i32.drop/i64.drop` won't silently drop its arguments, as they may have side-effects.
2020-12-01 12:50:54 +00:00
Alex Beregszaszi
a29a7ad680
[ewasm] Properly encode i32/i64.select in the text format
2020-12-01 11:22:38 +00:00
Mathias Baumann
ea5b63914a
Add test to cover (L.f)() case
2020-12-01 12:02:29 +01:00
chriseth
388fcddd23
Merge pull request #10415 from ethereum/arrayClearingStorageSol2Yul
...
[Sol->Yul] Fixing copying from storage to storage.
2020-12-01 09:43:47 +01:00
Djordje Mijovic
bd86588459
Adding more tests for array copying from storage to storage.
2020-12-01 08:50:36 +01:00
Djordje Mijovic
28e01202af
[Sol->Yul] Fixing coping from storage to storage.
2020-12-01 08:50:33 +01:00
Leonardo Alt
fa561dbd0e
Add uncovered test and replace uncovered tests by asserts
2020-11-30 18:46:47 +01:00
Harikrishnan Mulackal
91e67472bf
Merge pull request #10383 from ethereum/add-ens-external-tests
...
External tests: Add ENS contracts
2020-11-30 18:15:15 +01:00
Alex Beregszaszi
7e7a42c6ad
Merge pull request #10441 from ethereum/fix-version-pragma-replacement-in-external-tests
...
Fix command for stripping version pragmas in external tests
2020-11-30 15:24:20 +00:00
chriseth
ce6e52b052
Merge pull request #10430 from ethereum/wasm-select
...
[ewasm] Add i32.select/i64.select
2020-11-30 14:42:26 +01:00
Kamil Śliwak
dc57451775
Replace the command for stripping version pragmas in external tests with one that does not break on ^<=>
2020-11-30 14:25:46 +01:00
Bhargava Shastry
d6ecedd16c
External tests: Add ENS contracts
2020-11-30 13:53:28 +01:00
Leonardo
3287341f1e
Merge pull request #10316 from blishko/bmc_branches
...
[SMTChecker] Handle branches with return statements properly in BMC engine
2020-11-30 13:50:09 +01:00
Alex Beregszaszi
a7ee1355bd
[ewasm] Use select instruction where appropriate
2020-11-30 12:10:32 +00:00
Alex Beregszaszi
9640cfd77e
[ewasm] Add i32.select/i64.select
2020-11-30 11:58:33 +00:00
Martin Blicha
cd06d68cbe
[SMTChecker] Keeping better track of path condition through branches with return statement in the BMC engine.
2020-11-30 11:47:49 +01:00
Alex Beregszaszi
06af2fb38a
[ewasm] Change eq() in polyfill to branch-less version
2020-11-27 22:47:55 +00:00
Kamil Śliwak
fb01884e69
Merge pull request #10424 from ethereum/ir-modifiers
...
Add unimplemented assert for modifiers in the IR
2020-11-27 20:06:54 +01:00
Alex Beregszaszi
28e65bac46
Add unimplemented assert for modifiers in the IR
...
Also improved relevant tests for modifiers to be more strict and detect if the modifier body was skipped.
2020-11-27 18:34:17 +00:00
Alexander Arlt
46844d433d
buildpack-deps: Update hera to 0.3.2.
2020-11-26 18:28:17 -05:00
chriseth
3e5396598b
Merge pull request #10410 from ethereum/ir-fixedbytes-bitnot
...
Support BitNot on FixedBytes in IR
2020-11-26 14:42:52 +01:00
Alex Beregszaszi
cbae5ca324
Support BitNot on FixedBytes in IR
2020-11-26 13:20:02 +00:00
Djordje Mijovic
565d0cd4eb
Support copying of nested calldata arrays to memory.
2020-11-26 12:13:29 +01:00
Djordje Mijovic
bae32ac402
[Sol->Yul] Implementing member access to arrays in calldata structs.
2020-11-26 11:46:31 +01:00
Đorđe Mijović
5f732cb3ca
Merge pull request #10402 from ethereum/ir-fix-library-call
...
Properly terminate definitions using define() in IRGenerateForStatements
2020-11-26 10:07:27 +01:00
Alex Beregszaszi
a22077f736
Rename AsmData -> AST
...
Also attempt to only include ASTForward where appropriate.
2020-11-25 17:58:02 +00:00
Alex Beregszaszi
8d9c332593
Properly terminate definitions using define() in IRGenerateForStatements
...
The lack of termination can result in unparseable output.
2020-11-25 16:41:39 +00:00
Đorđe Mijović
7eb5fc31f8
Merge pull request #10394 from ethereum/viayul-tests
...
Switch compileViaYul to also where appropriate
2020-11-25 16:46:30 +01:00
Alex Beregszaszi
159f50e189
Turn on semantic tests for the old codegen where possible
...
These were marked IR-only, but they do pass on the old codegen too.
Also add old codegen version of semantictests/revertStrings/function_entry_checks.
2020-11-25 14:33:39 +00:00
Djordje Mijovic
5077deb285
Fixing pragmas to abicoder v2.
2020-11-25 15:13:57 +01:00
chriseth
f02bc817af
Merge pull request #10388 from ethereum/forwardRevertOnCreate
...
[Sol->Yul] Forward failure for creation.
2020-11-25 10:39:54 +01:00
chriseth
ec49f4c905
Merge pull request #10393 from ethereum/getters
...
Add more tests for getters
2020-11-25 10:09:38 +01:00
chriseth
bdc571cfb6
Merge pull request #10385 from ethereum/activateStructCopyingOldCodegen
...
Support copying dynamically encoded structs from calldata to memory.
2020-11-25 10:07:13 +01:00
Alex Beregszaszi
53b635a21f
Add more tests for getters
2020-11-24 22:37:42 +00:00
Djordje Mijovic
200227ab75
Support copying dynamically encoded structs from calldata to memory.
2020-11-24 20:36:17 +01:00
chriseth
cedb56ed81
Forward failure for creation.
2020-11-24 19:54:18 +01:00
Djordje Mijovic
26c43cfc66
[SMTChecker] Fix SMT logic error when doing compound assignment with string literlas.
2020-11-24 19:14:15 +01:00
chriseth
2d235bf7b0
Merge pull request #10341 from ethereum/optimizeAllocation
...
Do not allocate memory objects if they will be assigned directly.
2020-11-24 16:05:46 +01:00
chriseth
79669ecd48
Use new abicoder pragma.
2020-11-24 14:57:45 +01:00
chriseth
dbb24484e9
Update test/libsolidity/semanticTests/memoryManagement/assembly_access.sol
...
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2020-11-24 14:39:37 +01:00
chriseth
409e92580f
Do not allocate memory objects if they will be assigned directly.
2020-11-24 14:11:01 +01:00
Djordje Mijovic
eea6513b5d
[Sol->Yul] Implementing copying dynamically encoded structs from calldata to memory
...
Co-authored-by: Leonardo <leo@ethereum.org>
2020-11-23 23:22:34 +01:00
Bhargava Shastry
864458922a
Add solidity generator
...
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2020-11-23 22:27:40 +01:00
chriseth
ee657f5361
Merge pull request #10214 from ethereum/fallbackReturn
...
Allow fallback function to return data.
2020-11-23 19:49:59 +01:00
chriseth
91c88a5f6b
Merge pull request #10346 from ethereum/boundFunctions
...
[Sol->Yul] Bound functions.
2020-11-23 19:09:20 +01:00
chriseth
f87edb6efc
Bound functions.
2020-11-23 18:58:23 +01:00
Martin Blicha
66125b79d6
[SMTChecker] Do not report warning when encountered a Type identifier. The operations are supported now.
2020-11-23 15:41:57 +01:00
chriseth
f313668ef1
Merge pull request #10211 from ethereum/copyArrayCalldata2MemSol2Yul
...
[Sol->Yul] Copying arrays from calldata to memory
2020-11-23 15:02:18 +01:00
chriseth
19e9e8b550
Some more tests.
2020-11-23 15:00:00 +01:00
Djordje Mijovic
41ec7cc23e
Adding new tests and activating old tests.
2020-11-23 14:52:55 +01:00
Djordje Mijovic
2b52677a82
Fixing some calldata to storage tests.
2020-11-23 14:52:51 +01:00
chriseth
67ec5f6b17
Override semantics for fallback function.
2020-11-23 14:22:37 +01:00
chriseth
fda352094f
Allow fallback function to return data.
2020-11-23 14:22:37 +01:00
Martin Blicha
80d743426f
[SMTChecker] Added support for struct constructor.
2020-11-23 13:45:17 +01:00
Alexander Arlt
da36055449
[ewasm] Polyfill: calldataload & calldatacopy: Enable Tests.
2020-11-21 08:57:56 -05:00
Alexander Arlt
9d6296eca4
[ewasm] Polyfill: calldataload & calldatacopy.
2020-11-20 13:46:04 -05:00
Leonardo Alt
e4339b0526
[SMTChecker] Support named arguments in function calls
2020-11-20 11:52:26 -01:00
chriseth
f1d28b1d17
Fix string literal assignment to storage.
2020-11-19 15:27:21 +01:00
chriseth
7f0cc433be
Fix mapping conversion.
2020-11-18 20:20:25 +01:00
Kamil Śliwak
5560239cf5
Replace links to readthedocs.io with ones using the new domain
2020-11-18 15:20:34 +01:00
chriseth
1508b08f3e
Implement inline assembly access to constants.
2020-11-18 12:35:23 +01:00
chriseth
9f0a631948
Merge pull request #10208 from ethereum/offsetLengthCalldata
...
Support .offset and .length for dynamic calldata arrays
2020-11-18 12:09:11 +01:00
Alexander Arlt
c0d28492c3
[ewasm] Polyfill: Rename endian_swap -> bswap.
2020-11-17 21:30:06 -05:00
chriseth
1e08e4e04c
Merge pull request #10319 from ethereum/ewasm-polyfill-split
...
Split ewasm polyfill functions into different files.
2020-11-18 01:53:46 +01:00
chriseth
2665eaa4fa
Support .offset and .length for calldata bytes and string arrays.
2020-11-18 01:45:56 +01:00
Alexander Arlt
19f764bf65
Split ewasm polyfill functions into different files.
2020-11-17 19:27:44 -05:00
Kamil Śliwak
ced140615a
Test for calling external library functions with mapping parameters (does not work via Yul yet)
2020-11-17 20:36:58 +01:00
Kamil Śliwak
dfa0a0cdff
IR codegen: Handle address() with library type argument and external library calls
2020-11-17 20:36:39 +01:00
Kamil Śliwak
4174f38b02
StandardCompiler: Include file names in link references
2020-11-17 17:51:04 +01:00
Kamil Śliwak
9f0283df5c
Fix command-line tests using wrong file names for libraries
2020-11-17 17:50:50 +01:00
chriseth
74ce8d6979
Fix assignment to non-lvalue storage values.
2020-11-17 15:56:34 +01:00
chriseth
df53b53aa5
Merge pull request #10315 from ethereum/fixToStorageCopy
...
[SolYul] Fix bug in array to storage copy routine.
2020-11-17 15:56:21 +01:00
chriseth
fffd0306f5
Fix bug in array to storage copy routine.
2020-11-17 14:56:44 +01:00
chriseth
bb97363abf
Merge pull request #9989 from ethereum/issue-9947
...
Natspec: Fix internal error when different return name was inherited
2020-11-17 13:54:03 +01:00
Mathias Baumann
559b27aaad
Natspec: Fix internal error when different return name was inherited
2020-11-17 11:56:32 +01:00
chriseth
adaf1ff7df
Merge pull request #10272 from ethereum/storageStorageCopyForStructs
...
Storage storage copy for structs
2020-11-17 11:47:48 +01:00
Leonardo
65c2089b43
Merge pull request #10310 from blishko/issue-10306
...
[SMTChecker] Adding a dummy frame to the call stack for the implicit constructor
2020-11-17 09:34:49 -01:00
chriseth
98cc7a1ea9
Copying structs from storage to storage.
2020-11-17 11:06:25 +01:00
chriseth
d9fb17a85e
Copy value array from storage to storage.
2020-11-17 10:51:34 +01:00
chriseth
7ccb4fea2b
Merge pull request #10270 from ethereum/copyByteArrayFromStorageToStorage
...
[SolYul] Copy byte arrays from storage to storage.
2020-11-17 00:30:30 +01:00
Martin Blicha
07427c798c
[SMTChecker] Adding a dummy frame to the call stack for the implicit constructor
2020-11-16 22:46:17 +01:00
Alex Beregszaszi
d7814358a6
Merge pull request #10292 from ethereum/cli-check-for-duplicate-libraries
...
[CLI] Reject duplicates in --libraries
2020-11-16 21:12:00 +00:00
Leonardo
81b3a13333
Merge pull request #10289 from ethereum/fix-standard-json-crash-on-linker-references-without-colon
...
Fix standard JSON crash on linker references without a colon
2020-11-16 19:27:35 -01:00
Kamil Śliwak
1a4d38c0ac
CommandLineInterface: Report an error if library appears multiple times in the --libraries option
2020-11-16 21:22:47 +01:00
chriseth
c3b862c073
Merge pull request #10294 from ethereum/cmdline-tests-fix-bytecode-removal-leaving-out-every-other-part
...
Fix bytecode replacement in command-line tests not detecting all bytecode segments between linker references
2020-11-16 20:22:56 +01:00
chriseth
62893aa1a1
Copy byte arrays from storage to storage.
2020-11-16 19:06:33 +01:00
chriseth
5431afcc8c
Merge pull request #10287 from ethereum/refactorMoveTests3
...
Moving mostly array tests to semanticTests
2020-11-16 18:50:40 +01:00
Kamil Śliwak
b97c6c55ad
StandardCompiler: Don't assume that link reference always contains a colon
2020-11-16 17:41:54 +01:00
Kamil Śliwak
543f804226
StandardCompiler: Add helpers to streamline comparing link references in tests
2020-11-16 17:41:54 +01:00
Kamil Śliwak
738769db4c
cmdlineTest.sh: Fix regex for bytecode removal removing only every other piece between two references
...
- Matched fragments must not overlap for the regex to work correctly.
2020-11-14 03:18:46 +01:00
Djordje Mijovic
1428a939a6
Moving some more array tests to semanticTests.
2020-11-13 12:32:39 +01:00
Djordje Mijovic
29d480d0ed
Moving some byte array pop tests to semanticTests.
2020-11-13 12:32:39 +01:00
Djordje Mijovic
31981bad12
Organizing array tests into more directories.
2020-11-13 12:32:39 +01:00
Djordje Mijovic
11033c9536
Moving some bytes and array tests to semanticTests
2020-11-13 12:32:39 +01:00
Djordje Mijovic
bdf05bf8a0
Moving try catch test to semantic tests.
2020-11-13 12:32:35 +01:00
Leonardo
f1846b57a2
Merge pull request #10244 from blishko/this-external-calls
...
[SMTChecker] Analyzing external calls to `this`
2020-11-13 11:28:34 +00:00
Martin Blicha
5ca7a24896
[SMTChecker] Added support for precise modeling of external calls to this
.
...
Modeling external calls to this, since we can trust these calls.
fixed problem with transaction data not being restored after trusted external call
update to the tests
additional tests
changelog entry
added tests for external getters of this
2020-11-13 11:49:09 +01:00
Alex Beregszaszi
a3381d7260
Add settings.viaIR to standard json
2020-11-12 22:38:44 +00:00
Alex Beregszaszi
e074582bf1
Add --experimental-via-ir option to solc
2020-11-12 22:34:31 +00:00
Alex Beregszaszi
301d7ea39e
Add viaIR option to CompilerStack
...
It also sets the experimental flag in the metadata to true.
2020-11-12 22:34:31 +00:00
Alex Beregszaszi
fcedaba7f7
[ewasm] Allow compiling abstract/interface contracts
2020-11-12 15:26:11 +00:00
Alex Beregszaszi
a63d850f50
Improve ewasm commandline tests
2020-11-12 15:25:54 +00:00
chriseth
44eb63fad0
Merge pull request #10263 from ethereum/fixTryCreateYul
...
Fix Yul codegen for try with create.
2020-11-11 20:10:54 +01:00
chriseth
571e1e5269
Merge pull request #10266 from ethereum/fixCalldataIndexAccess
...
Fix calldata index access.
2020-11-11 19:03:19 +01:00
chriseth
8f570a3184
Fix calldata index access.
2020-11-11 18:42:26 +01:00
chriseth
01d7d50750
Fix initializing mapping return variables.
2020-11-11 18:08:42 +01:00
chriseth
59da25056b
Fix Yul codegen for try with create.
2020-11-11 17:52:50 +01:00
Kamil Śliwak
ed55d48727
cmdlineTests.sh: Fix buggy calculation of the number of input files
2020-11-11 13:47:36 +01:00
chriseth
0f6d3bc4ed
Merge pull request #10192 from ethereum/refactorMoveTests2
...
Moving tests to semanticTests part2
2020-11-11 13:45:02 +01:00
Alex Beregszaszi
6f6bcdd526
[ewasm] Display custom sections as hex string in the text output
2020-11-10 23:48:24 +01:00
Alex Beregszaszi
e5396e42c3
Add wasm support to libyul/ObjectCompilerTest
2020-11-10 23:24:49 +01:00
chriseth
d3a016b597
Merge pull request #10251 from ethereum/cmdline-tests-input-sol-by-default
...
Assume input.sol by default in command-line tests (restores old behavior) (reopened)
2020-11-10 17:29:58 +01:00
Kamil Śliwak
25badc4095
cmdlineTests.sh: When there's no input file assume input.sol instead of reporting an error
2020-11-10 16:55:11 +01:00
Djordje Mijovic
6915d9d2a8
Moving some struct tests to semanticTests
2020-11-10 16:37:29 +01:00
Djordje Mijovic
490064590a
Moving more abi decoder tests to semanticTests.
2020-11-10 16:37:26 +01:00
Djordje Mijovic
a838adc481
Moving some more array tests to semanticTests
2020-11-10 16:37:26 +01:00
Leonardo
55ac5de472
Merge pull request #10240 from ethereum/immutablesPureValue
...
Immutables with literal values are pure.
2020-11-10 15:23:33 +00:00
chriseth
6cc264ff0a
Merge pull request #10221 from ethereum/refactorArrayConversions
...
[Sol->Yul] Refactor array conversions
2020-11-10 16:18:11 +01:00
Djordje Mijovic
362a36ed59
Enabling test for old codegen.
2020-11-10 15:13:48 +01:00
chriseth
eaba9a680a
Merge pull request #10199 from ethereum/readfile
...
[CLI] Improve error handling of missing/unwriteable files
2020-11-10 13:50:40 +01:00
chriseth
fc50169d00
Merge pull request #10233 from ethereum/cmdline-tests-arbitrary-input-extension
...
Arbitrary input file extensions in command-line tests
2020-11-10 13:45:56 +01:00
chriseth
b981a2a74a
Merge pull request #10229 from ethereum/linking-in-assembly-mode
...
Linking in assembly mode
2020-11-10 13:21:57 +01:00
chriseth
3db94fbc48
Merge pull request #10212 from ethereum/testfileparser
...
Refactor and simplify TestFileParser
2020-11-10 13:15:35 +01:00
chriseth
74339ac0d7
Merge pull request #10227 from ethereum/cmdline-tests-for-linking
...
Command-line tests for linking
2020-11-10 13:12:33 +01:00
Alex Beregszaszi
81c448fb4c
Rework TestFileParser
2020-11-10 13:09:07 +01:00
Alex Beregszaszi
c002fcc39f
Untangle headers and namespaces in TestFileParser
2020-11-10 13:09:07 +01:00