File tree Expand file tree Collapse file tree 3 files changed +17
-13
lines changed Expand file tree Collapse file tree 3 files changed +17
-13
lines changed Original file line number Diff line number Diff line change @@ -15,7 +15,7 @@ arguments to be stored in the transaction's log - a special data structure
15
15
in the blockchain. These logs are associated with the address of the contract that emitted them,
16
16
are incorporated into the blockchain, and stay there as long as a block is
17
17
accessible (forever as of now, but this might
18
- change with Serenity ). The Log and its event data is not accessible from within
18
+ change in the future ). The Log and its event data is not accessible from within
19
19
contracts (not even from the contract that created them).
20
20
21
21
It is possible to request a Merkle proof for logs, so if
Original file line number Diff line number Diff line change @@ -590,9 +590,11 @@ One area where inheritance linearization is especially important and perhaps not
590
590
Inheriting Different Kinds of Members of the Same Name
591
591
======================================================
592
592
593
- It is an error when any of the following pairs in a contract have the same name due to inheritance:
594
- - a function and a modifier
595
- - a function and an event
596
- - an event and a modifier
597
-
598
- As an exception, a state variable getter can override an external function.
593
+ The only situations where, due to inheritance, a contract may contain multiple definitions sharing
594
+ the same name are:
595
+
596
+ - Overloading of functions.
597
+ - Overriding of virtual functions.
598
+ - Overriding of external virtual functions by state variable getters.
599
+ - Overriding of virtual modifiers.
600
+ - Overloading of events.
Original file line number Diff line number Diff line change 233
233
bytes32[] options
234
234
);
235
235
236
- LongAndLotsOfArgs(
236
+ emit LongAndLotsOfArgs(
237
237
sender,
238
238
recipient,
239
239
publicKey,
251
251
uint256 amount,
252
252
bytes32[] options);
253
253
254
- LongAndLotsOfArgs(sender,
254
+ emit LongAndLotsOfArgs(sender,
255
255
recipient,
256
256
publicKey,
257
257
amount,
@@ -1045,13 +1045,15 @@ No:
1045
1045
Order of Layout
1046
1046
***************
1047
1047
1048
- Layout contract elements in the following order:
1048
+ Contract elements should be laid out in the following order:
1049
1049
1050
1050
1. Pragma statements
1051
1051
2. Import statements
1052
- 3. Interfaces
1053
- 4. Libraries
1054
- 5. Contracts
1052
+ 3. Events
1053
+ 4. Errors
1054
+ 5. Interfaces
1055
+ 6. Libraries
1056
+ 7. Contracts
1055
1057
1056
1058
Inside each contract, library or interface, use the following order:
1057
1059
You can’t perform that action at this time.
0 commit comments