ethspecify 0.1.0__py3-none-any.whl → 0.1.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of ethspecify might be problematic. Click here for more details.
- {ethspecify-0.1.0.dist-info → ethspecify-0.1.1.dist-info}/METADATA +24 -64
- ethspecify-0.1.1.dist-info/RECORD +9 -0
- ethspecify-0.1.0.dist-info/RECORD +0 -9
- {ethspecify-0.1.0.dist-info → ethspecify-0.1.1.dist-info}/LICENSE +0 -0
- {ethspecify-0.1.0.dist-info → ethspecify-0.1.1.dist-info}/WHEEL +0 -0
- {ethspecify-0.1.0.dist-info → ethspecify-0.1.1.dist-info}/entry_points.txt +0 -0
- {ethspecify-0.1.0.dist-info → ethspecify-0.1.1.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: ethspecify
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.1
|
|
4
4
|
Summary: A utility for processing Ethereum specification tags.
|
|
5
5
|
Home-page: https://github.com/jtraglia/ethspecify
|
|
6
6
|
Author: Justin Traglia
|
|
@@ -33,81 +33,44 @@ When that happens, they can update the implementations appropriately.
|
|
|
33
33
|
|
|
34
34
|
## Getting Started
|
|
35
35
|
|
|
36
|
-
### Adding Spec Tags
|
|
37
|
-
|
|
38
|
-
In your client, add an HTML tag like this:
|
|
39
|
-
|
|
40
|
-
```
|
|
41
|
-
/*
|
|
42
|
-
* <spec fn="is_fully_withdrawable_validator" fork="deneb">
|
|
43
|
-
*/
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
This supports all languages and comment styles. It preserves indentation, so something like this
|
|
47
|
-
would also work:
|
|
48
|
-
|
|
49
|
-
```
|
|
50
|
-
/// <spec fn="is_fully_withdrawable_validator" fork="deneb">
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
After the script is finished executing, a new `hash` field will exist in the tag. This tag is used
|
|
54
|
-
to tell if the specification changed, without having to include the specification content.
|
|
55
|
-
|
|
56
|
-
```
|
|
57
|
-
/// <spec fn="is_fully_withdrawable_validator" fork="deneb" hash="e936da25" />
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
> [!NOTE]
|
|
61
|
-
> Closing tags will be added automatically. For `style="hash"` tags, a self-closing tag is used for
|
|
62
|
-
> conciseness. For `style="full"` and `style="diff"` tags, a paired closing tag must be used.
|
|
63
|
-
|
|
64
36
|
### Installation
|
|
65
37
|
|
|
66
|
-
#### Install with Pip
|
|
67
|
-
|
|
68
38
|
```
|
|
69
39
|
python3 -mpip install ethspecify
|
|
70
40
|
```
|
|
71
41
|
|
|
72
|
-
|
|
42
|
+
### Adding Spec Tags
|
|
73
43
|
|
|
74
|
-
|
|
44
|
+
In your client, add HTML tags like this:
|
|
75
45
|
|
|
76
46
|
```
|
|
77
|
-
|
|
78
|
-
|
|
47
|
+
/*
|
|
48
|
+
* <spec fn="is_fully_withdrawable_validator" fork="deneb">
|
|
49
|
+
*/
|
|
79
50
|
```
|
|
80
51
|
|
|
81
|
-
|
|
52
|
+
### Populate Spec Tags
|
|
82
53
|
|
|
83
|
-
|
|
84
|
-
python3 -mpip install .
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
Then, change directory to the source source directory and run `ethspecify`.
|
|
54
|
+
Then, navigate to your codebase and run `ethspecify`:
|
|
88
55
|
|
|
89
56
|
```
|
|
90
|
-
|
|
91
|
-
Processing file: /Users/user/Projects/client/src/file.ext
|
|
92
|
-
spec tag: {'custom_type': 'Blob', 'fork': 'electra'}
|
|
93
|
-
spec tag: {'dataclass': 'PayloadAttributes', 'fork': 'electra'}
|
|
94
|
-
spec tag: {'ssz_object': 'ConsolidationRequest', 'fork': 'electra'}
|
|
57
|
+
ethspecify
|
|
95
58
|
```
|
|
96
59
|
|
|
97
|
-
|
|
60
|
+
## Specification Options
|
|
98
61
|
|
|
99
|
-
|
|
62
|
+
### Fork
|
|
100
63
|
|
|
101
64
|
This attribute can be any of the [executable
|
|
102
65
|
specifications](https://github.com/ethereum/consensus-specs/blob/e6bddd966214a19d2b97199bbe3c02577a22a8b4/Makefile#L3-L15)
|
|
103
66
|
in the consensus-specs. At the time of writing, these are: phase0, altair, bellatrix, capella,
|
|
104
67
|
deneb, electra, fulu, whisk, eip6800, and eip7732.
|
|
105
68
|
|
|
106
|
-
|
|
69
|
+
### Style
|
|
107
70
|
|
|
108
71
|
This attribute can be used to change how the specification content is shown.
|
|
109
72
|
|
|
110
|
-
|
|
73
|
+
#### `hash` (default)
|
|
111
74
|
|
|
112
75
|
This style adds a hash of the specification content to the spec tag, without showing the content.
|
|
113
76
|
|
|
@@ -120,7 +83,7 @@ This style adds a hash of the specification content to the spec tag, without sho
|
|
|
120
83
|
> [!NOTE]
|
|
121
84
|
> The hash is the first 8 characters of the specification content's SHA256 digest.
|
|
122
85
|
|
|
123
|
-
|
|
86
|
+
#### `full`
|
|
124
87
|
|
|
125
88
|
This style displays the whole content of this specification item, including comments.
|
|
126
89
|
|
|
@@ -140,10 +103,7 @@ This style displays the whole content of this specification item, including comm
|
|
|
140
103
|
*/
|
|
141
104
|
```
|
|
142
105
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
> [!WARNING]
|
|
146
|
-
> This feature is a work-in-progress.
|
|
106
|
+
#### `link`
|
|
147
107
|
|
|
148
108
|
This style displays a GitHub link to the specification item.
|
|
149
109
|
|
|
@@ -155,7 +115,7 @@ This style displays a GitHub link to the specification item.
|
|
|
155
115
|
*/
|
|
156
116
|
```
|
|
157
117
|
|
|
158
|
-
|
|
118
|
+
#### `diff`
|
|
159
119
|
|
|
160
120
|
This style displays a diff with the previous fork's version of the specification.
|
|
161
121
|
|
|
@@ -203,9 +163,9 @@ This can be used with any specification item, like functions too:
|
|
|
203
163
|
*/
|
|
204
164
|
```
|
|
205
165
|
|
|
206
|
-
|
|
166
|
+
## Supported Specification Items
|
|
207
167
|
|
|
208
|
-
|
|
168
|
+
### Constants
|
|
209
169
|
|
|
210
170
|
These are items found in the `Constants` section of the specifications.
|
|
211
171
|
|
|
@@ -217,7 +177,7 @@ These are items found in the `Constants` section of the specifications.
|
|
|
217
177
|
*/
|
|
218
178
|
```
|
|
219
179
|
|
|
220
|
-
|
|
180
|
+
### Custom Types
|
|
221
181
|
|
|
222
182
|
These are items found in the `Custom types` section of the specifications.
|
|
223
183
|
|
|
@@ -229,7 +189,7 @@ These are items found in the `Custom types` section of the specifications.
|
|
|
229
189
|
*/
|
|
230
190
|
```
|
|
231
191
|
|
|
232
|
-
|
|
192
|
+
### Preset Variables
|
|
233
193
|
|
|
234
194
|
These are items found in the
|
|
235
195
|
[`presets`](https://github.com/ethereum/consensus-specs/tree/dev/presets) directory.
|
|
@@ -259,7 +219,7 @@ It's not strictly necessary to specify the preset attribute. The default preset
|
|
|
259
219
|
*/
|
|
260
220
|
```
|
|
261
221
|
|
|
262
|
-
|
|
222
|
+
### Config Variables
|
|
263
223
|
|
|
264
224
|
These are items found in the
|
|
265
225
|
[`configs`](https://github.com/ethereum/consensus-specs/tree/dev/presets) directory.
|
|
@@ -272,7 +232,7 @@ These are items found in the
|
|
|
272
232
|
*/
|
|
273
233
|
```
|
|
274
234
|
|
|
275
|
-
|
|
235
|
+
### SSZ Objects
|
|
276
236
|
|
|
277
237
|
These are items found in the `Containers` section of the specifications.
|
|
278
238
|
|
|
@@ -287,7 +247,7 @@ These are items found in the `Containers` section of the specifications.
|
|
|
287
247
|
*/
|
|
288
248
|
```
|
|
289
249
|
|
|
290
|
-
|
|
250
|
+
### Dataclasses
|
|
291
251
|
|
|
292
252
|
These are classes with the `@dataclass` decorator.
|
|
293
253
|
|
|
@@ -304,7 +264,7 @@ These are classes with the `@dataclass` decorator.
|
|
|
304
264
|
*/
|
|
305
265
|
```
|
|
306
266
|
|
|
307
|
-
|
|
267
|
+
### Functions
|
|
308
268
|
|
|
309
269
|
These are all the functions found in the specifications.
|
|
310
270
|
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
ethspecify/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
+
ethspecify/cli.py,sha256=EFjH1ioHibDG1U-6XiozQ2aT2j-GyaWhUJJ-QMALrLc,925
|
|
3
|
+
ethspecify/core.py,sha256=sxmTdXCQIpaAjebMG0NE-7mTf4m0NG_J9IjgGlmOTVk,12064
|
|
4
|
+
ethspecify-0.1.1.dist-info/LICENSE,sha256=Awxsr73mm9YMBVhBYnzeI7bNdRd-bH6RDtO5ItG0DaM,1071
|
|
5
|
+
ethspecify-0.1.1.dist-info/METADATA,sha256=WfBBcZ6NDCt_z0JKDGp66mFvGmjv7UiMB3fhmE_5XYA,8705
|
|
6
|
+
ethspecify-0.1.1.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
|
7
|
+
ethspecify-0.1.1.dist-info/entry_points.txt,sha256=09viGkCg9J3h0c9BFRN-BKaJUEaIc4JyULNgBP5EL_g,51
|
|
8
|
+
ethspecify-0.1.1.dist-info/top_level.txt,sha256=0klaMvlVyOkXW09fwZTijJpdybITEp2c9zQKV5v30VM,11
|
|
9
|
+
ethspecify-0.1.1.dist-info/RECORD,,
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
ethspecify/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
ethspecify/cli.py,sha256=EFjH1ioHibDG1U-6XiozQ2aT2j-GyaWhUJJ-QMALrLc,925
|
|
3
|
-
ethspecify/core.py,sha256=sxmTdXCQIpaAjebMG0NE-7mTf4m0NG_J9IjgGlmOTVk,12064
|
|
4
|
-
ethspecify-0.1.0.dist-info/LICENSE,sha256=Awxsr73mm9YMBVhBYnzeI7bNdRd-bH6RDtO5ItG0DaM,1071
|
|
5
|
-
ethspecify-0.1.0.dist-info/METADATA,sha256=-ot8oXPC7HfNHVD6_ZCcwn7oZJ6EHN5bJeQL9ERByDg,9965
|
|
6
|
-
ethspecify-0.1.0.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
|
7
|
-
ethspecify-0.1.0.dist-info/entry_points.txt,sha256=09viGkCg9J3h0c9BFRN-BKaJUEaIc4JyULNgBP5EL_g,51
|
|
8
|
-
ethspecify-0.1.0.dist-info/top_level.txt,sha256=0klaMvlVyOkXW09fwZTijJpdybITEp2c9zQKV5v30VM,11
|
|
9
|
-
ethspecify-0.1.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|