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 |
|
Harikrishnan Mulackal
|
5241b7b761
|
Merge pull request #10684 from ethereum/fixIRWrappingExp
Use wrapping arithmetic for exp in unchecked blocks.
|
2021-01-06 18:53:54 +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 |
|
Djordje Mijovic
|
ddb05769a5
|
[Sol->Yul] Implementing type name.
|
2020-12-30 17:19:03 +01:00 |
|
chriseth
|
2ab83217e3
|
Use wrapping arithmetic for exp in unchecked blocks.
|
2020-12-22 16:49:55 +01:00 |
|
chriseth
|
b965446182
|
Catch panic.
|
2020-12-22 11:08:44 +01:00 |
|
Djordje Mijovic
|
2d5a2c65a8
|
[Sol->Yul] Implementing getters for bytes and structs containing bytes member.
Co-authored-by: chriseth <chris@ethereum.org>
|
2020-12-21 14:46:06 +01:00 |
|
chriseth
|
35908c602b
|
Modifiers for constructors.
|
2020-12-17 17:00:51 +01:00 |
|
chriseth
|
ccaa81fbe7
|
Implement function modifiers.
|
2020-12-17 17:00:51 +01:00 |
|
chriseth
|
baaf7c0db8
|
Implement address(...).code in the IR
|
2020-12-11 03:00:30 +00:00 |
|
Alex Beregszaszi
|
7cd05bf603
|
Introduce block.chainid
|
2020-12-10 17:07:54 +00:00 |
|
Alex Beregszaszi
|
ad6739d0f6
|
Support address().codehash
|
2020-12-09 14:58:27 +00:00 |
|
chriseth
|
806453aca9
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-12-08 21:00:09 +01:00 |
|
chriseth
|
e97ca0a777
|
Evaluate base arguments in derived to base order.
|
2020-12-08 20:27:06 +01:00 |
|
chriseth
|
a3c5d37d02
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-12-07 17:13:48 +01:00 |
|
Alex Beregszaszi
|
a8197788d0
|
Replace the inconsistent use of u160/Address/h160 with h160 only
|
2020-12-07 16:44:59 +01:00 |
|
Alex Beregszaszi
|
1e2bfbd6b2
|
Enable the -Wextra-semi warning
|
2020-12-04 17:21:19 +01:00 |
|
chriseth
|
9a5902f9d7
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-12-02 12:28:02 +01:00 |
|
Kamil Śliwak
|
630fcc3a1d
|
Define a comparator for InternalDispatchMap to ensure deterministic ordering of dispatch functions
|
2020-12-01 16:53:54 +01: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
|
6de7eaba95
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-12-01 10:50:13 +01:00 |
|
Mathias Baumann
|
f8e6f4a4eb
|
Use annotation.calledDirectly to simplify IR codegen
|
2020-11-30 18:54:42 +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 |
|
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 |
|
chriseth
|
18de8a56c9
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-11-26 11:48:53 +01:00 |
|
Djordje Mijovic
|
bae32ac402
|
[Sol->Yul] Implementing member access to arrays in calldata structs.
|
2020-11-26 11:46:31 +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 |
|
chriseth
|
cedb56ed81
|
Forward failure for creation.
|
2020-11-24 19:54:18 +01:00 |
|
chriseth
|
253889cbf1
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-11-24 16:22:03 +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
|
a0a02f2307
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-11-23 19:28:08 +01:00 |
|
chriseth
|
f87edb6efc
|
Bound functions.
|
2020-11-23 18:58:23 +01:00 |
|
chriseth
|
fda352094f
|
Allow fallback function to return data.
|
2020-11-23 14:22:37 +01: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
|
a7db4fa4a5
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-11-18 20:05:02 +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 |
|
chriseth
|
2665eaa4fa
|
Support .offset and .length for calldata bytes and string arrays.
|
2020-11-18 01:45:56 +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 |
|
chriseth
|
e8a278eefa
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-11-17 18:51:57 +01:00 |
|
chriseth
|
74ce8d6979
|
Fix assignment to non-lvalue storage values.
|
2020-11-17 15:56:34 +01:00 |
|
chriseth
|
14ed67ac4b
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-11-11 20:33:40 +01: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 |
|
hrkrshnn
|
9eafa1fa1a
|
Change type of super to TypeType
|
2020-11-10 15:38:21 +01:00 |
|
chriseth
|
04195439b7
|
Merge remote-tracking branch 'origin/develop' into HEAD
|
2020-11-09 14:28:05 +01:00 |
|
chriseth
|
1f3239d097
|
Simplify split parameter.
|
2020-11-03 14:34:18 +01:00 |
|
chriseth
|
5ffee049fa
|
Merge remote-tracking branch 'origin/develop' into breaking
|
2020-11-03 14:05:14 +01:00 |
|
chriseth
|
129b095b09
|
Implement internal functions in storage.
|
2020-11-02 23:10:03 +01:00 |
|
chriseth
|
f215042cf6
|
Fix style.
|
2020-10-29 17:35:55 +01:00 |
|
chriseth
|
0c12b2e53a
|
Bit operations for fixed bytes types.
|
2020-10-28 18:04:54 +01:00 |
|
chriseth
|
20f39ab6e9
|
Merge pull request #10097 from ethereum/develop
Merge develop into breaking.
|
2020-10-23 10:30:24 +02:00 |
|
chriseth
|
bfd267459c
|
Panic codes.
|
2020-10-22 19:25:55 +02:00 |
|
chriseth
|
bfc8e26007
|
Remove low-level log functions.
|
2020-10-22 17:50:14 +02:00 |
|
Mathias Baumann
|
a4dc110b38
|
Fix dependency tracking for abstract contracts for Yul codegen
|
2020-10-20 16:58:24 +02:00 |
|
chriseth
|
6979952995
|
Merge remote-tracking branch 'origin/develop' into HEAD
|
2020-10-19 18:02:50 +02:00 |
|
chriseth
|
527c073bb9
|
Checked arithmetic by default.
|
2020-10-19 16:58:37 +02:00 |
|
Daniel Kirchner
|
0dca223b45
|
Add another argument to setimmutable and the AssignImmutable opcode, allowing to modify code at any memory offset.
|
2020-10-15 18:14:41 +02:00 |
|
Daniel Kirchner
|
82876fd00e
|
Disable StackLimitEvader again until we have stronger correctness guarantees.
|
2020-10-15 16:16:41 +02:00 |
|
chriseth
|
979d3062bc
|
Merge pull request #10033 from ethereum/develop
Merge develop into breaking
|
2020-10-14 14:12:20 +02:00 |
|
chriseth
|
25b10b9643
|
Merge pull request #10028 from ethereum/useArrayLength
Use array length function.
|
2020-10-14 13:35:09 +02:00 |
|
chriseth
|
92a2cddbfa
|
Merge pull request #10024 from ethereum/outofBoundsGetter
Use revert for out-of-bounds array index access in getter.
|
2020-10-14 12:33:41 +02:00 |
|
chriseth
|
a737e51533
|
Use array length function.
|
2020-10-14 12:22:34 +02:00 |
|
chriseth
|
56d6855222
|
Merge pull request #9738 from ethereum/arrayCopyingSol2Yul
[Sol->Yul] Implementing copying of arrays to storage
|
2020-10-14 12:22:09 +02:00 |
|
Djordje Mijovic
|
850a94bdc9
|
[Sol->Yul] Implementing arrays copying to storage.
Co-authored-by: chriseth <chris@ethereum.org>
|
2020-10-13 20:31:08 +02:00 |
|
chriseth
|
5dc3a971cb
|
Use revert for out-of-bounds array index access in getter.
|
2020-10-13 18:57:41 +02:00 |
|
Mathias Baumann
|
006e5f2e1f
|
Allow path syntax for super constructor calls
|
2020-10-13 14:32:11 +02:00 |
|
chriseth
|
abfa136afb
|
Merge pull request #10012 from ethereum/extractSelectorFunction
Extract function to compute function selector from signature.
|
2020-10-12 20:32:05 +02:00 |
|
chriseth
|
4b342a7cad
|
Merge pull request #9816 from ethereum/exp-base-literals
[Sol->Yul] Optimization for exponentiation when the base is a literal
|
2020-10-12 19:34:38 +02:00 |
|
Harikrishnan Mulackal
|
418aa01c5b
|
Optimization for exponentiation when the base is a literal
|
2020-10-12 18:54:58 +02:00 |
|
chriseth
|
cb0d1134b7
|
Extract function to compute function selector from signature.
|
2020-10-12 17:57:34 +02:00 |
|
chriseth
|
b2be8e1c0f
|
Fix module member access.
|
2020-10-08 18:56:17 +02:00 |
|
chriseth
|
346fe1c6c5
|
Constants at file-level.
|
2020-10-08 18:56:17 +02:00 |
|
Harikrishnan Mulackal
|
fd02ccc68c
|
Implemented events with indexed function as parameter in Yul
|
2020-09-30 12:11:39 +02:00 |
|
chriseth
|
2037b7d6b8
|
Merge pull request #9820 from ethereum/new-annotation-field-virtual
Add annotation field ``requiresVirtualLookup``
|
2020-09-29 15:33:54 +02:00 |
|
Mathias Baumann
|
8584c98b6a
|
Add annotation field `requiresVirtualLookup `
|
2020-09-28 17:36:23 +02:00 |
|
chriseth
|
1e3596ec71
|
Use invalid opcode on internal errors.
|
2020-09-24 16:02:35 +02:00 |
|
Daniel Kirchner
|
976abf4715
|
Easy review fixes.
|
2020-09-17 22:13:27 +02:00 |
|
Daniel Kirchner
|
f4b42d1c72
|
Add stack limit evader.
|
2020-09-17 22:13:27 +02:00 |
|
chriseth
|
930646ba2b
|
Report locations of unimplemented features.
|
2020-09-15 14:41:46 +02:00 |
|
chriseth
|
b1ccf73511
|
Store current source location in Yul IR generation.
|
2020-09-15 14:41:46 +02:00 |
|
Alex Beregszaszi
|
9aa9962f71
|
Add ContractDefinition::interfaceId() helper
|
2020-09-14 20:34:52 +01:00 |
|
chriseth
|
3a48be546d
|
Merge pull request #9602 from ethereum/structMemToStorageSol2Yul
[Sol->Yul] Implementing various copying of structs
|
2020-09-02 13:50:46 +02:00 |
|
Djordje Mijovic
|
1fab5b79fb
|
Refactoring signature for updateStorageValueFunction
|
2020-09-02 12:28:53 +02:00 |
|
Djordje Mijovic
|
b89c863e11
|
[Sol->Yul] Implementing struct copying from memory to storage
|
2020-09-02 12:28:53 +02:00 |
|
chriseth
|
8f34ac472f
|
Implement `super `.
|
2020-09-02 11:00:42 +02:00 |
|
Djordje Mijovic
|
d99b81ef02
|
[Sol->Yul] Enabling storage pointers to local vars in inline assembly.
|
2020-08-26 10:25:42 +02:00 |
|
chriseth
|
c34e349572
|
Implement checked exponentiation.
|
2020-08-18 12:42:53 +02:00 |
|
Jason Cobb
|
888d7037cd
|
Make FunctionCallAnnotation::kind a SetOnce
|
2020-08-12 11:57:01 -04:00 |
|
chriseth
|
147a80aa24
|
Rename external function slot to selector.
|
2020-07-23 14:19:15 +02:00 |
|
Djordje Mijovic
|
546e9af24d
|
[Sol->Yul] Supporting .runtimeCode
|
2020-07-21 17:56:37 +02:00 |
|
chriseth
|
50a54fa8aa
|
Implement inline arrays.
|
2020-07-20 17:06:32 +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 |
|
chriseth
|
0a0f578d7c
|
Evaluate keccak256 of string literals at compile-time.
|
2020-07-08 16:14:14 +02:00 |
|
Mathias Baumann
|
50373ac1b0
|
Yul: Implement memory struct allocation
|
2020-07-02 16:37:20 +02:00 |
|
chriseth
|
d4e3491f35
|
Merge pull request #9177 from ethereum/fixYulStructMemberAccess
[Sol -> Yul] Fix struct member access for memory and implement for calldata.
|
2020-06-11 09:41:04 +02:00 |
|
Daniel Kirchner
|
90b66a7362
|
Fix struct member access for memory and implement for calldata.
|
2020-06-10 20:01:30 +02:00 |
|
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 |
|
chriseth
|
2724ce9511
|
Index access to fixed bytes and byte arrays.
|
2020-06-09 10:50:28 +02:00 |
|
chriseth
|
e7f3c042b6
|
Struct member access for storage and memory.
|
2020-06-03 10:37:39 +02:00 |
|
chriseth
|
37e8d78cff
|
[Sol->Yul] Implement getters.
|
2020-06-03 10:33:37 +02:00 |
|
chriseth
|
0aa3fb5026
|
Merge pull request #9014 from ethereum/sol-yul-abidecode
[Sol - Yul] Add support for ABIDecode.
|
2020-05-27 11:44:13 +02:00 |
|
Kamil Śliwak
|
f574d8ec3a
|
Don't assume that an expression cannot be associated with a function declaration
|
2020-05-27 00:05:18 +02:00 |
|
Alexander Arlt
|
118cb13476
|
[Sol - Yul] Add support for ABIDecode.
|
2020-05-26 13:30:37 -05:00 |
|
Kamil Śliwak
|
1a2e441bc5
|
Generate internal dispatch only for functions that might actually get called via pointers
- This also adds support for internal library calls as a side-effect since they'll now be pulled into the internal dispatch automatically.
|
2020-05-26 17:01:50 +02:00 |
|
Kamil Śliwak
|
2716b5ff83
|
Replace conditionally empty whiskers variables for punctuation with <?+> syntax in IRGenerator::generateInternalDispatchFunctions()
|
2020-05-26 16:33:40 +02:00 |
|
Kamil Śliwak
|
4a2ce57bed
|
Add support for bound function calls in IR generator
|
2020-05-20 21:10:20 +02:00 |
|
Kamil Śliwak
|
a68b4ab7ed
|
IRGeneratorForStatements: Slightly reorganize local variables in endVisit(MemberAccess)
- Add memberFunctionType accessible in the whole function to avoid declaring it multiple times
- Add objectCategory
|
2020-05-20 21:09:27 +02:00 |
|
Kamil Śliwak
|
87c598863f
|
IRGeneratorForStatements: Remove unnecessary code for handling internal functions with arbitrary parameters
- Internal functions cannot have arbitrary parameters
|
2020-05-20 21:08:59 +02:00 |
|
Kamil Śliwak
|
0943333276
|
Simplify endVisit() for internal calls
- Define IRHelpers::referencedFunctionDeclaration() to avoid repeating the same dynamic_casts over and over again.
|
2020-05-20 21:07:37 +02:00 |
|
Kamil Śliwak
|
6c6a8a74e8
|
IRGenerationContext: Extract code for enumerating dispatchable functions from generateInternalDispatch() into a separate function
|
2020-05-20 13:16:08 +02:00 |
|
Kamil Śliwak
|
bd75543900
|
Add IRNames::internalDispatch() and use it in IRGenerationContext
|
2020-05-20 12:48:49 +02:00 |
|
Kamil Śliwak
|
22c0568d34
|
IRGenerationContext::internalDispatch(): Remove unused local YulUtilFunctions instance
|
2020-05-20 12:46:32 +02:00 |
|
Kamil Śliwak
|
7d2292fbaf
|
Rename IRGenerationContext::internalDispatch() to generateInternalDispatchFunction()
|
2020-05-20 12:46:31 +02:00 |
|
Kamil Śliwak
|
1a521cc7ac
|
Use YulArity in IR generator
|
2020-05-19 23:03:21 +02:00 |
|
Kamil Śliwak
|
16e58449ab
|
ir/Common: Add YulArity struct
|
2020-05-19 23:03:15 +02:00 |
|
Kamil Śliwak
|
b0ae85b6b0
|
IRGenerationContext::internalDispatch(): Don't use asCallableFunction() to get internal function type
|
2020-05-19 18:00:50 +02:00 |
|
Djordje Mijovic
|
d235d0c166
|
[Sol->Yul] Implementing Byte array push() and pop()
|
2020-05-19 14:47:00 +02:00 |
|
Kamil Śliwak
|
465e4d4088
|
Extract more functions for generating function and variable names into IRNames
|
2020-05-15 14:51:00 +02:00 |
|
Kamil Śliwak
|
7af7273b60
|
Move static functions for constructing names from IRGenerationContext into the new Common module
|
2020-05-14 19:48:00 +02:00 |
|
Alexander Arlt
|
91e9d54c71
|
[Sol - Yul] Add support for ripemd160 & ecrecover.
|
2020-05-14 10:44:39 -05:00 |
|
Daniel Kirchner
|
c2f5a66a79
|
Implement .creationCode for Sol->Yul.
|
2020-05-11 18:51:51 +02:00 |
|
chriseth
|
c0bf529236
|
Support bare calls.
|
2020-05-11 15:11:46 +02:00 |
|
chriseth
|
0248303c15
|
Merge pull request #8872 from ethereum/int-min-max
implemented type(X).min and type(X).max for all integer types
|
2020-05-11 15:08:19 +02:00 |
|
Harikrishnan Mulackal
|
e54c4eecfc
|
implemented type(X).min and type(X).max for all integer types
|
2020-05-11 14:51:13 +05:30 |
|
chriseth
|
a0e291bd06
|
Implement Yul IR generation for abi.encode*
|
2020-05-07 19:39:15 +02:00 |
|
chriseth
|
d0b82fe854
|
Merge pull request #8869 from ethereum/useSlotes
Use vector of slots.
|
2020-05-07 19:03:59 +02:00 |
|
chriseth
|
75ca072ae6
|
Assertion about getters for non-value type immutables.
|
2020-05-07 18:18:40 +02:00 |
|
chriseth
|
f38cf85482
|
Use vector of slots.
|
2020-05-07 17:54:04 +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 |
|
Alex Beregszaszi
|
327c75bc1b
|
IR generation for shifts
|
2020-05-06 19:14:23 +02:00 |
|
chriseth
|
76275cf34a
|
Merge pull request #8824 from ethereum/solYulDirtyMemory
Fix accessing memory reference types in yul codegen and clean up on memory reads.
|
2020-05-06 16:17:19 +02:00 |
|
Daniel Kirchner
|
234ffcf278
|
Merge pull request #8718 from ethereum/irConstants
IR generation for constants.
|
2020-05-06 16:05:17 +02:00 |
|
Daniel Kirchner
|
c25a3eba14
|
Fix accessing memory reference types in yul codegen and clean up on memory reads.
|
2020-05-06 11:34:11 +02:00 |
|
chriseth
|
02c20698c9
|
IR generation for constants.
|
2020-05-05 17:07:55 +02:00 |
|
Daniel Kirchner
|
7ad319687d
|
Sol->Yul: Add cleanup to operations.
|
2020-05-05 13:06:01 +02:00 |
|
Djordje Mijovic
|
e8f6f63e77
|
[Sol2Yul] Adding support for builtin revert(string)
|
2020-05-05 07:05:39 +02:00 |
|
Djordje Mijovic
|
cf607aa887
|
[Sol->Yul] Checking if there is base contract when calling base constructror via modifier invocation.
|
2020-05-04 20:38:22 +02:00 |
|
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 |
|