chriseth
|
9d291a86cc
|
Merge pull request #6742 from ethereum/smt_expr_context
[SMTChecker] Move expression handling to EncodingContext
|
2019-05-16 12:47:15 +02:00 |
|
chriseth
|
ce19e2e4bc
|
Merge pull request #6599 from ethereum/ipfsHash
Add IPFS hash of source files to metadata.
|
2019-05-15 14:21:58 +02:00 |
|
chriseth
|
b01a8c544c
|
Use IPFS url in metadata for source links.
|
2019-05-15 12:40:03 +02:00 |
|
Daniel Kirchner
|
a10501bb7d
|
Merge pull request #6725 from AndreyBronin/develop
GCC 9.1 build fix. error: redundant move in return statement
|
2019-05-15 11:37:20 +02:00 |
|
Andrey Bronin
|
4eb37fe631
|
fix warning in GCC 9.1: redundant move in return statement
|
2019-05-14 17:44:28 +03:00 |
|
Leonardo Alt
|
4e430ba0ae
|
[SMTChecker] Move expression handling to EncodingContext
|
2019-05-14 15:56:43 +02:00 |
|
chriseth
|
74fbf5402d
|
Merge pull request #6737 from ethereum/smt_vars_context
[SMTChecker] Move variable handling to EncodingContext
|
2019-05-14 13:30:35 +02:00 |
|
chriseth
|
d753fcdb36
|
Tools to compute UnixFS IPFS hash.
|
2019-05-14 11:52:11 +02:00 |
|
Mathias Baumann
|
f5980f08cc
|
Remove m_code from IRValue
Only one place to append to m_code avoids confusion and bugs
|
2019-05-14 11:15:04 +02:00 |
|
Leonardo Alt
|
ebbe03cad6
|
[SMTChecker] Move variable handling to EncodingContext
|
2019-05-13 16:59:28 +02:00 |
|
chriseth
|
01dd9ba2ae
|
Merge pull request #6717 from ethereum/smt_namespace
Move SMT specific code into smt namespace
|
2019-05-13 12:45:34 +02:00 |
|
chriseth
|
37375b4271
|
Merge pull request #6606 from ethereum/stdin-output-wildcard
Fix wildcard as output selector in standard JSON
|
2019-05-13 10:24:13 +02:00 |
|
chriseth
|
8c232e8196
|
Merge pull request #6690 from ethereum/useConditionalWhiskers
Use conditional whiskers
|
2019-05-13 10:23:30 +02:00 |
|
chriseth
|
03c8e43da5
|
Merge pull request #6605 from ethereum/natspec-colon-fix
Fix Natspec parser error
|
2019-05-13 10:19:47 +02:00 |
|
chriseth
|
e5d46767f1
|
Merge pull request #6722 from ethereum/smt_fix_variable_usage
[SMTChecker] Fix VariableUsage for IndexAccess
|
2019-05-13 10:17:26 +02:00 |
|
chriseth
|
a28b6224a4
|
Merge pull request #6714 from ethereum/finishERC20
Finish ERC20
|
2019-05-13 10:00:38 +02:00 |
|
Leonardo Alt
|
fac383a233
|
Move SMT specific code into smt namespace
|
2019-05-10 20:03:11 +02:00 |
|
Erik Kundt
|
2b021eaa30
|
Allows wildcard as output selector in standard JSON.
|
2019-05-10 18:58:51 +02:00 |
|
chriseth
|
cc40e65a4b
|
Merge pull request #6712 from ethereum/smt_unique_ptr
[SMTChecker] Use unique_ptr instead of shared_ptr where applicable
|
2019-05-10 12:53:53 +02:00 |
|
Leonardo Alt
|
3ea5c112d3
|
[SMTChecker] Fix VariableUsage for IndexAccess
|
2019-05-10 11:28:10 +02:00 |
|
Erik Kundt
|
656364d967
|
Fixes Natspec parser error when whitespace is missing.
|
2019-05-10 10:53:32 +02:00 |
|
Leonardo
|
661b08e16c
|
Merge pull request #6718 from ethereum/smt_style
[SMTChecker] Style changes
|
2019-05-10 09:20:21 +02:00 |
|
chriseth
|
4de75b24c5
|
Merge pull request #6677 from ethereum/externalCalls
[SolYul] External function calls
|
2019-05-09 19:18:10 +02:00 |
|
Leonardo Alt
|
8d65fd18fc
|
[SMTChecker] Style changes
|
2019-05-09 19:15:43 +02:00 |
|
chriseth
|
89700dbcff
|
Merge pull request #6665 from ethereum/smt_inline_external_this
[SMTChecker] Inline external function calls to `this`
|
2019-05-09 19:09:08 +02:00 |
|
chriseth
|
e047c8d4d9
|
Code generator for external function calls.
|
2019-05-09 18:55:12 +02:00 |
|
chriseth
|
63a072f122
|
[SolYul] Partially implement constructor.
|
2019-05-09 17:57:33 +02:00 |
|
chriseth
|
021b312264
|
Revert with reason.
|
2019-05-09 17:57:33 +02:00 |
|
chriseth
|
60a42f58a0
|
Fix internal function calls.
|
2019-05-09 17:57:33 +02:00 |
|
chriseth
|
45ee3fc007
|
Subtraction for unsigned integers.
|
2019-05-09 17:57:30 +02:00 |
|
Leonardo Alt
|
ef32bf185f
|
[SMTChecker] Inline external function calls to this.
|
2019-05-09 16:53:30 +02:00 |
|
Leonardo Alt
|
c8a017ccd6
|
[SMTChecker] Use unique_ptr instead of shared_ptr where applicable.
|
2019-05-09 16:34:22 +02:00 |
|
Leonardo Alt
|
6027383ae5
|
[SMTChecker] Fix call to function at state var init
|
2019-05-09 16:12:44 +02:00 |
|
chriseth
|
c3a1c168d0
|
Merge pull request #6711 from ethereum/solYulIf
[Sol -> Yul] Implement if statements
|
2019-05-09 15:33:34 +02:00 |
|
chriseth
|
b3e51bcae1
|
Some more compression.
|
2019-05-09 15:25:21 +02:00 |
|
chriseth
|
d3d205b6eb
|
Some more compression.
|
2019-05-09 15:25:21 +02:00 |
|
chriseth
|
c6b9fa96ae
|
Use conditional Whiskers.
|
2019-05-09 15:25:21 +02:00 |
|
Daniel Kirchner
|
b83f6d8d46
|
[Sol -> Yul] Implement if statements
|
2019-05-09 14:52:20 +02:00 |
|
Leonardo
|
9e09b5d33b
|
Merge pull request #6679 from ethereum/smt_fix_ssa_reset
[SMTChecker] Fix ICE in touched vars
|
2019-05-09 12:17:32 +02:00 |
|
chriseth
|
0852ccc318
|
Merge pull request #4764 from ethereum/cbor-version
Store compiler version in CBOR metadata
|
2019-05-09 10:10:50 +02:00 |
|
Mathias Baumann
|
0abe00d393
|
[Sol -> Yul] Fix ForLoops and implement WhileLoops
|
2019-05-09 09:46:19 +02:00 |
|
Leonardo Alt
|
3d52a6ca68
|
[SMTChecker] Fix ICE in branch-inline function call-modify local variable
|
2019-05-09 09:15:11 +02:00 |
|
Leonardo Alt
|
dcd6cb94bf
|
Add function that retrieves first FunctionDefinition up the scope path
|
2019-05-09 09:15:11 +02:00 |
|
Daniel Kirchner
|
a6a28ac475
|
Allow overwriting the release flag for tests and adjust test suite to CBOR metadata.
|
2019-05-08 22:21:50 +02:00 |
|
Alex Beregszaszi
|
e121c8f3c7
|
Store compiler version in CBOR metadata
|
2019-05-08 22:21:50 +02:00 |
|
Leonardo Alt
|
9893cae27a
|
[SMTChecker] Make mergeVariables deterministic
|
2019-05-08 20:46:01 +02:00 |
|
chriseth
|
4d460915f3
|
Merge pull request #6655 from ethereum/storageMappings
[SolYul] Storage mappings
|
2019-05-08 20:38:46 +02:00 |
|
Leonardo
|
241b6b4bae
|
Merge pull request #6702 from ethereum/smt_fix_asgn_unsupported_type
[SMTChecker] Fix unsupported type assignment
|
2019-05-08 16:12:46 +02:00 |
|
chriseth
|
595544645e
|
Mappings.
|
2019-05-08 15:54:52 +02:00 |
|
Leonardo Alt
|
0b046897ae
|
[SMTChecker] Fix unsupported type assignment
|
2019-05-08 14:28:23 +02:00 |
|
chriseth
|
b4d6f847b4
|
Events.
|
2019-05-08 13:29:11 +02:00 |
|
chriseth
|
5fb85a6118
|
Merge pull request #6662 from ethereum/msgSender
Implement most trivial members.
|
2019-05-08 13:28:43 +02:00 |
|
chriseth
|
6c9c54a657
|
Merge pull request #6657 from ethereum/smt_tuple_multi_decl
[SMTChecker] Support tuples as multi var decl
|
2019-05-07 17:55:36 +02:00 |
|
chriseth
|
acca390ef5
|
Most trivial members.
|
2019-05-07 17:19:45 +02:00 |
|
chriseth
|
b99ad2aaa3
|
Merge pull request #6639 from ethereum/yul-require-assert
Yul generation of "require" and "assert"
|
2019-05-07 16:59:37 +02:00 |
|
Leonardo Alt
|
3c7540ceb2
|
[SMTChecker] Support tuples with multiple var decls
|
2019-05-07 16:57:27 +02:00 |
|
chriseth
|
f68c09272b
|
Simple tuple expressions.
|
2019-05-07 15:59:56 +02:00 |
|
chriseth
|
c604481cef
|
Logical operators.
|
2019-05-07 15:59:35 +02:00 |
|
chriseth
|
785b369b89
|
Add type helper function.
|
2019-05-07 12:36:54 +02:00 |
|
chriseth
|
3fa4c3da1e
|
Comparison operations.
|
2019-05-07 12:35:05 +02:00 |
|
chriseth
|
4069b19734
|
Unary operation for literals.
|
2019-05-07 12:35:04 +02:00 |
|
Mathias Baumann
|
7f14352bbf
|
Yul generation of require and assert
|
2019-05-07 12:19:41 +02:00 |
|
chriseth
|
e6f8aaafa5
|
Conversion for string literals.
|
2019-05-07 11:55:17 +02:00 |
|
Leonardo Alt
|
2139c20776
|
[SMTChecker] Support delete
|
2019-05-06 18:32:10 +02:00 |
|
Leonardo
|
e99efec085
|
Merge pull request #6652 from ethereum/smt_tuple_function
[SMTChecker] Support tuples as function calls with multiple return values
|
2019-05-06 15:19:24 +02:00 |
|
chriseth
|
3365cb9b4a
|
Add type helper function.
|
2019-05-06 12:01:13 +02:00 |
|
chriseth
|
7c62193524
|
Change some AST elements to post visit.
|
2019-05-06 11:43:18 +02:00 |
|
chriseth
|
dee1c1109c
|
Merge pull request #6668 from ethereum/smt_fix_short_circuit
Fix short circuit with assignments
|
2019-05-06 11:40:07 +02:00 |
|
chriseth
|
36c78baa41
|
Merge pull request #6646 from ethereum/storageAccess
[Yul] Storage access for sol -> yul
|
2019-05-06 11:33:36 +02:00 |
|
Leonardo Alt
|
80712f44cb
|
Fix short circuit with assignments
|
2019-05-06 11:04:43 +02:00 |
|
Leonardo Alt
|
5440a53d4d
|
[SMTChecker] Support tuples as function calls with multiple return values
|
2019-05-03 06:10:22 +02:00 |
|
chriseth
|
5bd3ed97bd
|
Merge pull request #6649 from ethereum/smt_tuple_asgn
[SMTChecker] Support tuple assignment
|
2019-05-02 18:43:16 +02:00 |
|
chriseth
|
e9f41d1148
|
Merge pull request #6604 from ethereum/library-self-delegatecall
Error on library calling itself externally
|
2019-05-02 17:25:25 +02:00 |
|
chriseth
|
aa4d4afcdc
|
LValues and state variables of value type.
|
2019-05-02 17:03:22 +02:00 |
|
chriseth
|
cbc1b97760
|
Merge pull request #6648 from ethereum/moveStorageFunctions
Move storage access functions to yul utils.
|
2019-05-02 12:58:03 +02:00 |
|
Leonardo Alt
|
204dcf1771
|
[SMTChecker] Support tuple assignments
|
2019-05-02 12:55:34 +02:00 |
|
chriseth
|
54775a7880
|
Merge pull request #6647 from ethereum/smt_tuple_decl
[SMTChecker] Support tuple type declaration
|
2019-05-02 12:49:50 +02:00 |
|
Erik Kundt
|
07744dbd12
|
Throws error on library calling itself externally.
|
2019-05-02 12:41:07 +02:00 |
|
chriseth
|
d4c4a473d8
|
Merge pull request #6622 from ethereum/warn-this-super
Issue warning for variables called `super` or `this`
|
2019-05-02 12:38:53 +02:00 |
|
chriseth
|
31b7037749
|
Move storage access functions to utils.
|
2019-05-02 12:11:41 +02:00 |
|
Leonardo Alt
|
6c7527ac90
|
[SMTChecker] Support tuple type declaration
|
2019-05-02 12:05:21 +02:00 |
|
Mathias Baumann
|
cf35e5ba02
|
Issue warning for variables called super or this
|
2019-05-02 11:30:24 +02:00 |
|
Leonardo Alt
|
66655b87b0
|
[SMTChecker] Fix ICE in fixed point operations
|
2019-05-02 10:59:23 +02:00 |
|
Leonardo Alt
|
dd4e938265
|
[SMTChecker] Fix ICE in inherited state var
|
2019-05-02 10:03:12 +02:00 |
|
Leonardo Alt
|
a6db37ac9c
|
[SMTChecker] Fix bad cast in base constructor modifier.
|
2019-04-30 18:48:13 +02:00 |
|
chriseth
|
dc13469593
|
Merge pull request #6589 from ethereum/addReturn
[Yul] Add code generation for "return" and for loops.
|
2019-04-30 17:07:45 +02:00 |
|
chriseth
|
e66ab6c036
|
Helper function to define the value of expressions.
|
2019-04-30 13:10:37 +02:00 |
|
chriseth
|
0eef51ffa4
|
Conversion during binary operation.
|
2019-04-30 13:10:37 +02:00 |
|
chriseth
|
597d37b731
|
Implement for loops.
|
2019-04-30 13:10:37 +02:00 |
|
chriseth
|
c1ca16cd33
|
Implement return.
|
2019-04-30 13:10:36 +02:00 |
|
Leonardo Alt
|
e4989369d0
|
Refactor cast from identifier ref decl to var decl
|
2019-04-30 11:08:36 +02:00 |
|
Leonardo Alt
|
762f79f84d
|
Refactor assignment handling
|
2019-04-30 11:08:36 +02:00 |
|
chriseth
|
39d153b7a1
|
Merge pull request #6570 from ethereum/fixMetaSettings
Move metadata settings into its own object.
|
2019-04-29 15:09:27 +02:00 |
|
chriseth
|
e8ba10bfaa
|
Merge pull request #6612 from ethereum/abi-functions-assertion
Unifies behaviour for member access of ABI functions
|
2019-04-29 15:02:40 +02:00 |
|
chriseth
|
3a19d83671
|
Merge pull request #6578 from ethereum/fix_base_overload
Fix call to base class overloaded functions
|
2019-04-29 14:33:52 +02:00 |
|
Erik Kundt
|
381ed5a302
|
Unifies behavior for member access of ABI functions.
|
2019-04-29 14:27:10 +02:00 |
|
chriseth
|
eef3f95724
|
Move metadata settings into its own object.
|
2019-04-29 14:19:27 +02:00 |
|
Erik Kundt
|
c02257207b
|
Removes assert on magic ABI functions during codegen.
|
2019-04-26 15:01:35 +02:00 |
|
Leonardo Alt
|
371b37b660
|
Fix direct call to base class overloaded functions
|
2019-04-26 09:34:15 +02:00 |
|
chriseth
|
169b555a22
|
Merge pull request #6507 from ethereum/smt_address_members
[SMTChecker] Address members
|
2019-04-25 17:29:42 +02:00 |
|
chriseth
|
309d3e65cf
|
Merge pull request #6585 from ethereum/fixInvalidFunctionTags
Fix invalid function tags
|
2019-04-25 16:30:37 +02:00 |
|
Leonardo Alt
|
fc482de695
|
[SMTChecker] Support address members
|
2019-04-25 16:24:36 +02:00 |
|
chriseth
|
5b991c1e59
|
Fix use of uninitialized functions stored in storage.
|
2019-04-25 15:40:48 +02:00 |
|
Mathias Baumann
|
1ef213cc15
|
Sol -> Yul: Implement explicit cast
|
2019-04-24 22:52:17 +02:00 |
|
Mathias Baumann
|
441369d5f1
|
Sol -> Yul Generator: Mark "return" as unimplemented
|
2019-04-24 22:52:17 +02:00 |
|
Mathias Baumann
|
944ac6fb6d
|
Sol -> Yul Generation: Implicit conversions
|
2019-04-24 22:52:17 +02:00 |
|
Leonardo Alt
|
dd1afeba52
|
[SMTChecker] Support this as address
|
2019-04-18 17:56:52 +02:00 |
|
chriseth
|
b02fbc5d02
|
Merge pull request #6503 from ethereum/inlineAsm-yul
Inline asm yul
|
2019-04-18 17:15:09 +02:00 |
|
Mathias Baumann
|
3d061c83d7
|
IR: Generate inline asm blocks
|
2019-04-18 16:49:19 +02:00 |
|
chriseth
|
fce19bde58
|
Merge pull request #6545 from ethereum/smt_contracts
[SMTChecker] Support contract type
|
2019-04-18 13:01:18 +02:00 |
|
chriseth
|
0bfd587363
|
Merge pull request #6527 from rocky/move-SemVerHandler
Move SemVerHandler to analysis to parsing to increase modularity...
|
2019-04-18 13:00:45 +02:00 |
|
chriseth
|
fb302c1c4f
|
Merge pull request #6473 from ethereum/libeventhash-6435
Fix external ABI type name for contracts
|
2019-04-18 12:53:34 +02:00 |
|
Mathias Baumann
|
0f4b53e9a0
|
Fix external ABI type name for contracts
|
2019-04-18 11:39:48 +02:00 |
|
Leonardo Alt
|
ecd89393ee
|
[SMTChecker] Support contract type
|
2019-04-17 16:30:11 +02:00 |
|
Leonardo Alt
|
03d18f1b98
|
[SMTChecker] Add note about not inlining external function calls
|
2019-04-17 16:14:07 +02:00 |
|
rocky
|
b424446c5f
|
Move SemVerHandler to analysis to parsing to increase modularity...
If ever you want to separate building analysis from scanning/parsing/ast, this will help.
|
2019-04-17 10:13:42 -04:00 |
|
chriseth
|
4509e8efbb
|
Merge pull request #6543 from ethereum/typeprovider-bits
TypeProvider bits
|
2019-04-17 15:50:08 +02:00 |
|
chriseth
|
922ab0d72d
|
Merge pull request #6534 from ethereum/reuseLiteralContent-6472
Re-produce the original 'useLiteralContent' setting
|
2019-04-17 15:41:55 +02:00 |
|
Mathias Baumann
|
b24dd42e47
|
Re-produce the original 'useLiteralContent' setting
|
2019-04-17 14:54:51 +02:00 |
|
Christian Parpart
|
9733ae7483
|
[libsolidity] TypeProvider: cleanup unnecessary std:: qualifiers
|
2019-04-17 14:45:29 +02:00 |
|
Christian Parpart
|
721bf367a3
|
[libsolidity] TypeProvider: eliminate redundant "Type" suffix in provider function signatures.
|
2019-04-17 14:42:07 +02:00 |
|
Grant Wuerker
|
69b4ce36de
|
Some move semantics improvements.
|
2019-04-17 14:19:48 +02:00 |
|
Christian Parpart
|
862b65d6e3
|
[libsolidity] remove ReferenceType::copyForLocationIfReference (use TypeProvider instead)
|
2019-04-17 13:25:03 +02:00 |
|
Christian Parpart
|
b83097bdc6
|
[libsolidity] Types: eliminate redundant MagicType::metaType() (use TypeProvider instead)
|
2019-04-17 12:59:48 +02:00 |
|
Christian Parpart
|
a99a460c79
|
[libsolidity] Types: remove some old comments
|
2019-04-17 12:00:33 +02:00 |
|
chriseth
|
4e2d4f02b0
|
Make data location explicit.
|
2019-04-16 23:22:08 +02:00 |
|
chriseth
|
2761aed1d3
|
Lazy-initialize string and bytes types.
|
2019-04-16 23:22:08 +02:00 |
|
chriseth
|
4656d7ca7d
|
Change pre-created types to unique_ptr to avoid copying and moving.
|
2019-04-16 23:22:08 +02:00 |
|
Christian Parpart
|
58a45f2cb6
|
[libsolidity] TypeProvider: adds explicit uint256() accessor and removes default params in integerType(...).
|
2019-04-16 18:28:40 +02:00 |
|
Christian Parpart
|
59d4f54729
|
libsolidity: Be more restrictive to not allow any copy constructors at all in Type system.
This enforces us to be a little bit more historical in how to initialize
our std::array<>'s in TypeProvider.
|
2019-04-16 18:26:46 +02:00 |
|
Christian Parpart
|
a2a3b007f3
|
TypeProvider: storageType() to make all parameters explicit
|
2019-04-16 18:26:46 +02:00 |
|
Christian Parpart
|
bf43eebea9
|
libsolidity: Introducing TypeProvider API, for clear type system ownership.
|
2019-04-16 18:26:45 +02:00 |
|
chriseth
|
a61931c5da
|
Merge pull request #6512 from ethereum/smt_refactor_symbvars
[SMTChecker] Allow SymbolicVariable from smt::Sort
|
2019-04-16 15:45:08 +02:00 |
|
Mathias Baumann
|
efc8d79d53
|
Fix wrong location for inline asm blocks
|
2019-04-15 16:40:07 +02:00 |
|
Leonardo Alt
|
07fac9e381
|
[SMTChecker] Allow SymbolicVariable from smt::Sort
|
2019-04-15 14:52:46 +02:00 |
|
chriseth
|
bf5792f7ca
|
Merge pull request #6483 from ethereum/smt_support_mod
[SMTChecker] Support mod
|
2019-04-15 13:42:18 +02:00 |
|
chriseth
|
73ac8f6220
|
Merge pull request #6421 from ethereum/smt_fix_variable_usage
[SMTChecker] Refactor VariableUsage
|
2019-04-15 13:39:10 +02:00 |
|
Leonardo Alt
|
af9f16e014
|
[SMTChecker] Support mod
|
2019-04-12 12:39:25 +02:00 |
|
Daniel Kirchner
|
65991c0922
|
Merge pull request #6481 from ethereum/smt_inline_asm_warning
[SMTChecker] Show unsupported warning for asm blocks
|
2019-04-12 12:36:26 +02:00 |
|
Leonardo
|
dbc9442f9c
|
Merge pull request #6484 from sifmelcara/create-SourceReferenceFormatter-shortcut
Add a shortcut for formatting error information
|
2019-04-12 12:34:08 +02:00 |
|
chriseth
|
565d9837e4
|
Virtual function calls.
|
2019-04-11 15:45:43 +02:00 |
|
chriseth
|
18ab8aeb85
|
Overflow-checked addition.
|
2019-04-11 15:45:14 +02:00 |
|
mingchuan
|
f1374066af
|
Add shortcuts for formatting error information
|
2019-04-10 18:44:45 +08:00 |
|
Mathias Baumann
|
b4380a2137
|
Move convert functions to Yul module
|
2019-04-09 15:31:46 +02:00 |
|
Leonardo Alt
|
4fe303530a
|
[SMTChecker] Show unsupported warning for asm blocks
|
2019-04-05 16:41:15 +02:00 |
|
Leonardo Alt
|
79d8a4e13a
|
[SMTChecker] Refactor VariableUsage
|
2019-04-05 11:38:37 +02:00 |
|
chriseth
|
3df4936b6f
|
Merge pull request #6179 from ethereum/solidity-yul1
Solidity to Yul compiler
|
2019-04-04 16:33:39 +02:00 |
|
chriseth
|
420a7dc3d6
|
Initial IR generator.
|
2019-04-04 15:02:42 +02:00 |
|
Daniel Kirchner
|
d0fda7ca7c
|
Merge pull request #6262 from ethereum/abiEncodeCalldataArray
ABIEncoderV2: implement encoding of calldata arrays and structs.
|
2019-04-04 14:51:45 +02:00 |
|
Daniel Kirchner
|
91a2a9a9c3
|
Implement ABI encoding of calldata arrays and structs.
|
2019-04-04 13:05:32 +02:00 |
|
chriseth
|
8c570f31c5
|
Merge pull request #6442 from ethereum/smt_unary_inc_dec
[SMTChecker] Support unary inc/dec for array/mapping access
|
2019-04-04 11:45:13 +02:00 |
|
Daniel Kirchner
|
d82157d46a
|
Refactor abi encoding functions to prepare implementing calldata arrays and structs.
|
2019-04-04 11:18:03 +02:00 |
|
Daniel Kirchner
|
b0cb330397
|
Allow encoding calldata arrays for base types that do not require cleanup.
|
2019-04-04 11:18:03 +02:00 |
|
Alex Beregszaszi
|
43008dd08e
|
Validate value types in decoder of ABIEncoderV2.
|
2019-04-03 11:32:02 +02:00 |
|
Leonardo Alt
|
aa9b9aa87e
|
[SMTChecker] Support unary inc/dec for array/mapping access
|
2019-04-02 16:53:19 +02:00 |
|
Daniel Kirchner
|
ab8dfed144
|
Implement copying recursive structs from storage to memory.
|
2019-04-02 16:01:44 +02:00 |
|
chriseth
|
f9820adb5e
|
Merge pull request #6396 from ethereum/optSetForAsmStack
Make optimiser settings available to assembly stack.
|
2019-03-28 19:03:23 +01:00 |
|
chriseth
|
84251e5a22
|
Merge pull request #6405 from ethereum/smt_compound_assignment
[SMTChecker] Support arithmetic compound assignment operators.
|
2019-03-28 18:27:25 +01:00 |
|
chriseth
|
3264e9abf0
|
Make optimiser settings available to assembly stack.
|
2019-03-28 18:24:13 +01:00 |
|
Leonardo Alt
|
a7e826a224
|
[SMTChecker] Implement short circuit
|
2019-03-28 16:08:30 +01:00 |
|
Leonardo Alt
|
15269067b5
|
Support arithmetic compound assignment operators
|
2019-03-28 15:27:52 +01:00 |
|
Leonardo Alt
|
ecbf36f271
|
Refactor computing symbolic arithmetic operation
|
2019-03-28 15:27:36 +01:00 |
|
Leonardo Alt
|
1d63b97857
|
Take inlined function calls into account when collecting touched variables
|
2019-03-28 14:32:47 +01:00 |
|
Leonardo Alt
|
6f9b69ebc3
|
Refactor function that retrieves FunctionDefinition from FunctionCall
|
2019-03-28 14:32:47 +01:00 |
|
chriseth
|
529aca5cbd
|
Merge pull request #6407 from ethereum/changeNamespace
Remove "using namespace" from header and move Instruction to dev::eth.
|
2019-03-28 14:32:07 +01:00 |
|
chriseth
|
2308904f68
|
Remove "using namespace" from header and move Instruction to dev::eth.
|
2019-03-28 13:48:11 +01:00 |
|
chriseth
|
a1fe2562c4
|
Move suffixedVariableNameList to utils.
|
2019-03-27 17:14:17 +01:00 |
|
Alex Beregszaszi
|
d6dda7279c
|
Change CompilerStack.reset to have keepSettings flag instead of keepSources
|
2019-03-26 14:46:13 +00:00 |
|
Alex Beregszaszi
|
cca73f9354
|
Remove deprecated CompilerStack.addSources
|
2019-03-26 14:46:02 +00:00 |
|
chriseth
|
72c0e44907
|
Merge pull request #6338 from ethereum/compilerstack-setsource
Introduce setSources in CompilerStack
|
2019-03-26 15:31:57 +01:00 |
|
chriseth
|
d079cdbfaa
|
Merge pull request #6362 from ethereum/fixABIEncoderV2StorageRead
Fix abi encoder v2 storage read
|
2019-03-26 10:23:08 +01:00 |
|
Alex Beregszaszi
|
a894ab4462
|
Merge pull request #6368 from ethereum/yul-standard-warnings
Add warning that Yul is still experimental
|
2019-03-25 22:48:46 +00:00 |
|
Alex Beregszaszi
|
d2185bf529
|
Remove obsolete identifer for the identity precompile
|
2019-03-25 20:57:59 +00:00 |
|
Alex Beregszaszi
|
e211b5b1e1
|
Add warning that Yul is still experimental
|
2019-03-25 20:17:11 +00:00 |
|
Alex Beregszaszi
|
0432401e20
|
Emit warning when using the Yul optimiser
|
2019-03-25 18:38:06 +01:00 |
|
chriseth
|
6b69c31703
|
Fix ABIEncoderV2 array overwrite bug.
|
2019-03-25 18:28:43 +01:00 |
|
chriseth
|
68d4a85575
|
Properly read and clean value types read from storage.
|
2019-03-25 18:28:43 +01:00 |
|
Alex Beregszaszi
|
0d6d0f476c
|
Use setSources
|
2019-03-25 15:11:00 +00:00 |
|
Alex Beregszaszi
|
66a977d999
|
Introduce setSources in CompilerStack
|
2019-03-25 15:11:00 +00:00 |
|
chriseth
|
ffe3a60301
|
Merge pull request #6367 from ethereum/yul-standard
Allow warnings in AssemblyStack
|
2019-03-25 14:59:29 +01:00 |
|
Alex Beregszaszi
|
642d4b9217
|
Abort if parseAndAnalyze failed but no errors are reported in compileYul
|
2019-03-25 13:19:33 +00:00 |
|
Daniel Kirchner
|
66d6711364
|
ABIFunctions: Split out a function for generating a comma separated list of variable names.
|
2019-03-25 10:58:18 +01:00 |
|
Alex Beregszaszi
|
3bc2c35cc4
|
Support compiling Yul within StandardCompiler
|
2019-03-22 01:35:16 +00:00 |
|
Leonardo Alt
|
a207d7f44c
|
[SMTChecker] Add callstack model to overflow checks
|
2019-03-21 16:25:33 +01:00 |
|
Leonardo Alt
|
de89733bd6
|
[SMTChecker] Fix nullptr deref
|
2019-03-21 15:46:54 +01:00 |
|
chriseth
|
d381e26fc8
|
Rename "enabled" optimizer setting stage to "standard".
|
2019-03-21 11:04:40 +01:00 |
|
Mathias Baumann
|
4c2b1c1f29
|
ArrayType::interfaceType(): Rename local variable to make more sense
|
2019-03-21 07:25:59 +01:00 |
|
Mathias Baumann
|
7d809df91a
|
Add back StructType::recursive()
|
2019-03-21 07:25:59 +01:00 |
|
Mathias Baumann
|
8e899a0d32
|
Disallow internal function types as parameters for public/external library function
|
2019-03-21 07:25:57 +01:00 |
|
Mathias Baumann
|
0fbea8a1a0
|
Change return type for interfaceType() to ResultType
|
2019-03-21 07:25:28 +01:00 |
|
Alex Beregszaszi
|
ea1944bb2d
|
Removed unused isLibrary from flag addSource in CompilerStack
|
2019-03-20 17:41:51 +00:00 |
|
chriseth
|
9aab2329ed
|
Merge pull request #6244 from ethereum/smt_modifiers
[SMTChecker] Support modifiers
|
2019-03-20 18:04:28 +01:00 |
|
chriseth
|
54e00b930d
|
Merge pull request #6331 from ethereum/pragma-parser-location-reporting-fix
Fixes wrong source location when reporting pragma solidity version conflicts
|
2019-03-20 16:07:56 +01:00 |
|
chriseth
|
8468dca0bb
|
Merge pull request #6323 from ethereum/bug-637
Fix function calls with named arguments for overloaded functions
|
2019-03-20 16:07:09 +01:00 |
|
chriseth
|
38cbf8d230
|
Pass "optimize stack allocation" flag down to the stack compressor.
|
2019-03-20 15:03:27 +01:00 |
|
Mathias Baumann
|
84b68006ba
|
Fix function calls with named arguments for overloaded functions
|
2019-03-20 14:54:41 +01:00 |
|
Christian Parpart
|
bb28c8a877
|
Fixes wrong source location when reporting pragma solidity version conflicts.
|
2019-03-20 11:42:25 +01:00 |
|
Leonardo Alt
|
9659f40c8d
|
[SMTChecker] Support modifiers
|
2019-03-20 11:32:20 +01:00 |
|
Leonardo Alt
|
3296fb3764
|
Add callstack to model report
|
2019-03-20 10:35:29 +01:00 |
|
chriseth
|
b021f015f9
|
Merge pull request #6321 from ethereum/metadata-cbor-encoder
Introduce simplfied CBOR encoding for Metadata
|
2019-03-20 10:10:16 +01:00 |
|
Leonardo Alt
|
9acec99c31
|
Issue error for callvalue in nonpayable function
|
2019-03-19 20:45:27 +01:00 |
|
chriseth
|
7c524f794f
|
Also output optimized yul code if requested.
|
2019-03-19 17:24:36 +01:00 |
|
Alex Beregszaszi
|
7babe3dbba
|
Introduce simplfied CBOR encoding for Metadata
|
2019-03-19 16:06:19 +00:00 |
|
chriseth
|
48f0d41cc5
|
Merge pull request #6294 from ethereum/merge-canBeUsedExternally-and-interfaceType-6223
Merge interfaceType() canBeUsedExternally()
|
2019-03-14 18:12:07 +01:00 |
|
Mathias Baumann
|
4d060ef991
|
Merge interfaceType() canBeUsedExternally()
And cache the result for expensive calls.
|
2019-03-14 17:19:59 +01:00 |
|
Mathias Baumann
|
3b546acd57
|
Clarify documentation of ContractType::m_super
|
2019-03-14 15:59:26 +01:00 |
|
chriseth
|
6d1ed93247
|
Use stack optimizations.
|
2019-03-14 15:34:23 +01:00 |
|
Erik Kundt
|
b9a7a88346
|
Improves Result<T> in order to prevent defects.
|
2019-03-14 14:33:28 +01:00 |
|
chriseth
|
2e7794d8a6
|
Defensively pad memory for `type(C).name ` to multiples of 32.
|
2019-03-13 18:51:32 +01:00 |
|
Christian Parpart
|
cfefa2c1d1
|
Merge pull request #6136 from ethereum/yul-break-continue
[Yul] introduce break/continue keywords.
|
2019-03-11 20:38:57 +01:00 |
|
chriseth
|
8445449c7f
|
Merge pull request #6187 from ethereum/filter-library-abi-3409
Exclude internal functions in library ABIs
|
2019-03-11 17:39:51 +01:00 |
|
chriseth
|
6683ec90ca
|
Merge pull request #6209 from ethereum/dynamicCalldataStructs
Allow dynamically encoded calldata structs with ABIEncoderV2.
|
2019-03-11 17:05:34 +01:00 |
|
Daniel Kirchner
|
66fc7ffab2
|
Allow dynamically encoded calldata structs with ABIEncoderV2.
|
2019-03-11 16:40:13 +01:00 |
|
Mathias Baumann
|
fbbd03dbd7
|
Exclude internal functions in library ABIs
|
2019-03-11 16:33:44 +01:00 |
|
Mathias Baumann
|
e411a502fd
|
Fix missing trailing dot in error message
|
2019-03-11 16:15:18 +01:00 |
|
Christian Parpart
|
05e2d362c8
|
[Yul] Adds break/continue statements and some general tests for for-loop syntax.
|
2019-03-11 15:05:05 +01:00 |
|
Mathias Baumann
|
d70cb375cf
|
isImplicitlyConvertibleTo(): Add better error messages
|
2019-03-11 13:38:02 +01:00 |
|
Leonardo Alt
|
a8209e9899
|
[SMTChecker] Shortcut RationalNumber expressions
|
2019-03-11 12:53:49 +01:00 |
|
chriseth
|
4d8c57006b
|
Merge pull request #6195 from ethereum/extractYulUtils
[REF] Extract utility functions from ABI encoder.
|
2019-03-08 00:51:58 +01:00 |
|
chriseth
|
8b20ecb558
|
Refactor StandardCompiler to split into input parsing/validating and compilation steps.
|
2019-03-07 17:49:55 +01:00 |
|
Leonardo Alt
|
02d0e609b9
|
[SMTChecker] Support enums
|
2019-03-07 15:15:12 +01:00 |
|
Daniel Kirchner
|
f7c6eda2c3
|
Allow calldata arrays with dynamically encoded base type.
|
2019-03-06 18:04:12 +01:00 |
|
chriseth
|
cdf29277f7
|
Merge pull request #6055 from ethereum/smt_arrays
[SMTChecker] Add support to arrays
|
2019-03-06 18:00:23 +01:00 |
|
chriseth
|
dc69152238
|
Merge pull request #6143 from ethereum/fix-unimplemented-assert-5659
Check base contracts for abi encoder compatibility
|
2019-03-06 11:59:49 +01:00 |
|
chriseth
|
449141db2c
|
Merge pull request #6190 from ethereum/allowEncodeDecodeWithZeroParameters
Allow encoding and decoding functions with empty type list.
|
2019-03-06 11:57:21 +01:00 |
|
Leonardo Alt
|
29b2ab6f66
|
Handle aliasing
|
2019-03-06 11:29:54 +01:00 |
|
Leonardo Alt
|
467c34999f
|
Do not throw on string literals
|
2019-03-06 11:29:26 +01:00 |
|
Leonardo Alt
|
e74f58130e
|
Add SMT type support to Solidity arrays
|
2019-03-06 11:29:26 +01:00 |
|
Mathias Baumann
|
9919670ddd
|
Check base contracts for abi encoder compatibility
|
2019-03-06 11:16:54 +01:00 |
|
Mathias Baumann
|
9052a8f050
|
Move FunctionType::returnParameters() to CallableDeclaration
all the other functions of that type are also found there.
|
2019-03-06 11:13:01 +01:00 |
|
Mathias Baumann
|
b2262d67f0
|
Remove unused variable Contractdefinition::m_linearizedBaseContracts
|
2019-03-06 11:13:01 +01:00 |
|
chriseth
|
d515d77bfe
|
Extract utility functions from ABI encoder.
|
2019-03-05 22:13:55 +01:00 |
|
chriseth
|
a27ef3489c
|
Allow encoding and decoding functions with empty type list.
|
2019-03-05 15:55:50 +01:00 |
|
Mathias Baumann
|
de98e38b78
|
Prepare code to output errors returned by isImplicitlyConvertibleTo()
|
2019-03-05 10:44:36 +01:00 |
|
chriseth
|
6c9961e040
|
Merge pull request #5941 from ethereum/metadata-compilerstack
Metadata should not require compilation
|
2019-03-04 18:53:07 +01:00 |
|
Alex Beregszaszi
|
a96cc6e0e8
|
Add allocateMemory helper with value known at compile time
|
2019-03-04 17:46:42 +01:00 |
|
chriseth
|
9c80f0fc76
|
Merge pull request #6155 from ethereum/defaultToPetersburg
Set default EVM version to petersburg
|
2019-03-04 17:36:42 +01:00 |
|
Alex Beregszaszi
|
fcbb8ec51c
|
Allow returning metadata in StandardCompiler without compilation
|
2019-03-04 16:19:55 +01:00 |
|
Alex Beregszaszi
|
26ca144647
|
Cache metadata and allow after analysis in CompilerStack
|
2019-03-04 16:19:54 +01:00 |
|
Alex Beregszaszi
|
bd51589f1a
|
Use "if" instead of "switch" in codegen for the deployment time address of a library
|
2019-03-04 15:16:58 +01:00 |
|
chriseth
|
9a949c1bda
|
Set default EVM version to Petersburg.
|
2019-03-04 14:53:00 +01:00 |
|
Alex Beregszaszi
|
ecd246aeb6
|
Support petersburg in evmVersion
|
2019-03-04 14:10:41 +01:00 |
|
chriseth
|
2e0ea16a0f
|
Merge pull request #5959 from ethereum/optimiser2
Introduce global optimiser settings.
|
2019-03-04 12:54:59 +01:00 |
|
chriseth
|
6a32f6e1ac
|
Properly assign reference to context.
|
2019-03-04 12:00:47 +01:00 |
|
chriseth
|
851dd635eb
|
Remove defaults in constructor arguments.
|
2019-03-04 11:41:52 +01:00 |
|
chriseth
|
83d1382e78
|
Take yul optimizer setting into account.
|
2019-03-04 11:40:28 +01:00 |
|
chriseth
|
1ff562d28a
|
Provide full optimiser settings to ContractCompiler.
|
2019-03-04 11:40:28 +01:00 |
|
chriseth
|
4d10f4b4cf
|
Process and validate standard-json optimizer settings.
|
2019-03-04 11:40:28 +01:00 |
|
Alex Beregszaszi
|
cf5c13f9c7
|
Introduce global optimiser settings.
|
2019-03-04 11:40:28 +01:00 |
|
chriseth
|
ab33ff1408
|
Merge pull request #6132 from ethereum/ossfuzz-nullref-typechecker
TypeChecker: Check if type exists before dereferencing it
|
2019-02-28 16:38:54 +01:00 |
|