chriseth
|
1aef9c7d20
|
Merge pull request #8777 from ethereum/sol_yul_simplefunctions
[Sol - Yul] Add some built-in functions.
|
2020-05-04 16:07:10 +02:00 |
|
chriseth
|
51ccb1519f
|
Yul codegen for immutables.
|
2020-05-04 15:00:50 +02:00 |
|
Alexander Arlt
|
151e637336
|
[Sol - Yul] Add some built-in functions.
- simplifications for GasLeft, Selfdestruct and BlockHash.
- add support for addmod & mulmod.
|
2020-04-30 14:10:09 -05:00 |
|
Jason Cobb
|
8973732b74
|
Compare categories instead of types in ContractCompiler(740)
|
2020-04-28 13:13:45 -04:00 |
|
chriseth
|
1fe55370f4
|
Merge remote-tracking branch 'origin/develop' into HEAD
|
2020-04-28 13:02:06 +02:00 |
|
hrkrshnn
|
bd0b06e8db
|
Tests, Docs and Changelog
|
2020-04-28 16:03:52 +05:30 |
|
Djordje Mijovic
|
f3f729549d
|
[Sol->Yul] Enabling creation function call
|
2020-04-27 16:15:57 +02:00 |
|
chriseth
|
dda883b585
|
IR generation for sha256.
|
2020-04-27 11:10:20 +02:00 |
|
Kamil Śliwak
|
d3da878200
|
Enable internal library calls
|
2020-04-24 15:00:51 +02:00 |
|
Kamil Śliwak
|
56a85d6cb3
|
IRGeneratorForStatements: Handle internal calls to functions from specific base contracts as static calls rather than calls via pointers
|
2020-04-24 15:00:16 +02:00 |
|
chriseth
|
2b39f3b988
|
Merge pull request #8766 from ethereum/sol_yul_gasleft
[Sol - Yul] Add support for built-in gasleft().
|
2020-04-24 14:24:01 +02:00 |
|
Alexander Arlt
|
aafa4583df
|
[Sol - Yul] Add support for built-in gasleft().
|
2020-04-23 17:14:03 -05:00 |
|
Kamil Śliwak
|
e65a5a562e
|
IRGenerationContext::internalDispatch(): Fix code generated when the function called via pointer does not return anything
|
2020-04-23 21:16:41 +02:00 |
|
hrkrshnn
|
48ff9fd4d6
|
Tests, Changelog and updated grammar
|
2020-04-23 17:27:37 +05:30 |
|
chriseth
|
16ed53ddd0
|
Merge pull request #8591 from mijovic/sol2YulConstructorParams
[Sol2Yul] Adding support for constructors with parameters (inheritance)
|
2020-04-23 12:56:54 +02:00 |
|
chriseth
|
a371910674
|
Merge pull request #8642 from ethereum/interfaceid
Add support for interfaceId.
|
2020-04-23 12:24:49 +02:00 |
|
chriseth
|
6728e3ef94
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-04-22 17:21:32 +02:00 |
|
Djordje Mijovic
|
5329da93fb
|
[Sol2Yul] Adding support for constructors with parameters in case of inheritance
|
2020-04-22 14:47:08 +02:00 |
|
chriseth
|
4908101ad7
|
Yul IR generation for member access to type types.
|
2020-04-22 11:25:27 +02:00 |
|
chriseth
|
1d8e742296
|
Merge pull request #8684 from ethereum/yulForSelector
Yul codegen for `.selector`.
|
2020-04-20 16:32:11 +02:00 |
|
Kamil Śliwak
|
c7947c1af6
|
Implement lazy function generation using function generation queue
|
2020-04-17 13:28:07 +02:00 |
|
Alexander Arlt
|
3754a86ab2
|
Add support for interfaceID.
|
2020-04-16 12:17:40 -05:00 |
|
chriseth
|
f271dfa2e2
|
Yul codegen for .selector .
|
2020-04-16 13:42:58 +02:00 |
|
chriseth
|
06adbc2c59
|
Implement bit operations.
|
2020-04-16 00:33:45 +02:00 |
|
Daniel Kirchner
|
0c5c93f3c2
|
Fix tuple assignments for empty tuples in Yul IR.
|
2020-04-15 11:10:52 +02:00 |
|
Christian Parpart
|
d00d3c45b1
|
[Sol2Yul] Implements codegen part for try/catch statements.
|
2020-04-14 18:42:37 +02:00 |
|
a3d4
|
aba0b2957c
|
Fix tuple assignments with multi-slot components.
|
2020-04-07 18:39:25 +02:00 |
|
chriseth
|
51883958ab
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-04-07 11:14:28 +02:00 |
|
Daniel Kirchner
|
d68c526eaa
|
Disallow external function pointers as immutables.
|
2020-04-03 11:56:51 +02:00 |
|
chriseth
|
d7a39c86ce
|
Accessors for immutable variables.
|
2020-04-02 19:09:54 +02:00 |
|
Leonardo Alt
|
39ff0deb05
|
Zero initialize memory arrays
|
2020-04-02 15:55:18 +02:00 |
|
Daniel Kirchner
|
77ea896b68
|
Properly handle assignments of immutables at declaration.
|
2020-04-02 08:35:22 +02:00 |
|
Daniel Kirchner
|
fe9f8d520c
|
Restrict size for dynamic memory array creation.
|
2020-04-01 17:25:09 +02:00 |
|
chriseth
|
b83d82ab75
|
Merge pull request #8550 from a3d4/fix-8450-typechecker-compiler-error
Fix a couple of internal compiler errors when assigning nested tuples
|
2020-03-31 22:21:58 +02:00 |
|
a3d4
|
c002cae691
|
Fix #8450. Prevented internal compiler errors when assigning nested tuples.
|
2020-03-31 03:25:26 +02:00 |
|
Djordje Mijovic
|
89d5ecdd24
|
[Sol2Yul] Adding support for constructor with parameters
|
2020-03-27 01:19:11 +01:00 |
|
chriseth
|
165f7bf60f
|
Move files.
|
2020-03-26 17:47:36 +01:00 |
|
Alexander Arlt
|
67e9776418
|
Extract 45 tests from SolidityEndToEndTest.cpp
|
2020-03-26 17:39:12 +01:00 |
|
Daniel Kirchner
|
e255c15227
|
Tests.
|
2020-03-24 16:45:31 +01:00 |
|
Daniel Kirchner
|
04d8ad2ae1
|
Legacy codegeneration for immutable state variables.
|
2020-03-24 16:45:25 +01:00 |
|
chriseth
|
7d68f9f6c3
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-03-24 13:35:41 +01:00 |
|
Daniel Kirchner
|
fe659ceb41
|
Anything outside storage is always a pointer.
|
2020-03-23 15:34:10 +01:00 |
|
Leonardo Alt
|
0fcb1427c9
|
Fix Yul codegen when dynamic array is used as rhs of assignment
|
2020-03-20 17:52:51 +01:00 |
|
chriseth
|
d55bbd4aa5
|
Merge pull request #8508 from a3d4/again-refactor-testcase-classes
More refactoring of TestCase classes
|
2020-03-19 23:05:32 +01:00 |
|
chriseth
|
f25157a5f8
|
Sort tests.
|
2020-03-19 14:42:25 +01:00 |
|
a3d4
|
f4d9f6772f
|
Unified use of settings. Removed a couple of unused functions.
|
2020-03-19 14:02:39 +01:00 |
|
Alexander Arlt
|
23d00b5ca3
|
Extracted 292 tests from SolidityEndToEndTest.cpp
|
2020-03-18 11:56:43 -05:00 |
|
Djordje Mijovic
|
96d278b101
|
[Sol->Yul] Adding slicing for call data arrays
|
2020-03-13 13:40:38 +01:00 |
|
Daniel Kirchner
|
bdd8045db5
|
Merge pull request #8183 from ethereum/functionOptionsYulIR
[YulIR] Function call options for Yul IR
|
2020-03-12 10:49:51 +01:00 |
|
Leonardo Alt
|
89ce2dbfe9
|
The identifier var should be fine in Yul
|
2020-03-11 18:45:08 +01:00 |
|
chriseth
|
9d92c9fbf1
|
Merge remote-tracking branch 'origin/develop' into HEAD
|
2020-03-11 18:44:06 +01:00 |
|
chriseth
|
5dd30777d2
|
Test.
|
2020-03-10 22:44:06 +01:00 |
|
Christian Parpart
|
bb29a7e497
|
Merge pull request #8460 from ethereum/yulutil-convert-array
YulUtilFunctions: convertionFunction() to also handle array string/memory casts
|
2020-03-10 14:00:34 +01:00 |
|
Christian Parpart
|
5d7a370248
|
YulUtilFunctions: convertionFunction() to also handle array string/memory casts.
|
2020-03-10 11:21:12 +01:00 |
|
chriseth
|
b7c001eb7f
|
Merge pull request #8416 from ethereum/reuseYulCalldataTailAccess
Fix yul calldata tail access functions and reuse them for old codegen.
|
2020-03-09 15:10:48 +01:00 |
|
Christian Parpart
|
988bd6780b
|
Merge pull request #8414 from ethereum/sol2yul-func-type-conversion
[Sol2Yul] Implements function-to-function cast.
|
2020-03-09 11:31:44 +01:00 |
|
Christian Parpart
|
e210026e74
|
[Sol2Yul] Implements function-to-function cast.
|
2020-03-09 10:40:57 +01:00 |
|
Daniel Kirchner
|
e58a1de57f
|
Merge pull request #8431 from mijovic/sol2YulSelectorAddress
Adding sol->yul for f.selector and f.address
|
2020-03-06 22:48:38 +01:00 |
|
Djordje Mijovic
|
092827b7ad
|
Adding sol->yul for f.selector and f.address
|
2020-03-06 21:43:14 +01:00 |
|
Daniel Kirchner
|
7f38cbb91d
|
Fix calling unimplemented base function.
|
2020-03-06 10:51:16 +01:00 |
|
Daniel Kirchner
|
919888ddbc
|
Use yul function for calldata tail access, fix checks and add additional revert reason.
|
2020-03-04 14:39:36 +01:00 |
|
Djordje Mijovic
|
58c6b90705
|
Deprecated warning for .value() and .gas() on function and constructror calls
|
2020-03-04 12:51:49 +01:00 |
|
chriseth
|
06ad5b3200
|
Merge remote-tracking branch 'origin/develop' into HEAD
|
2020-02-27 15:06:36 +01:00 |
|
chriseth
|
45041e5d3a
|
Allow access to `_slot ` for local storage pointer variables.
|
2020-02-25 14:28:04 +01:00 |
|
Djordje Mijovic
|
dd9009eba6
|
TestFileParser: Adding new keyword wei for expressing function value
|
2020-02-21 11:39:37 +01:00 |
|
Christian Parpart
|
c92fe69a60
|
Finishes external call implementation.
|
2020-02-14 11:59:04 +01:00 |
|
Leonardo Alt
|
3800391a1a
|
[Yul] Support conditionals
|
2020-02-13 17:02:15 -04:00 |
|
chriseth
|
9aed40ab19
|
Check that functions exist in isoltest.
|
2020-02-13 13:22:53 +01:00 |
|
Daniel Kirchner
|
df0873d138
|
Implement calldata arrays for Yul IR
|
2020-02-12 14:00:29 +01:00 |
|
Daniel Kirchner
|
3c9f18b749
|
Use IRVariable's in IR code generation and implement tuples.
|
2020-02-12 12:36:14 +01:00 |
|
Leonardo Alt
|
36928c7a35
|
Add reason string for internal reverts
|
2020-02-10 11:57:20 -03:00 |
|
Daniel Kirchner
|
d882b6fa83
|
Allow tests to be marked ABIEncoderV1Only.
|
2020-02-04 17:22:03 +01:00 |
|
Daniel Kirchner
|
af9fc8b634
|
Mapping getters for Yul IR.
|
2020-02-04 17:22:03 +01:00 |
|
Daniel Kirchner
|
d3cbfb0c5c
|
Allow user-defined types as mapping keys in parser and restrict to contracts during type checking.
|
2020-02-04 17:22:03 +01:00 |
|
Mathias Baumann
|
1027f6f78f
|
Extract some semantic tests
|
2020-01-28 11:59:44 +01:00 |
|
chriseth
|
790c6d2cae
|
Tests for salted create.
|
2020-01-23 21:20:01 +01:00 |
|
Jason Cobb
|
595f569e97
|
Update tests for interface inheritance
|
2020-01-22 09:40:40 -05:00 |
|
chriseth
|
0f014144c8
|
Test for true/false in inline assembly.
|
2020-01-14 17:16:09 +01:00 |
|
chriseth
|
4d681fb16d
|
Merge remote-tracking branch 'origin/develop' into HEAD
|
2020-01-14 16:43:48 +01:00 |
|
Erik Kundt
|
729b47e641
|
Updates semantic tests to 0.7.0.
|
2020-01-11 23:11:00 +01:00 |
|
Daniel Kirchner
|
9535c0f520
|
Introduce FunctionKind::Declaration and allow accessing function signatures via contract name.
|
2020-01-09 15:40:41 +01:00 |
|
chriseth
|
670b719773
|
Updates to control structures (2).
Co-Authored-By: Bhargava Shastry <bhargava.shastry@ethereum.org>
|
2019-12-12 17:01:57 +01:00 |
|
chriseth
|
07d271e770
|
Merge remote-tracking branch 'origin/develop' into develop_060
|
2019-12-10 10:07:30 +01:00 |
|
Alex Beregszaszi
|
c9360421fc
|
Move snark test from SolidityEndToEnd
|
2019-12-09 18:33:07 +00:00 |
|
chriseth
|
e061f1e743
|
Merge remote-tracking branch 'origin/develop' into HEAD
|
2019-12-05 16:44:26 +01:00 |
|
Mathias Baumann
|
b7d5de59c5
|
Implement overridding of functions by public variables
|
2019-12-05 12:48:52 +00:00 |
|
Gaith Hallak
|
4d90180e24
|
Support referencing other constants in inline assembly
|
2019-12-05 13:27:17 +03:00 |
|
chriseth
|
4365b665f4
|
Increase loop size to account for net storage gas metering.
|
2019-12-04 13:13:05 +01:00 |
|
Daniel Kirchner
|
7d1b0c6023
|
Fix Yul IR push
|
2019-11-28 18:11:38 +01:00 |
|
chriseth
|
b0db64ff5b
|
Merge remote-tracking branch 'origin/develop' into develop_060
|
2019-11-26 16:19:35 +01:00 |
|
Leonardo Alt
|
ce83bfb088
|
[Yul] Format string literals back to quoted string literals
|
2019-11-26 15:28:39 +01:00 |
|
chriseth
|
a00f824479
|
Merge pull request #7773 from ethereum/develop
Merge develop into develop_060
|
2019-11-21 21:49:22 +01:00 |
|
chriseth
|
d5e9271592
|
Merge pull request #7350 from ethereum/array-length-rvalue
Make `length` member read-only
|
2019-11-21 19:22:42 +01:00 |
|
chriseth
|
8f2595957b
|
Merge pull request #7719 from ethereum/librarySignatuŕes
Add selector member to public and external library functions.
|
2019-11-20 18:43:14 +01:00 |
|
Leonardo Alt
|
389da5228e
|
Merge remote-tracking branch 'origin/develop' into merge_develop_060
|
2019-11-20 12:27:40 +01:00 |
|
Erik Kundt
|
01705efb70
|
Adds and updates Yul tests for push() and pop().
|
2019-11-20 12:04:47 +01:00 |
|
Daniel Kirchner
|
372df6b9e1
|
Implement array push and pop for yul and replace assignments in via yul tests.
|
2019-11-20 12:04:42 +01:00 |
|
Erik Kundt
|
7d6c0a50c2
|
Adjusts semantic tests to read-only array length.
|
2019-11-19 21:11:14 +01:00 |
|
Alex Beregszaszi
|
cbb08ae3db
|
Add semantic test for SELFBALANCE in inline assembly
|
2019-11-19 17:09:18 +01:00 |
|
Alex Beregszaszi
|
fc2af72a3d
|
Add semantic test for CHAINID in inline assembly
|
2019-11-19 17:09:18 +01:00 |
|
chriseth
|
6797879128
|
Merge pull request #7647 from ethereum/virtual-5424
Implement virtual keyword
|
2019-11-19 13:21:27 +01:00 |
|
Daniel Kirchner
|
a0ae36ba70
|
Add selector member to public and external library functions.
|
2019-11-15 16:12:29 +01:00 |
|
chriseth
|
216e1749f4
|
Merge remote-tracking branch 'origin/develop' into develop_060
|
2019-11-14 13:42:46 +01:00 |
|
Mathias Baumann
|
5b8ff78176
|
Implement virtual keyword
|
2019-11-14 11:49:39 +01:00 |
|
chriseth
|
c0cf96cbc1
|
Merge pull request #7699 from ethereum/test-require-str
Test `require` with string literals
|
2019-11-13 12:20:23 +01:00 |
|
Mathias Baumann
|
c74b1daef2
|
Test require with string literals
fixes #6651
|
2019-11-13 12:01:25 +01:00 |
|
Daniel Kirchner
|
ce7268272d
|
Allow obtaining the address of a library by conversion to `address `.
|
2019-11-12 17:09:13 +01:00 |
|
Daniel Kirchner
|
c7e3318dba
|
Add support for external libraries to extracted semantics tests.
|
2019-11-12 15:19:04 +01:00 |
|
Daniel Kirchner
|
3321fc56ea
|
Split fallback function and introduce "fallback()" and "receive()" syntax.
|
2019-11-04 17:17:58 +01:00 |
|
Mathias Baumann
|
6c6a9054b2
|
Implement override checking
|
2019-10-30 17:31:33 +01:00 |
|
chriseth
|
499fe57d33
|
Tests
|
2019-10-29 14:32:16 +01:00 |
|
chriseth
|
f884373142
|
Merge branch 'origin/develop' into develop_060
|
2019-10-02 16:29:36 +02:00 |
|
Daniel Kirchner
|
7202ebb5b2
|
Fix internal compiler error for arrays of recursive structs.
|
2019-10-01 16:51:14 +02:00 |
|
Leonardo
|
9c23f35bec
|
Merge pull request #7462 from ethereum/version-060
Build version 0.6.0
|
2019-09-24 12:48:00 +02:00 |
|
Erik Kundt
|
e3a29ffcd3
|
Updates tests to version 0.6.0.
|
2019-09-24 12:01:14 +02:00 |
|
chriseth
|
b5d6d5fcf9
|
Create.
|
2019-09-23 17:22:56 +02:00 |
|
chriseth
|
644a402166
|
Tests.
|
2019-09-23 17:22:56 +02:00 |
|
Leonardo Alt
|
43d6e00b14
|
Add push() for dynamic storage arrays
|
2019-09-17 13:47:33 +02:00 |
|
chriseth
|
5b3efee93b
|
Merge pull request #7442 from ethereum/develop
Merge develop into develop_060
|
2019-09-17 12:16:27 +02:00 |
|
Leonardo Alt
|
eab9f65610
|
Fix ICE when pop dyn storage array of mapping
|
2019-09-16 16:33:17 +02:00 |
|
Daniel Kirchner
|
c72d1ffb65
|
Merge pull request #7421 from ethereum/develop
Merge develop into develop_060
|
2019-09-13 12:14:02 +02:00 |
|
Daniel Kirchner
|
4782c800ec
|
Initial introduction of array slices with partial implementation for dynamic calldata arrays.
|
2019-09-13 10:57:53 +02:00 |
|
Erik Kundt
|
e92b921123
|
[isoltest] Adds support for fallback and ether functions.
|
2019-09-13 10:55:46 +02:00 |
|
chriseth
|
acf10ef60f
|
Merge pull request #7393 from ethereum/develop
Merge develop into 0.6.0
|
2019-09-10 12:27:02 +02:00 |
|
Erik Kundt
|
5e12e0cf27
|
[isoltest] Fixes auto-update for revert.
|
2019-09-09 22:46:43 +02:00 |
|
Daniel Kirchner
|
6f3341a204
|
Allow underscores in hex strings.
|
2019-09-06 17:58:35 +02:00 |
|
krk
|
33f7f960cf
|
Allow exponentials with signed base and unsigned power.
|
2019-09-04 17:32:47 +02:00 |
|
chriseth
|
c499758cd8
|
Merge pull request #7326 from ethereum/develop
Merge develop into 0.6.0 branch.
|
2019-09-02 16:11:20 +02:00 |
|
Daniel Kirchner
|
872d21f527
|
Allow global struct definitions.
|
2019-09-02 11:17:42 +02:00 |
|
Erik Kundt
|
755dae5d66
|
[isoltest] Supports empty revert message.
|
2019-08-26 11:06:30 +02:00 |
|
Daniel Kirchner
|
9f6fff2120
|
Replace casting of external functions to address by a member named "address".
|
2019-08-19 14:56:04 +02:00 |
|
chriseth
|
2508cbc1eb
|
Merge pull request #7095 from ethereum/isoltest-failure-reason
[isoltest] Support FAILURE with reason
|
2019-08-15 11:37:56 +02:00 |
|
Erik Kundt
|
6c73bc5bac
|
[isoltest] Refactors parameter formatting.
|
2019-08-14 21:28:43 +02:00 |
|
Erik Kundt
|
18157f5a49
|
[isoltest] Splits smoke test into separate files.
|
2019-08-14 21:28:43 +02:00 |
|
Erik Kundt
|
30483acc42
|
[isoltest] Support FAILURE with reason.
|
2019-08-14 21:28:43 +02:00 |
|
Daniel Kirchner
|
b0a5666b43
|
Better error messages when writing to expressions that cannot be written to.
|
2019-08-14 17:59:48 +02:00 |
|
mingchuan
|
15631a7fbe
|
Split calldataEncodedSize into calldataEncodedSize, calldataEncodedTailSize and calldataHeadSize and fix all usages.
|
2019-08-08 15:52:21 +02:00 |
|
chriseth
|
d44f680a51
|
Merge pull request #7091 from ethereum/isoltest-value-format-fix
[isoltest] Fix (aligned) hex parsing and formatting
|
2019-08-07 17:55:37 +02:00 |
|
Erik Kundt
|
5ca991ac81
|
[isoltest] Allows odd-sized hex literals.
|
2019-08-07 17:19:27 +02:00 |
|
chriseth
|
c8f04b88bf
|
Merge pull request #7176 from ethereum/decodeMemoryLocation
Always copy dynamically-sized memory arrays during CompilerUtils::abiDecode
|
2019-08-07 15:42:14 +02:00 |
|
Erik Kundt
|
e206ad6c24
|
[isoltest] Fixes hex (plus alignment) formatting.
|
2019-08-07 12:15:10 +02:00 |
|
Daniel Kirchner
|
efb34bdf22
|
Always copy dynamically-sized memory arrays during CompilerUtils::abiDecode.
|
2019-08-06 14:11:14 +02:00 |
|
Erik Kundt
|
f914415fb2
|
[isoltest] Updates type retrieval from ABI and its formatting.
|
2019-08-05 16:15:07 +02:00 |
|
chriseth
|
9b375edfe3
|
Merge pull request #6787 from ethereum/sol2yul-ctor-code
Improve constructor-code codegen (wrt. state variable initialization)
|
2019-08-05 11:50:34 +02:00 |
|
Christian Parpart
|
235638b3fc
|
Implements constructor code for state variables.
|
2019-08-05 11:23:01 +02:00 |
|
chriseth
|
7421d85346
|
Merge pull request #7094 from ethereum/isoltest-arrow-optional
[isoltest] Introduce shorthand declaration: make `->` optional.
|
2019-08-01 15:42:42 +02:00 |
|
Mathias Baumann
|
e887c06f6b
|
FunctionType: Return correct stacksize for transfer/send
|
2019-08-01 13:56:09 +02:00 |
|
Christian Parpart
|
b6446aa615
|
Extracting more end-to-end tests.
|
2019-07-22 16:31:46 +02:00 |
|
Erik Kundt
|
8c51a089d7
|
isoltest: Makes -> declaration optional.
|
2019-07-22 13:25:11 +02:00 |
|
Erik Kundt
|
e269a0ff70
|
Adds constructor calls with ether value to isoltest.
|
2019-07-13 12:42:25 +02:00 |
|