Matheus Aguiar
33ea6a679d
Fixed bug that added a superfluous empty slot for data when encoding an empty string coming from storage.
...
Added tests covering empty string, uninitialized string, emptry string literal, byte arrays and explicit call to `abi.encode`.
2022-05-18 14:50:26 -03:00
Daniel Kirchner
d3a837b340
Bugfix.
2022-05-11 18:17:47 +02:00
nishant-sachdeva
9043621747
Changed occurences of isByteArray() to isByteArrayOrString(). The idea
...
is to, in a future commit, replace such occurences of
isByteArrayOrString() which are required to return True only for Bytes
type with a new isByteArray() function.
2022-02-02 14:19:58 +05:30
Daniel Kirchner
d1c0b428fc
Improve abi decoding functions for arrays.
2021-09-15 13:50:19 +02:00
chriseth
62355aead3
Respect memory model for revert.
2021-05-03 18:23:41 +02:00
chriseth
72d0a56a72
Fix array decoding offset overflow.
2021-04-12 13:43:51 +02:00
chriseth
32b8332867
Refactor array decoding.
2021-04-12 13:43:51 +02:00
Mathias Baumann
e197ebbdd1
Replace TypePointer
with Type const*
2021-03-23 11:47:19 +01: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
Alexander Arlt
061fecbc90
[whiskers] Add check that template contain tags.
2021-01-20 15:26:34 -05:00
chriseth
1fcc76a562
Fix empty packed encoder.
2021-01-19 15:50:04 +01:00
chriseth
994fdb7517
Determine encoding type earlier.
2021-01-11 11:57:22 +01:00
Djordje Mijovic
047d693ac9
Refactoring copyLiteralToMemoryFunction and reusing it from other functions.
...
Co-authored-by: Leonardo <leo@ethereum.org>
Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>
2020-12-30 17:31:20 +01:00
chriseth
a3c5d37d02
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-07 17:13:48 +01:00
chriseth
251f722919
Group decoding function cases.
2020-12-07 14:14:54 +01:00
chriseth
a0a02f2307
Merge remote-tracking branch 'origin/develop' into breaking
2020-11-23 19:28:08 +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
Djordje Mijovic
4bff99a518
Adding additional abi decoding functions for arrays.
...
Co-authored-by: chriseth <chris@ethereum.org>
2020-11-23 14:52:51 +01:00
chriseth
d744a8fb48
Fail on invalid storage encoding for byte arrays.
2020-11-12 11:12:42 +01:00
chriseth
1f3239d097
Simplify split parameter.
2020-11-03 14:34:18 +01:00
chriseth
9be5ed1220
Merge remote-tracking branch 'origin/develop' into breaking
2020-07-21 11:35:28 +02:00
Sachin Grover
b7adb2aa42
Add SPDX license identifier if not present already in source file
...
Fixes : #9220
2020-07-17 20:24:12 +05:30
Harikrishnan Mulackal
d41eaeba56
Added containsNestedMapping()
2020-06-30 16:15:03 +05:30
Djordje Mijovic
c6e4943089
Adding fixes for signedness warnings in libsolidity
...
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2020-06-10 10:41:55 +02:00
Daniel Kirchner
97296d8622
Allow ABI encoding for array slices without explicit casts.
2020-05-13 18:20:07 +02:00
chriseth
f42dc70c9f
Merge pull request #8863 from ethereum/nonReversedEncoder
...
Introduce non-reversed version of tupleEncoder.
2020-05-07 15:47:32 +02:00
chriseth
e986fde0c1
Introduce non-reversed version of tupleEncoder.
2020-05-07 15:08:09 +02:00
chriseth
6fb112fa8e
Remove some unneeded headers.
2020-05-07 01:49:46 +02:00
Alexander Arlt
90bb1d8a7c
Apply modernize-use-emplace.
2020-04-02 17:35:48 -05:00
Daniel Kirchner
857ed12b05
Use plain members and references instead of shared pointers for MultiUseYulFunctionCollector
2020-03-04 16:16:34 +01:00
Daniel Kirchner
24d6e6295e
Reuse the mechanism for abi functions and move tracking of used functions to CompilerContext
2020-03-03 15:11:18 +01:00
Daniel Kirchner
90fa56c719
Allow use of yul util functions in legacy code generation.
2020-03-02 16:32:30 +01:00
Leonardo Alt
36928c7a35
Add reason string for internal reverts
2020-02-10 11:57:20 -03:00
Christian Parpart
345f9928ab
Library libdevcore renamed to libsolutil.
2020-01-07 15:51:50 +01:00
Christian Parpart
6b23412fae
C++ namespace cleanup (except tests).
2020-01-07 15:51:50 +01:00
Leonardo Alt
ce83bfb088
[Yul] Format string literals back to quoted string literals
2019-11-26 15:28:39 +01:00
mingchuan
15631a7fbe
Split calldataEncodedSize into calldataEncodedSize, calldataEncodedTailSize and calldataHeadSize and fix all usages.
2019-08-08 15:52:21 +02:00
djudjuu
cafa01cbf6
moved SuffixHelper to StringUtils
2019-07-09 13:50:07 +02:00
mingchuan
492f945973
Coding style fix
2019-06-19 17:26:34 +08:00
chriseth
31b7037749
Move storage access functions to utils.
2019-05-02 12:11:41 +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
bf43eebea9
libsolidity: Introducing TypeProvider API, for clear type system ownership.
2019-04-16 18:26:45 +02:00
Mathias Baumann
b4380a2137
Move convert functions to Yul module
2019-04-09 15:31:46 +02:00
Daniel Kirchner
91a2a9a9c3
Implement ABI encoding of calldata arrays and structs.
2019-04-04 13:05:32 +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
chriseth
a1fe2562c4
Move suffixedVariableNameList to utils.
2019-03-27 17:14:17 +01:00
chriseth
6b69c31703
Fix ABIEncoderV2 array overwrite bug.
2019-03-25 18:28:43 +01:00