ethereum-execution 1.17.0.dev1__tar.gz

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.
Files changed (767) hide show
  1. ethereum_execution-1.17.0.dev1/LICENSE.md +35 -0
  2. ethereum_execution-1.17.0.dev1/PKG-INFO +117 -0
  3. ethereum_execution-1.17.0.dev1/README.md +70 -0
  4. ethereum_execution-1.17.0.dev1/pyproject.toml +89 -0
  5. ethereum_execution-1.17.0.dev1/setup.cfg +215 -0
  6. ethereum_execution-1.17.0.dev1/setup.py +3 -0
  7. ethereum_execution-1.17.0.dev1/src/ethereum/__init__.py +27 -0
  8. ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/__init__.py +8 -0
  9. ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/blocks.py +111 -0
  10. ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/bloom.py +85 -0
  11. ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/exceptions.py +24 -0
  12. ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/fork.py +946 -0
  13. ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/fork_types.py +63 -0
  14. ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/state.py +650 -0
  15. ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/transactions.py +419 -0
  16. ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/trie.py +491 -0
  17. ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/utils/__init__.py +3 -0
  18. ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/utils/address.py +93 -0
  19. ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/utils/hexadecimal.py +68 -0
  20. ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/utils/message.py +89 -0
  21. ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/__init__.py +192 -0
  22. ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/exceptions.py +132 -0
  23. ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/gas.py +240 -0
  24. ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/instructions/__init__.py +354 -0
  25. ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/instructions/arithmetic.py +373 -0
  26. ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/instructions/bitwise.py +240 -0
  27. ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/instructions/block.py +213 -0
  28. ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/instructions/comparison.py +178 -0
  29. ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/instructions/control_flow.py +171 -0
  30. ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/instructions/environment.py +541 -0
  31. ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/instructions/keccak.py +64 -0
  32. ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/instructions/log.py +88 -0
  33. ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/instructions/memory.py +141 -0
  34. ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/instructions/stack.py +205 -0
  35. ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/instructions/storage.py +126 -0
  36. ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/instructions/system.py +687 -0
  37. ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/interpreter.py +315 -0
  38. ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/memory.py +81 -0
  39. ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/precompiled_contracts/__init__.py +38 -0
  40. ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/precompiled_contracts/alt_bn128.py +227 -0
  41. ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/precompiled_contracts/blake2f.py +41 -0
  42. ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/precompiled_contracts/ecrecover.py +63 -0
  43. ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/precompiled_contracts/identity.py +38 -0
  44. ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/precompiled_contracts/mapping.py +46 -0
  45. ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/precompiled_contracts/modexp.py +169 -0
  46. ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/precompiled_contracts/ripemd160.py +43 -0
  47. ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/precompiled_contracts/sha256.py +40 -0
  48. ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/runtime.py +67 -0
  49. ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/stack.py +59 -0
  50. ethereum_execution-1.17.0.dev1/src/ethereum/assets/blocks/block_1.json +22 -0
  51. ethereum_execution-1.17.0.dev1/src/ethereum/assets/blocks/block_1234567.json +22 -0
  52. ethereum_execution-1.17.0.dev1/src/ethereum/assets/blocks/block_12964999.json +2720 -0
  53. ethereum_execution-1.17.0.dev1/src/ethereum/assets/cache_sizes_2048_epochs.json +329 -0
  54. ethereum_execution-1.17.0.dev1/src/ethereum/assets/dataset_sizes_2048_epochs.json +412 -0
  55. ethereum_execution-1.17.0.dev1/src/ethereum/assets/mainnet.json +26711 -0
  56. ethereum_execution-1.17.0.dev1/src/ethereum/berlin/__init__.py +9 -0
  57. ethereum_execution-1.17.0.dev1/src/ethereum/berlin/blocks.py +103 -0
  58. ethereum_execution-1.17.0.dev1/src/ethereum/berlin/bloom.py +85 -0
  59. ethereum_execution-1.17.0.dev1/src/ethereum/berlin/exceptions.py +24 -0
  60. ethereum_execution-1.17.0.dev1/src/ethereum/berlin/fork.py +845 -0
  61. ethereum_execution-1.17.0.dev1/src/ethereum/berlin/fork_types.py +63 -0
  62. ethereum_execution-1.17.0.dev1/src/ethereum/berlin/state.py +650 -0
  63. ethereum_execution-1.17.0.dev1/src/ethereum/berlin/transactions.py +353 -0
  64. ethereum_execution-1.17.0.dev1/src/ethereum/berlin/trie.py +491 -0
  65. ethereum_execution-1.17.0.dev1/src/ethereum/berlin/utils/__init__.py +3 -0
  66. ethereum_execution-1.17.0.dev1/src/ethereum/berlin/utils/address.py +93 -0
  67. ethereum_execution-1.17.0.dev1/src/ethereum/berlin/utils/hexadecimal.py +68 -0
  68. ethereum_execution-1.17.0.dev1/src/ethereum/berlin/utils/message.py +89 -0
  69. ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/__init__.py +191 -0
  70. ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/exceptions.py +124 -0
  71. ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/gas.py +241 -0
  72. ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/instructions/__init__.py +352 -0
  73. ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/instructions/arithmetic.py +373 -0
  74. ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/instructions/bitwise.py +240 -0
  75. ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/instructions/block.py +213 -0
  76. ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/instructions/comparison.py +178 -0
  77. ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/instructions/control_flow.py +171 -0
  78. ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/instructions/environment.py +518 -0
  79. ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/instructions/keccak.py +64 -0
  80. ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/instructions/log.py +88 -0
  81. ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/instructions/memory.py +141 -0
  82. ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/instructions/stack.py +205 -0
  83. ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/instructions/storage.py +126 -0
  84. ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/instructions/system.py +699 -0
  85. ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/interpreter.py +311 -0
  86. ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/memory.py +81 -0
  87. ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/precompiled_contracts/__init__.py +38 -0
  88. ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/precompiled_contracts/alt_bn128.py +227 -0
  89. ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/precompiled_contracts/blake2f.py +41 -0
  90. ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/precompiled_contracts/ecrecover.py +63 -0
  91. ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/precompiled_contracts/identity.py +38 -0
  92. ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/precompiled_contracts/mapping.py +46 -0
  93. ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/precompiled_contracts/modexp.py +169 -0
  94. ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/precompiled_contracts/ripemd160.py +43 -0
  95. ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/precompiled_contracts/sha256.py +40 -0
  96. ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/runtime.py +67 -0
  97. ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/stack.py +59 -0
  98. ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/__init__.py +9 -0
  99. ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/blocks.py +81 -0
  100. ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/bloom.py +85 -0
  101. ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/fork.py +822 -0
  102. ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/fork_types.py +62 -0
  103. ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/state.py +591 -0
  104. ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/transactions.py +237 -0
  105. ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/trie.py +491 -0
  106. ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/utils/__init__.py +3 -0
  107. ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/utils/address.py +63 -0
  108. ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/utils/hexadecimal.py +68 -0
  109. ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/utils/message.py +79 -0
  110. ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/__init__.py +183 -0
  111. ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/exceptions.py +124 -0
  112. ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/gas.py +240 -0
  113. ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/instructions/__init__.py +338 -0
  114. ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/instructions/arithmetic.py +373 -0
  115. ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/instructions/bitwise.py +154 -0
  116. ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/instructions/block.py +190 -0
  117. ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/instructions/comparison.py +178 -0
  118. ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/instructions/control_flow.py +171 -0
  119. ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/instructions/environment.py +435 -0
  120. ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/instructions/keccak.py +64 -0
  121. ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/instructions/log.py +88 -0
  122. ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/instructions/memory.py +141 -0
  123. ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/instructions/stack.py +205 -0
  124. ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/instructions/storage.py +89 -0
  125. ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/instructions/system.py +594 -0
  126. ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/interpreter.py +302 -0
  127. ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/memory.py +81 -0
  128. ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/precompiled_contracts/__init__.py +37 -0
  129. ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/precompiled_contracts/alt_bn128.py +227 -0
  130. ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/precompiled_contracts/ecrecover.py +63 -0
  131. ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/precompiled_contracts/identity.py +38 -0
  132. ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/precompiled_contracts/mapping.py +43 -0
  133. ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/precompiled_contracts/modexp.py +171 -0
  134. ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/precompiled_contracts/ripemd160.py +43 -0
  135. ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/precompiled_contracts/sha256.py +40 -0
  136. ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/runtime.py +67 -0
  137. ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/stack.py +59 -0
  138. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/__init__.py +10 -0
  139. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/blocks.py +132 -0
  140. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/bloom.py +85 -0
  141. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/exceptions.py +24 -0
  142. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/fork.py +839 -0
  143. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/fork_types.py +64 -0
  144. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/state.py +721 -0
  145. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/transactions.py +498 -0
  146. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/trie.py +494 -0
  147. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/utils/__init__.py +3 -0
  148. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/utils/address.py +93 -0
  149. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/utils/hexadecimal.py +68 -0
  150. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/utils/message.py +89 -0
  151. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/__init__.py +204 -0
  152. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/exceptions.py +140 -0
  153. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/gas.py +362 -0
  154. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/instructions/__init__.py +366 -0
  155. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/instructions/arithmetic.py +373 -0
  156. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/instructions/bitwise.py +240 -0
  157. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/instructions/block.py +255 -0
  158. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/instructions/comparison.py +178 -0
  159. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/instructions/control_flow.py +171 -0
  160. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/instructions/environment.py +597 -0
  161. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/instructions/keccak.py +64 -0
  162. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/instructions/log.py +88 -0
  163. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/instructions/memory.py +177 -0
  164. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/instructions/stack.py +209 -0
  165. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/instructions/storage.py +184 -0
  166. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/instructions/system.py +709 -0
  167. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/interpreter.py +317 -0
  168. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/memory.py +81 -0
  169. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/precompiled_contracts/__init__.py +40 -0
  170. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/precompiled_contracts/alt_bn128.py +227 -0
  171. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/precompiled_contracts/blake2f.py +41 -0
  172. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/precompiled_contracts/ecrecover.py +63 -0
  173. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/precompiled_contracts/identity.py +38 -0
  174. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/precompiled_contracts/mapping.py +49 -0
  175. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/precompiled_contracts/modexp.py +169 -0
  176. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/precompiled_contracts/point_evaluation.py +72 -0
  177. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/precompiled_contracts/ripemd160.py +43 -0
  178. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/precompiled_contracts/sha256.py +40 -0
  179. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/runtime.py +67 -0
  180. ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/stack.py +59 -0
  181. ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/__init__.py +9 -0
  182. ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/blocks.py +81 -0
  183. ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/bloom.py +85 -0
  184. ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/fork.py +822 -0
  185. ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/fork_types.py +63 -0
  186. ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/state.py +591 -0
  187. ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/transactions.py +237 -0
  188. ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/trie.py +491 -0
  189. ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/utils/__init__.py +3 -0
  190. ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/utils/address.py +92 -0
  191. ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/utils/hexadecimal.py +68 -0
  192. ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/utils/message.py +79 -0
  193. ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/__init__.py +183 -0
  194. ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/exceptions.py +124 -0
  195. ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/gas.py +241 -0
  196. ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/instructions/__init__.py +348 -0
  197. ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/instructions/arithmetic.py +373 -0
  198. ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/instructions/bitwise.py +240 -0
  199. ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/instructions/block.py +190 -0
  200. ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/instructions/comparison.py +178 -0
  201. ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/instructions/control_flow.py +171 -0
  202. ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/instructions/environment.py +467 -0
  203. ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/instructions/keccak.py +64 -0
  204. ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/instructions/log.py +88 -0
  205. ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/instructions/memory.py +141 -0
  206. ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/instructions/stack.py +205 -0
  207. ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/instructions/storage.py +89 -0
  208. ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/instructions/system.py +665 -0
  209. ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/interpreter.py +303 -0
  210. ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/memory.py +81 -0
  211. ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/precompiled_contracts/__init__.py +37 -0
  212. ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/precompiled_contracts/alt_bn128.py +227 -0
  213. ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/precompiled_contracts/ecrecover.py +63 -0
  214. ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/precompiled_contracts/identity.py +38 -0
  215. ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/precompiled_contracts/mapping.py +43 -0
  216. ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/precompiled_contracts/modexp.py +171 -0
  217. ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/precompiled_contracts/ripemd160.py +43 -0
  218. ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/precompiled_contracts/sha256.py +40 -0
  219. ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/runtime.py +67 -0
  220. ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/stack.py +59 -0
  221. ethereum_execution-1.17.0.dev1/src/ethereum/crypto/__init__.py +3 -0
  222. ethereum_execution-1.17.0.dev1/src/ethereum/crypto/blake2.py +261 -0
  223. ethereum_execution-1.17.0.dev1/src/ethereum/crypto/elliptic_curve.py +73 -0
  224. ethereum_execution-1.17.0.dev1/src/ethereum/crypto/hash.py +55 -0
  225. ethereum_execution-1.17.0.dev1/src/ethereum/crypto/kzg.py +185 -0
  226. ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/__init__.py +9 -0
  227. ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/blocks.py +81 -0
  228. ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/bloom.py +85 -0
  229. ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/dao.py +157 -0
  230. ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/fork.py +819 -0
  231. ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/fork_types.py +63 -0
  232. ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/state.py +495 -0
  233. ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/transactions.py +197 -0
  234. ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/trie.py +491 -0
  235. ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/utils/__init__.py +3 -0
  236. ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/utils/address.py +62 -0
  237. ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/utils/hexadecimal.py +68 -0
  238. ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/utils/message.py +77 -0
  239. ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/__init__.py +160 -0
  240. ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/exceptions.py +87 -0
  241. ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/gas.py +208 -0
  242. ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/instructions/__init__.py +330 -0
  243. ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/instructions/arithmetic.py +373 -0
  244. ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/instructions/bitwise.py +154 -0
  245. ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/instructions/block.py +190 -0
  246. ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/instructions/comparison.py +178 -0
  247. ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/instructions/control_flow.py +171 -0
  248. ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/instructions/environment.py +377 -0
  249. ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/instructions/keccak.py +64 -0
  250. ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/instructions/log.py +85 -0
  251. ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/instructions/memory.py +141 -0
  252. ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/instructions/stack.py +205 -0
  253. ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/instructions/storage.py +88 -0
  254. ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/instructions/system.py +451 -0
  255. ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/interpreter.py +277 -0
  256. ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/memory.py +81 -0
  257. ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/precompiled_contracts/__init__.py +28 -0
  258. ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/precompiled_contracts/ecrecover.py +63 -0
  259. ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/precompiled_contracts/identity.py +38 -0
  260. ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/precompiled_contracts/mapping.py +33 -0
  261. ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/precompiled_contracts/ripemd160.py +43 -0
  262. ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/precompiled_contracts/sha256.py +40 -0
  263. ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/runtime.py +67 -0
  264. ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/stack.py +59 -0
  265. ethereum_execution-1.17.0.dev1/src/ethereum/ethash.py +427 -0
  266. ethereum_execution-1.17.0.dev1/src/ethereum/exceptions.py +35 -0
  267. ethereum_execution-1.17.0.dev1/src/ethereum/fork_criteria.py +201 -0
  268. ethereum_execution-1.17.0.dev1/src/ethereum/frontier/__init__.py +7 -0
  269. ethereum_execution-1.17.0.dev1/src/ethereum/frontier/blocks.py +81 -0
  270. ethereum_execution-1.17.0.dev1/src/ethereum/frontier/bloom.py +85 -0
  271. ethereum_execution-1.17.0.dev1/src/ethereum/frontier/fork.py +795 -0
  272. ethereum_execution-1.17.0.dev1/src/ethereum/frontier/fork_types.py +63 -0
  273. ethereum_execution-1.17.0.dev1/src/ethereum/frontier/state.py +495 -0
  274. ethereum_execution-1.17.0.dev1/src/ethereum/frontier/transactions.py +191 -0
  275. ethereum_execution-1.17.0.dev1/src/ethereum/frontier/trie.py +492 -0
  276. ethereum_execution-1.17.0.dev1/src/ethereum/frontier/utils/__init__.py +3 -0
  277. ethereum_execution-1.17.0.dev1/src/ethereum/frontier/utils/address.py +62 -0
  278. ethereum_execution-1.17.0.dev1/src/ethereum/frontier/utils/hexadecimal.py +68 -0
  279. ethereum_execution-1.17.0.dev1/src/ethereum/frontier/utils/message.py +76 -0
  280. ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/__init__.py +159 -0
  281. ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/exceptions.py +87 -0
  282. ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/gas.py +208 -0
  283. ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/instructions/__init__.py +328 -0
  284. ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/instructions/arithmetic.py +373 -0
  285. ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/instructions/bitwise.py +154 -0
  286. ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/instructions/block.py +190 -0
  287. ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/instructions/comparison.py +178 -0
  288. ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/instructions/control_flow.py +171 -0
  289. ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/instructions/environment.py +377 -0
  290. ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/instructions/keccak.py +64 -0
  291. ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/instructions/log.py +85 -0
  292. ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/instructions/memory.py +141 -0
  293. ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/instructions/stack.py +205 -0
  294. ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/instructions/storage.py +88 -0
  295. ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/instructions/system.py +398 -0
  296. ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/interpreter.py +275 -0
  297. ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/memory.py +81 -0
  298. ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/precompiled_contracts/__init__.py +28 -0
  299. ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/precompiled_contracts/ecrecover.py +63 -0
  300. ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/precompiled_contracts/identity.py +38 -0
  301. ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/precompiled_contracts/mapping.py +33 -0
  302. ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/precompiled_contracts/ripemd160.py +43 -0
  303. ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/precompiled_contracts/sha256.py +40 -0
  304. ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/runtime.py +67 -0
  305. ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/stack.py +59 -0
  306. ethereum_execution-1.17.0.dev1/src/ethereum/genesis.py +278 -0
  307. ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/__init__.py +8 -0
  308. ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/blocks.py +111 -0
  309. ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/bloom.py +85 -0
  310. ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/exceptions.py +24 -0
  311. ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/fork.py +946 -0
  312. ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/fork_types.py +63 -0
  313. ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/state.py +650 -0
  314. ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/transactions.py +419 -0
  315. ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/trie.py +491 -0
  316. ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/utils/__init__.py +3 -0
  317. ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/utils/address.py +93 -0
  318. ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/utils/hexadecimal.py +68 -0
  319. ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/utils/message.py +89 -0
  320. ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/__init__.py +192 -0
  321. ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/exceptions.py +132 -0
  322. ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/gas.py +240 -0
  323. ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/instructions/__init__.py +354 -0
  324. ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/instructions/arithmetic.py +373 -0
  325. ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/instructions/bitwise.py +240 -0
  326. ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/instructions/block.py +213 -0
  327. ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/instructions/comparison.py +178 -0
  328. ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/instructions/control_flow.py +171 -0
  329. ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/instructions/environment.py +541 -0
  330. ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/instructions/keccak.py +64 -0
  331. ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/instructions/log.py +88 -0
  332. ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/instructions/memory.py +141 -0
  333. ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/instructions/stack.py +205 -0
  334. ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/instructions/storage.py +126 -0
  335. ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/instructions/system.py +687 -0
  336. ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/interpreter.py +315 -0
  337. ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/memory.py +81 -0
  338. ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/precompiled_contracts/__init__.py +38 -0
  339. ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/precompiled_contracts/alt_bn128.py +227 -0
  340. ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/precompiled_contracts/blake2f.py +41 -0
  341. ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/precompiled_contracts/ecrecover.py +63 -0
  342. ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/precompiled_contracts/identity.py +38 -0
  343. ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/precompiled_contracts/mapping.py +46 -0
  344. ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/precompiled_contracts/modexp.py +169 -0
  345. ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/precompiled_contracts/ripemd160.py +43 -0
  346. ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/precompiled_contracts/sha256.py +40 -0
  347. ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/runtime.py +67 -0
  348. ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/stack.py +59 -0
  349. ethereum_execution-1.17.0.dev1/src/ethereum/homestead/__init__.py +10 -0
  350. ethereum_execution-1.17.0.dev1/src/ethereum/homestead/blocks.py +81 -0
  351. ethereum_execution-1.17.0.dev1/src/ethereum/homestead/bloom.py +85 -0
  352. ethereum_execution-1.17.0.dev1/src/ethereum/homestead/fork.py +802 -0
  353. ethereum_execution-1.17.0.dev1/src/ethereum/homestead/fork_types.py +63 -0
  354. ethereum_execution-1.17.0.dev1/src/ethereum/homestead/state.py +495 -0
  355. ethereum_execution-1.17.0.dev1/src/ethereum/homestead/transactions.py +197 -0
  356. ethereum_execution-1.17.0.dev1/src/ethereum/homestead/trie.py +491 -0
  357. ethereum_execution-1.17.0.dev1/src/ethereum/homestead/utils/__init__.py +3 -0
  358. ethereum_execution-1.17.0.dev1/src/ethereum/homestead/utils/address.py +62 -0
  359. ethereum_execution-1.17.0.dev1/src/ethereum/homestead/utils/hexadecimal.py +68 -0
  360. ethereum_execution-1.17.0.dev1/src/ethereum/homestead/utils/message.py +77 -0
  361. ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/__init__.py +160 -0
  362. ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/exceptions.py +87 -0
  363. ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/gas.py +208 -0
  364. ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/instructions/__init__.py +330 -0
  365. ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/instructions/arithmetic.py +373 -0
  366. ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/instructions/bitwise.py +154 -0
  367. ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/instructions/block.py +190 -0
  368. ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/instructions/comparison.py +178 -0
  369. ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/instructions/control_flow.py +171 -0
  370. ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/instructions/environment.py +377 -0
  371. ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/instructions/keccak.py +64 -0
  372. ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/instructions/log.py +85 -0
  373. ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/instructions/memory.py +141 -0
  374. ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/instructions/stack.py +205 -0
  375. ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/instructions/storage.py +88 -0
  376. ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/instructions/system.py +451 -0
  377. ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/interpreter.py +277 -0
  378. ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/memory.py +81 -0
  379. ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/precompiled_contracts/__init__.py +28 -0
  380. ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/precompiled_contracts/ecrecover.py +63 -0
  381. ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/precompiled_contracts/identity.py +38 -0
  382. ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/precompiled_contracts/mapping.py +33 -0
  383. ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/precompiled_contracts/ripemd160.py +43 -0
  384. ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/precompiled_contracts/sha256.py +40 -0
  385. ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/runtime.py +67 -0
  386. ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/stack.py +59 -0
  387. ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/__init__.py +9 -0
  388. ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/blocks.py +81 -0
  389. ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/bloom.py +85 -0
  390. ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/fork.py +822 -0
  391. ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/fork_types.py +63 -0
  392. ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/state.py +650 -0
  393. ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/transactions.py +237 -0
  394. ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/trie.py +491 -0
  395. ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/utils/__init__.py +3 -0
  396. ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/utils/address.py +93 -0
  397. ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/utils/hexadecimal.py +68 -0
  398. ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/utils/message.py +79 -0
  399. ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/__init__.py +183 -0
  400. ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/exceptions.py +124 -0
  401. ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/gas.py +243 -0
  402. ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/instructions/__init__.py +352 -0
  403. ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/instructions/arithmetic.py +373 -0
  404. ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/instructions/bitwise.py +240 -0
  405. ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/instructions/block.py +213 -0
  406. ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/instructions/comparison.py +178 -0
  407. ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/instructions/control_flow.py +171 -0
  408. ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/instructions/environment.py +496 -0
  409. ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/instructions/keccak.py +64 -0
  410. ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/instructions/log.py +88 -0
  411. ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/instructions/memory.py +141 -0
  412. ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/instructions/stack.py +205 -0
  413. ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/instructions/storage.py +114 -0
  414. ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/instructions/system.py +665 -0
  415. ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/interpreter.py +309 -0
  416. ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/memory.py +81 -0
  417. ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/precompiled_contracts/__init__.py +38 -0
  418. ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/precompiled_contracts/alt_bn128.py +227 -0
  419. ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/precompiled_contracts/blake2f.py +41 -0
  420. ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/precompiled_contracts/ecrecover.py +63 -0
  421. ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/precompiled_contracts/identity.py +38 -0
  422. ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/precompiled_contracts/mapping.py +46 -0
  423. ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/precompiled_contracts/modexp.py +171 -0
  424. ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/precompiled_contracts/ripemd160.py +43 -0
  425. ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/precompiled_contracts/sha256.py +40 -0
  426. ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/runtime.py +67 -0
  427. ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/stack.py +59 -0
  428. ethereum_execution-1.17.0.dev1/src/ethereum/london/__init__.py +8 -0
  429. ethereum_execution-1.17.0.dev1/src/ethereum/london/blocks.py +111 -0
  430. ethereum_execution-1.17.0.dev1/src/ethereum/london/bloom.py +85 -0
  431. ethereum_execution-1.17.0.dev1/src/ethereum/london/exceptions.py +24 -0
  432. ethereum_execution-1.17.0.dev1/src/ethereum/london/fork.py +952 -0
  433. ethereum_execution-1.17.0.dev1/src/ethereum/london/fork_types.py +63 -0
  434. ethereum_execution-1.17.0.dev1/src/ethereum/london/state.py +650 -0
  435. ethereum_execution-1.17.0.dev1/src/ethereum/london/transactions.py +419 -0
  436. ethereum_execution-1.17.0.dev1/src/ethereum/london/trie.py +491 -0
  437. ethereum_execution-1.17.0.dev1/src/ethereum/london/utils/__init__.py +3 -0
  438. ethereum_execution-1.17.0.dev1/src/ethereum/london/utils/address.py +93 -0
  439. ethereum_execution-1.17.0.dev1/src/ethereum/london/utils/hexadecimal.py +68 -0
  440. ethereum_execution-1.17.0.dev1/src/ethereum/london/utils/message.py +89 -0
  441. ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/__init__.py +192 -0
  442. ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/exceptions.py +132 -0
  443. ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/gas.py +240 -0
  444. ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/instructions/__init__.py +354 -0
  445. ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/instructions/arithmetic.py +373 -0
  446. ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/instructions/bitwise.py +240 -0
  447. ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/instructions/block.py +213 -0
  448. ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/instructions/comparison.py +178 -0
  449. ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/instructions/control_flow.py +171 -0
  450. ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/instructions/environment.py +541 -0
  451. ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/instructions/keccak.py +64 -0
  452. ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/instructions/log.py +88 -0
  453. ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/instructions/memory.py +141 -0
  454. ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/instructions/stack.py +205 -0
  455. ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/instructions/storage.py +126 -0
  456. ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/instructions/system.py +687 -0
  457. ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/interpreter.py +315 -0
  458. ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/memory.py +81 -0
  459. ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/precompiled_contracts/__init__.py +38 -0
  460. ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/precompiled_contracts/alt_bn128.py +227 -0
  461. ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/precompiled_contracts/blake2f.py +41 -0
  462. ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/precompiled_contracts/ecrecover.py +63 -0
  463. ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/precompiled_contracts/identity.py +38 -0
  464. ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/precompiled_contracts/mapping.py +46 -0
  465. ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/precompiled_contracts/modexp.py +169 -0
  466. ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/precompiled_contracts/ripemd160.py +43 -0
  467. ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/precompiled_contracts/sha256.py +40 -0
  468. ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/runtime.py +67 -0
  469. ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/stack.py +59 -0
  470. ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/__init__.py +7 -0
  471. ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/blocks.py +81 -0
  472. ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/bloom.py +85 -0
  473. ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/fork.py +824 -0
  474. ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/fork_types.py +63 -0
  475. ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/state.py +650 -0
  476. ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/transactions.py +237 -0
  477. ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/trie.py +491 -0
  478. ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/utils/__init__.py +3 -0
  479. ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/utils/address.py +93 -0
  480. ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/utils/hexadecimal.py +68 -0
  481. ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/utils/message.py +79 -0
  482. ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/__init__.py +183 -0
  483. ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/exceptions.py +124 -0
  484. ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/gas.py +243 -0
  485. ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/instructions/__init__.py +352 -0
  486. ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/instructions/arithmetic.py +373 -0
  487. ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/instructions/bitwise.py +240 -0
  488. ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/instructions/block.py +213 -0
  489. ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/instructions/comparison.py +178 -0
  490. ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/instructions/control_flow.py +171 -0
  491. ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/instructions/environment.py +496 -0
  492. ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/instructions/keccak.py +64 -0
  493. ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/instructions/log.py +88 -0
  494. ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/instructions/memory.py +141 -0
  495. ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/instructions/stack.py +205 -0
  496. ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/instructions/storage.py +114 -0
  497. ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/instructions/system.py +665 -0
  498. ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/interpreter.py +309 -0
  499. ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/memory.py +81 -0
  500. ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/precompiled_contracts/__init__.py +38 -0
  501. ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/precompiled_contracts/alt_bn128.py +227 -0
  502. ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/precompiled_contracts/blake2f.py +41 -0
  503. ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/precompiled_contracts/ecrecover.py +63 -0
  504. ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/precompiled_contracts/identity.py +38 -0
  505. ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/precompiled_contracts/mapping.py +46 -0
  506. ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/precompiled_contracts/modexp.py +171 -0
  507. ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/precompiled_contracts/ripemd160.py +43 -0
  508. ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/precompiled_contracts/sha256.py +40 -0
  509. ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/runtime.py +67 -0
  510. ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/stack.py +59 -0
  511. ethereum_execution-1.17.0.dev1/src/ethereum/paris/__init__.py +16 -0
  512. ethereum_execution-1.17.0.dev1/src/ethereum/paris/blocks.py +111 -0
  513. ethereum_execution-1.17.0.dev1/src/ethereum/paris/bloom.py +85 -0
  514. ethereum_execution-1.17.0.dev1/src/ethereum/paris/exceptions.py +24 -0
  515. ethereum_execution-1.17.0.dev1/src/ethereum/paris/fork.py +655 -0
  516. ethereum_execution-1.17.0.dev1/src/ethereum/paris/fork_types.py +63 -0
  517. ethereum_execution-1.17.0.dev1/src/ethereum/paris/state.py +630 -0
  518. ethereum_execution-1.17.0.dev1/src/ethereum/paris/transactions.py +419 -0
  519. ethereum_execution-1.17.0.dev1/src/ethereum/paris/trie.py +491 -0
  520. ethereum_execution-1.17.0.dev1/src/ethereum/paris/utils/__init__.py +3 -0
  521. ethereum_execution-1.17.0.dev1/src/ethereum/paris/utils/address.py +93 -0
  522. ethereum_execution-1.17.0.dev1/src/ethereum/paris/utils/hexadecimal.py +68 -0
  523. ethereum_execution-1.17.0.dev1/src/ethereum/paris/utils/message.py +89 -0
  524. ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/__init__.py +192 -0
  525. ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/exceptions.py +132 -0
  526. ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/gas.py +240 -0
  527. ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/instructions/__init__.py +354 -0
  528. ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/instructions/arithmetic.py +373 -0
  529. ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/instructions/bitwise.py +240 -0
  530. ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/instructions/block.py +255 -0
  531. ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/instructions/comparison.py +178 -0
  532. ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/instructions/control_flow.py +171 -0
  533. ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/instructions/environment.py +541 -0
  534. ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/instructions/keccak.py +64 -0
  535. ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/instructions/log.py +88 -0
  536. ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/instructions/memory.py +141 -0
  537. ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/instructions/stack.py +205 -0
  538. ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/instructions/storage.py +126 -0
  539. ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/instructions/system.py +687 -0
  540. ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/interpreter.py +315 -0
  541. ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/memory.py +81 -0
  542. ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/precompiled_contracts/__init__.py +38 -0
  543. ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/precompiled_contracts/alt_bn128.py +227 -0
  544. ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/precompiled_contracts/blake2f.py +41 -0
  545. ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/precompiled_contracts/ecrecover.py +63 -0
  546. ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/precompiled_contracts/identity.py +38 -0
  547. ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/precompiled_contracts/mapping.py +46 -0
  548. ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/precompiled_contracts/modexp.py +169 -0
  549. ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/precompiled_contracts/ripemd160.py +43 -0
  550. ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/precompiled_contracts/sha256.py +40 -0
  551. ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/runtime.py +67 -0
  552. ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/stack.py +59 -0
  553. ethereum_execution-1.17.0.dev1/src/ethereum/prague/__init__.py +7 -0
  554. ethereum_execution-1.17.0.dev1/src/ethereum/prague/blocks.py +136 -0
  555. ethereum_execution-1.17.0.dev1/src/ethereum/prague/bloom.py +85 -0
  556. ethereum_execution-1.17.0.dev1/src/ethereum/prague/exceptions.py +24 -0
  557. ethereum_execution-1.17.0.dev1/src/ethereum/prague/fork.py +952 -0
  558. ethereum_execution-1.17.0.dev1/src/ethereum/prague/fork_types.py +79 -0
  559. ethereum_execution-1.17.0.dev1/src/ethereum/prague/requests.py +187 -0
  560. ethereum_execution-1.17.0.dev1/src/ethereum/prague/state.py +721 -0
  561. ethereum_execution-1.17.0.dev1/src/ethereum/prague/transactions.py +593 -0
  562. ethereum_execution-1.17.0.dev1/src/ethereum/prague/trie.py +494 -0
  563. ethereum_execution-1.17.0.dev1/src/ethereum/prague/utils/__init__.py +3 -0
  564. ethereum_execution-1.17.0.dev1/src/ethereum/prague/utils/address.py +93 -0
  565. ethereum_execution-1.17.0.dev1/src/ethereum/prague/utils/hexadecimal.py +68 -0
  566. ethereum_execution-1.17.0.dev1/src/ethereum/prague/utils/message.py +99 -0
  567. ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/__init__.py +210 -0
  568. ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/eoa_delegation.py +215 -0
  569. ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/exceptions.py +140 -0
  570. ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/gas.py +369 -0
  571. ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/instructions/__init__.py +366 -0
  572. ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/instructions/arithmetic.py +373 -0
  573. ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/instructions/bitwise.py +240 -0
  574. ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/instructions/block.py +255 -0
  575. ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/instructions/comparison.py +178 -0
  576. ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/instructions/control_flow.py +171 -0
  577. ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/instructions/environment.py +597 -0
  578. ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/instructions/keccak.py +64 -0
  579. ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/instructions/log.py +88 -0
  580. ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/instructions/memory.py +177 -0
  581. ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/instructions/stack.py +209 -0
  582. ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/instructions/storage.py +184 -0
  583. ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/instructions/system.py +752 -0
  584. ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/interpreter.py +330 -0
  585. ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/memory.py +81 -0
  586. ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/precompiled_contracts/__init__.py +54 -0
  587. ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/precompiled_contracts/alt_bn128.py +227 -0
  588. ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/precompiled_contracts/blake2f.py +41 -0
  589. ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/precompiled_contracts/bls12_381/__init__.py +583 -0
  590. ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/precompiled_contracts/bls12_381/bls12_381_g1.py +148 -0
  591. ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/precompiled_contracts/bls12_381/bls12_381_g2.py +148 -0
  592. ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/precompiled_contracts/bls12_381/bls12_381_pairing.py +67 -0
  593. ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/precompiled_contracts/ecrecover.py +63 -0
  594. ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/precompiled_contracts/identity.py +38 -0
  595. ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/precompiled_contracts/mapping.py +74 -0
  596. ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/precompiled_contracts/modexp.py +169 -0
  597. ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/precompiled_contracts/point_evaluation.py +72 -0
  598. ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/precompiled_contracts/ripemd160.py +43 -0
  599. ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/precompiled_contracts/sha256.py +40 -0
  600. ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/runtime.py +67 -0
  601. ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/stack.py +59 -0
  602. ethereum_execution-1.17.0.dev1/src/ethereum/py.typed +0 -0
  603. ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/__init__.py +9 -0
  604. ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/blocks.py +126 -0
  605. ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/bloom.py +85 -0
  606. ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/exceptions.py +24 -0
  607. ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/fork.py +693 -0
  608. ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/fork_types.py +63 -0
  609. ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/state.py +630 -0
  610. ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/transactions.py +426 -0
  611. ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/trie.py +494 -0
  612. ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/utils/__init__.py +3 -0
  613. ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/utils/address.py +93 -0
  614. ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/utils/hexadecimal.py +68 -0
  615. ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/utils/message.py +89 -0
  616. ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/__init__.py +197 -0
  617. ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/exceptions.py +132 -0
  618. ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/gas.py +260 -0
  619. ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/instructions/__init__.py +356 -0
  620. ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/instructions/arithmetic.py +373 -0
  621. ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/instructions/bitwise.py +240 -0
  622. ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/instructions/block.py +255 -0
  623. ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/instructions/comparison.py +178 -0
  624. ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/instructions/control_flow.py +171 -0
  625. ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/instructions/environment.py +541 -0
  626. ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/instructions/keccak.py +64 -0
  627. ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/instructions/log.py +88 -0
  628. ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/instructions/memory.py +141 -0
  629. ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/instructions/stack.py +209 -0
  630. ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/instructions/storage.py +126 -0
  631. ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/instructions/system.py +710 -0
  632. ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/interpreter.py +315 -0
  633. ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/memory.py +81 -0
  634. ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/precompiled_contracts/__init__.py +38 -0
  635. ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/precompiled_contracts/alt_bn128.py +227 -0
  636. ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/precompiled_contracts/blake2f.py +41 -0
  637. ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/precompiled_contracts/ecrecover.py +63 -0
  638. ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/precompiled_contracts/identity.py +38 -0
  639. ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/precompiled_contracts/mapping.py +46 -0
  640. ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/precompiled_contracts/modexp.py +169 -0
  641. ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/precompiled_contracts/ripemd160.py +43 -0
  642. ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/precompiled_contracts/sha256.py +40 -0
  643. ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/runtime.py +67 -0
  644. ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/stack.py +59 -0
  645. ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/__init__.py +11 -0
  646. ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/blocks.py +81 -0
  647. ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/bloom.py +85 -0
  648. ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/fork.py +810 -0
  649. ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/fork_types.py +63 -0
  650. ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/state.py +591 -0
  651. ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/transactions.py +237 -0
  652. ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/trie.py +491 -0
  653. ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/utils/__init__.py +3 -0
  654. ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/utils/address.py +63 -0
  655. ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/utils/hexadecimal.py +68 -0
  656. ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/utils/message.py +78 -0
  657. ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/__init__.py +181 -0
  658. ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/exceptions.py +87 -0
  659. ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/gas.py +239 -0
  660. ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/instructions/__init__.py +330 -0
  661. ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/instructions/arithmetic.py +373 -0
  662. ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/instructions/bitwise.py +154 -0
  663. ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/instructions/block.py +190 -0
  664. ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/instructions/comparison.py +178 -0
  665. ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/instructions/control_flow.py +171 -0
  666. ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/instructions/environment.py +377 -0
  667. ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/instructions/keccak.py +64 -0
  668. ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/instructions/log.py +85 -0
  669. ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/instructions/memory.py +141 -0
  670. ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/instructions/stack.py +205 -0
  671. ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/instructions/storage.py +88 -0
  672. ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/instructions/system.py +487 -0
  673. ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/interpreter.py +295 -0
  674. ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/memory.py +81 -0
  675. ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/precompiled_contracts/__init__.py +28 -0
  676. ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/precompiled_contracts/ecrecover.py +63 -0
  677. ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/precompiled_contracts/identity.py +38 -0
  678. ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/precompiled_contracts/mapping.py +33 -0
  679. ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/precompiled_contracts/ripemd160.py +43 -0
  680. ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/precompiled_contracts/sha256.py +40 -0
  681. ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/runtime.py +67 -0
  682. ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/stack.py +59 -0
  683. ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/__init__.py +10 -0
  684. ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/blocks.py +81 -0
  685. ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/bloom.py +85 -0
  686. ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/fork.py +801 -0
  687. ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/fork_types.py +63 -0
  688. ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/state.py +495 -0
  689. ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/transactions.py +197 -0
  690. ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/trie.py +491 -0
  691. ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/utils/__init__.py +3 -0
  692. ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/utils/address.py +63 -0
  693. ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/utils/hexadecimal.py +68 -0
  694. ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/utils/message.py +78 -0
  695. ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/__init__.py +160 -0
  696. ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/exceptions.py +87 -0
  697. ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/gas.py +239 -0
  698. ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/instructions/__init__.py +330 -0
  699. ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/instructions/arithmetic.py +373 -0
  700. ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/instructions/bitwise.py +154 -0
  701. ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/instructions/block.py +190 -0
  702. ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/instructions/comparison.py +178 -0
  703. ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/instructions/control_flow.py +171 -0
  704. ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/instructions/environment.py +377 -0
  705. ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/instructions/keccak.py +64 -0
  706. ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/instructions/log.py +85 -0
  707. ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/instructions/memory.py +141 -0
  708. ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/instructions/stack.py +205 -0
  709. ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/instructions/storage.py +88 -0
  710. ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/instructions/system.py +474 -0
  711. ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/interpreter.py +277 -0
  712. ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/memory.py +81 -0
  713. ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/precompiled_contracts/__init__.py +28 -0
  714. ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/precompiled_contracts/ecrecover.py +63 -0
  715. ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/precompiled_contracts/identity.py +38 -0
  716. ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/precompiled_contracts/mapping.py +33 -0
  717. ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/precompiled_contracts/ripemd160.py +43 -0
  718. ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/precompiled_contracts/sha256.py +40 -0
  719. ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/runtime.py +67 -0
  720. ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/stack.py +59 -0
  721. ethereum_execution-1.17.0.dev1/src/ethereum/trace.py +234 -0
  722. ethereum_execution-1.17.0.dev1/src/ethereum/utils/__init__.py +18 -0
  723. ethereum_execution-1.17.0.dev1/src/ethereum/utils/byte.py +59 -0
  724. ethereum_execution-1.17.0.dev1/src/ethereum/utils/hexadecimal.py +227 -0
  725. ethereum_execution-1.17.0.dev1/src/ethereum/utils/numeric.py +202 -0
  726. ethereum_execution-1.17.0.dev1/src/ethereum_execution.egg-info/PKG-INFO +117 -0
  727. ethereum_execution-1.17.0.dev1/src/ethereum_execution.egg-info/SOURCES.txt +766 -0
  728. ethereum_execution-1.17.0.dev1/src/ethereum_execution.egg-info/dependency_links.txt +1 -0
  729. ethereum_execution-1.17.0.dev1/src/ethereum_execution.egg-info/entry_points.txt +17 -0
  730. ethereum_execution-1.17.0.dev1/src/ethereum_execution.egg-info/requires.txt +35 -0
  731. ethereum_execution-1.17.0.dev1/src/ethereum_execution.egg-info/top_level.txt +98 -0
  732. ethereum_execution-1.17.0.dev1/src/ethereum_optimized/__init__.py +76 -0
  733. ethereum_execution-1.17.0.dev1/src/ethereum_optimized/fork.py +72 -0
  734. ethereum_execution-1.17.0.dev1/src/ethereum_optimized/state_db.py +438 -0
  735. ethereum_execution-1.17.0.dev1/src/ethereum_optimized/utils.py +27 -0
  736. ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/__init__.py +7 -0
  737. ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/docc.py +1070 -0
  738. ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/evm_tools/__init__.py +121 -0
  739. ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/evm_tools/__main__.py +6 -0
  740. ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/evm_tools/b11r/__init__.py +143 -0
  741. ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/evm_tools/b11r/b11r_types.py +172 -0
  742. ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/evm_tools/daemon.py +186 -0
  743. ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/evm_tools/loaders/__init__.py +3 -0
  744. ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/evm_tools/loaders/fixture_loader.py +185 -0
  745. ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/evm_tools/loaders/fork_loader.py +303 -0
  746. ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/evm_tools/loaders/transaction_loader.py +208 -0
  747. ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/evm_tools/statetest/__init__.py +291 -0
  748. ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/evm_tools/t8n/__init__.py +333 -0
  749. ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/evm_tools/t8n/env.py +278 -0
  750. ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/evm_tools/t8n/evm_trace.py +377 -0
  751. ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/evm_tools/t8n/t8n_types.py +380 -0
  752. ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/evm_tools/utils.py +198 -0
  753. ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/forks.py +303 -0
  754. ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/lint/__init__.py +194 -0
  755. ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/lint/__main__.py +12 -0
  756. ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/lint/lints/glacier_forks_hygiene.py +270 -0
  757. ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/lint/lints/import_hygiene.py +114 -0
  758. ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/lint/lints/patch_hygiene.py +161 -0
  759. ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/new_fork.py +185 -0
  760. ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/patch_tool.py +78 -0
  761. ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/py.typed +0 -0
  762. ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/sync.py +1048 -0
  763. ethereum_execution-1.17.0.dev1/tests/test_ethash_general.py +320 -0
  764. ethereum_execution-1.17.0.dev1/tests/test_genesis.py +72 -0
  765. ethereum_execution-1.17.0.dev1/tests/test_optimized_state.py +77 -0
  766. ethereum_execution-1.17.0.dev1/tests/test_rlp.py +88 -0
  767. ethereum_execution-1.17.0.dev1/tests/test_tools.py +171 -0
@@ -0,0 +1,35 @@
1
+ # Creative Commons Legal Code
2
+
3
+ ## CC0 1.0 Universal
4
+
5
+ > CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER.
6
+
7
+ Statement of Purpose
8
+
9
+ The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work").
10
+
11
+ Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others.
12
+
13
+ For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights.
14
+
15
+ 1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following:
16
+
17
+ 1. the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work;
18
+ 2. moral rights retained by the original author(s) and/or performer(s);
19
+ 3. publicity and privacy rights pertaining to a person's image or likeness depicted in a Work;
20
+ 4. rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below;
21
+ 5. rights protecting the extraction, dissemination, use and reuse of data in a Work;
22
+ 6. database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and
23
+ 7. other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof.
24
+
25
+ 2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose.
26
+
27
+ 3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose.
28
+
29
+ 4. Limitations and Disclaimers.
30
+
31
+ 1. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document.
32
+ 2. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law.
33
+ 3. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work.
34
+ 4. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work.
35
+
@@ -0,0 +1,117 @@
1
+ Metadata-Version: 2.4
2
+ Name: ethereum-execution
3
+ Version: 1.17.0.dev1
4
+ Summary: Ethereum execution layer specification, provided as a Python package for tooling and testing
5
+ Home-page: https://github.com/ethereum/execution-specs
6
+ Classifier: License :: CC0 1.0 Universal (CC0 1.0) Public Domain Dedication
7
+ Classifier: Programming Language :: Python :: 3
8
+ Classifier: Programming Language :: Python :: 3.10
9
+ Classifier: Programming Language :: Python :: Implementation :: PyPy
10
+ Classifier: Programming Language :: Python :: Implementation :: CPython
11
+ Classifier: Intended Audience :: Developers
12
+ Classifier: Natural Language :: English
13
+ Requires-Python: >=3.10
14
+ Description-Content-Type: text/markdown
15
+ License-File: LICENSE.md
16
+ Requires-Dist: pycryptodome<4,>=3
17
+ Requires-Dist: coincurve<21,>=20
18
+ Requires-Dist: typing_extensions>=4.2
19
+ Requires-Dist: py-ecc<9,>=8.0.0b2
20
+ Requires-Dist: ethereum-types<0.3,>=0.2.1
21
+ Requires-Dist: ethereum-rlp<0.2,>=0.1.1
22
+ Provides-Extra: test
23
+ Requires-Dist: pytest<8,>=7.4.0; extra == "test"
24
+ Requires-Dist: pytest-cov<5,>=4.1.0; extra == "test"
25
+ Requires-Dist: pytest-xdist<4,>=3.3.1; extra == "test"
26
+ Requires-Dist: GitPython<3.2,>=3.1.0; extra == "test"
27
+ Requires-Dist: filelock<3.13,>=3.12.3; extra == "test"
28
+ Requires-Dist: requests; extra == "test"
29
+ Provides-Extra: lint
30
+ Requires-Dist: types-setuptools<69,>=68.1.0.1; extra == "lint"
31
+ Requires-Dist: isort==5.13.2; extra == "lint"
32
+ Requires-Dist: mypy==1.14.1; extra == "lint"
33
+ Requires-Dist: black==23.12.0; extra == "lint"
34
+ Requires-Dist: flake8==6.1.0; extra == "lint"
35
+ Requires-Dist: flake8-bugbear==23.12.2; extra == "lint"
36
+ Requires-Dist: flake8-docstrings==1.7.0; extra == "lint"
37
+ Requires-Dist: flake8-spellcheck==0.28.0; extra == "lint"
38
+ Provides-Extra: tools
39
+ Requires-Dist: platformdirs<5,>=4.2; extra == "tools"
40
+ Provides-Extra: doc
41
+ Requires-Dist: docc<0.3.0,>=0.2.2; extra == "doc"
42
+ Requires-Dist: fladrif<0.3.0,>=0.2.0; extra == "doc"
43
+ Provides-Extra: optimized
44
+ Requires-Dist: rust-pyspec-glue<0.1.0,>=0.0.9; extra == "optimized"
45
+ Requires-Dist: ethash<2,>=1.1.0; extra == "optimized"
46
+ Dynamic: license-file
47
+
48
+ # Ethereum Execution Client Specifications
49
+
50
+ [![GitPOAP Badge](https://public-api.gitpoap.io/v1/repo/ethereum/execution-specs/badge)](https://www.gitpoap.io/gh/ethereum/execution-specs)
51
+ [![codecov](https://codecov.io/gh/ethereum/execution-specs/graph/badge.svg?token=0LQZO56RTM)](https://codecov.io/gh/ethereum/execution-specs)
52
+
53
+ ## Description
54
+
55
+ This repository contains the specifications related to the Ethereum execution client, specifically the [pyspec](/src/ethereum/frontier/fork.py) and specifications for [network upgrades](/network-upgrades). The [JSON-RPC API specification](https://github.com/ethereum/execution-apis) can be found in a separate repository.
56
+
57
+ ### Ethereum Protocol Releases
58
+
59
+ | Version and Code Name | Block No. | Released | Incl EIPs | Specs | Blog |
60
+ |-----------------------|-----------|----------|-----------|-------|-------|
61
+ | Cancun | 19426587 | 2024-03-13<br />(1710338135) | [EIP-1153](https://eips.ethereum.org/EIPS/eip-1153) </br> [EIP-4788](https://eips.ethereum.org/EIPS/eip-4788)</br> [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844)</br> [EIP-5656](https://eips.ethereum.org/EIPS/eip-5656)</br> [EIP-6780](https://eips.ethereum.org/EIPS/eip-6780)</br> [EIP-7516](https://eips.ethereum.org/EIPS/eip-7516)| [Specification](https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/cancun.md) | [Blog](https://blog.ethereum.org/2024/02/27/dencun-mainnet-announcement) |
62
+ | Shanghai | 17034870 | 2023-04-12<br/>(1681338455) | [EIP-3651](https://eips.ethereum.org/EIPS/eip-3651) <br/> [EIP-3855](https://eips.ethereum.org/EIPS/eip-3855) <br/> [EIP-3860](https://eips.ethereum.org/EIPS/eip-3860) <br/> [EIP-4895](https://eips.ethereum.org/EIPS/eip-4895) | [Specification](https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/shanghai.md) | [Blog](https://blog.ethereum.org/2023/03/28/shapella-mainnet-announcement) |
63
+ | Paris | 15537394 | 2022-09-15 | [EIP-3675](https://eips.ethereum.org/EIPS/eip-3675) <br/> [EIP-4399](https://eips.ethereum.org/EIPS/eip-4399) | [Specification](https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/paris.md) | [Blog](https://blog.ethereum.org/2022/08/24/mainnet-merge-announcement) |
64
+ | Gray Glacier | 15050000 | 2022-06-30 | [EIP-5133](https://eips.ethereum.org/EIPS/eip-5133) | [Specification](./network-upgrades/mainnet-upgrades/gray-glacier.md) | [Blog](https://blog.ethereum.org/2022/06/16/gray-glacier-announcement/) |
65
+ | Arrow Glacier | 13773000 | 2021-12-09 | [EIP-4345](https://eips.ethereum.org/EIPS/eip-4345) | [Specification](./network-upgrades/mainnet-upgrades/arrow-glacier.md) | [Blog](https://blog.ethereum.org/2021/11/10/arrow-glacier-announcement/) |
66
+ | London | 12965000 | 2021-08-05 | [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559) <br> [EIP-3198](https://eips.ethereum.org/EIPS/eip-3198) <br/> [EIP-3529](https://eips.ethereum.org/EIPS/eip-3529) <br/> [EIP-3541](https://eips.ethereum.org/EIPS/eip-3541) <br> [EIP-3554](https://eips.ethereum.org/EIPS/eip-3554)| [Specification](https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/london.md) | [Blog](https://blog.ethereum.org/2021/07/15/london-mainnet-announcement/) |
67
+ | Berlin | 12244000 | 2021-04-15 | [EIP-2565](https://eips.ethereum.org/EIPS/eip-2565) <br/> [EIP-2929](https://eips.ethereum.org/EIPS/eip-2929) <br/> [EIP-2718](https://eips.ethereum.org/EIPS/eip-2718) <br/> [EIP-2930](https://eips.ethereum.org/EIPS/eip-2930) | ~[HFM-2070](https://eips.ethereum.org/EIPS/eip-2070)~ <br/> [Specification](https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/berlin.md) | [Blog](https://blog.ethereum.org/2021/03/08/ethereum-berlin-upgrade-announcement/) |
68
+ | Muir Glacier | 9200000 | 2020-01-02 | [EIP-2384](https://eips.ethereum.org/EIPS/eip-2384) | [HFM-2387](https://eips.ethereum.org/EIPS/eip-2387) | [Blog](https://blog.ethereum.org/2019/12/23/ethereum-muir-glacier-upgrade-announcement/) |
69
+ | Istanbul | 9069000 | 2019-12-07 | [EIP-152](https://eips.ethereum.org/EIPS/eip-152) <br/> [EIP-1108](https://eips.ethereum.org/EIPS/eip-1108) <br/> [EIP-1344](https://eips.ethereum.org/EIPS/eip-1344) <br/> [EIP-1884](https://eips.ethereum.org/EIPS/eip-1884) <br/> [EIP-2028](https://eips.ethereum.org/EIPS/eip-2028) <br/> [EIP-2200](https://eips.ethereum.org/EIPS/eip-2200) | [HFM-1679](https://eips.ethereum.org/EIPS/eip-1679) | [Blog](https://blog.ethereum.org/2019/11/20/ethereum-istanbul-upgrade-announcement/)
70
+ | Petersburg | 7280000 | 2019-02-28 | [EIP-145](https://eips.ethereum.org/EIPS/eip-145) <br/> [EIP-1014](https://eips.ethereum.org/EIPS/eip-1014) <br/> [EIP-1052](https://eips.ethereum.org/EIPS/eip-1052) <br/> [EIP-1234](https://eips.ethereum.org/EIPS/eip-1234) | [HFM-1716](https://eips.ethereum.org/EIPS/eip-1716) | [Blog](https://blog.ethereum.org/2019/02/22/ethereum-constantinople-st-petersburg-upgrade-announcement/) |
71
+ | Constantinople | 7280000 | 2019-02-28 | [EIP-145](https://eips.ethereum.org/EIPS/eip-145) <br/> [EIP-1014](https://eips.ethereum.org/EIPS/eip-1014) <br/> [EIP-1052](https://eips.ethereum.org/EIPS/eip-1052) <br/> [EIP-1234](https://eips.ethereum.org/EIPS/eip-1234) <br/> [EIP-1283](https://eips.ethereum.org/EIPS/eip-1283) | [HFM-1013](https://eips.ethereum.org/EIPS/eip-1013) | [Blog](https://blog.ethereum.org/2019/02/22/ethereum-constantinople-st-petersburg-upgrade-announcement/) |
72
+ | Byzantium | 4370000 | 2017-10-16 | [EIP-100](https://eips.ethereum.org/EIPS/eip-100) <br/> [EIP-140](https://eips.ethereum.org/EIPS/eip-140) <br/> [EIP-196](https://eips.ethereum.org/EIPS/eip-196) <br/> [EIP-197](https://eips.ethereum.org/EIPS/eip-197) <br/> [EIP-198](https://eips.ethereum.org/EIPS/eip-198) <br/> [EIP-211](https://eips.ethereum.org/EIPS/eip-211) <br/> [EIP-214](https://eips.ethereum.org/EIPS/eip-214) <br/> [EIP-649](https://eips.ethereum.org/EIPS/eip-649) <br/> [EIP-658](https://eips.ethereum.org/EIPS/eip-658) | [HFM-609](https://eips.ethereum.org/EIPS/eip-609) | [Blog](https://blog.ethereum.org/2017/10/12/byzantium-hf-announcement/) |
73
+ | Spurious Dragon | 2675000 | 2016-11-22 | [EIP-155](https://eips.ethereum.org/EIPS/eip-155) <br/> [EIP-160](https://eips.ethereum.org/EIPS/eip-160) <br/> [EIP-161](https://eips.ethereum.org/EIPS/eip-161) <br/> [EIP-170](https://eips.ethereum.org/EIPS/eip-170) | [HFM-607](https://eips.ethereum.org/EIPS/eip-607) | [Blog](https://blog.ethereum.org/2016/11/18/hard-fork-no-4-spurious-dragon/) |
74
+ | Tangerine Whistle | 2463000 | 2016-10-18 | [EIP-150](https://eips.ethereum.org/EIPS/eip-150) | [HFM-608](https://eips.ethereum.org/EIPS/eip-608) | [Blog](https://blog.ethereum.org/2016/10/13/announcement-imminent-hard-fork-eip150-gas-cost-changes/) |
75
+ | DAO Fork | 1920000 | 2016-07-20 | | [HFM-779](https://eips.ethereum.org/EIPS/eip-779) | [Blog](https://blog.ethereum.org/2016/07/15/to-fork-or-not-to-fork/) |
76
+ | DAO Wars | aborted | aborted | | | [Blog](https://blog.ethereum.org/2016/06/24/dao-wars-youre-voice-soft-fork-dilemma/) |
77
+ | Homestead | 1150000 | 2016-03-14 | [EIP-2](https://eips.ethereum.org/EIPS/eip-2) <br/> [EIP-7](https://eips.ethereum.org/EIPS/eip-7) <br/> [EIP-8](https://eips.ethereum.org/EIPS/eip-8) | [HFM-606](https://eips.ethereum.org/EIPS/eip-606) | [Blog](https://blog.ethereum.org/2016/02/29/homestead-release/) |
78
+ | Frontier Thawing | 200000 | 2015-09-07 | | | [Blog](https://blog.ethereum.org/2015/08/04/the-thawing-frontier/) |
79
+ | Frontier | 1 | 2015-07-30 | | | [Blog](https://blog.ethereum.org/2015/07/22/frontier-is-coming-what-to-expect-and-how-to-prepare/) |
80
+
81
+ *Note:* Starting with Paris, updates are no longer rolled out based on block numbers. Paris was enabled once proof-of-work Total Difficulty reached 58750000000000000000000. As of Shanghai (at 1681338455), upgrade activation is based on timestamps.
82
+
83
+ Some clarifications were enabled without protocol releases:
84
+
85
+ | EIP | Block No. |
86
+ |-----|-----------|
87
+ | [EIP-2681](https://eips.ethereum.org/EIPS/eip-2681) | 0 |
88
+ | [EIP-3607](https://eips.ethereum.org/EIPS/eip-3607) | 0 |
89
+ | [EIP-7523](https://eips.ethereum.org/EIPS/eip-7523) | 15537394 |
90
+ | [EIP-7610](https://github.com/ethereum/EIPs/pull/8161) | 0 |
91
+
92
+
93
+ ## Execution Specification (work-in-progress)
94
+
95
+ The execution specification is a python implementation of Ethereum that prioritizes readability and simplicity. It will accompanied by both narrative and API level documentation of the various components written in markdown and rendered using docc...
96
+
97
+ * [Rendered specification](https://ethereum.github.io/execution-specs/)
98
+
99
+ ## Usage
100
+
101
+ The Ethereum specification is maintained as a Python library, for better integration with tooling and testing.
102
+
103
+ Requires Python 3.10+
104
+
105
+ ### Building
106
+
107
+ Building the documentation is most easily done through [`tox`](https://tox.readthedocs.io/en/latest/):
108
+
109
+ ```bash
110
+ $ tox -e doc
111
+ ```
112
+
113
+ The path to the generated HTML will be printed to the console.
114
+
115
+ # License
116
+
117
+ The Ethereum Execution Layer Specification code is licensed under the [Creative Commons Zero v1.0 Universal](https://github.com/ethereum/execution-specs/blob/master/LICENSE.md).
@@ -0,0 +1,70 @@
1
+ # Ethereum Execution Client Specifications
2
+
3
+ [![GitPOAP Badge](https://public-api.gitpoap.io/v1/repo/ethereum/execution-specs/badge)](https://www.gitpoap.io/gh/ethereum/execution-specs)
4
+ [![codecov](https://codecov.io/gh/ethereum/execution-specs/graph/badge.svg?token=0LQZO56RTM)](https://codecov.io/gh/ethereum/execution-specs)
5
+
6
+ ## Description
7
+
8
+ This repository contains the specifications related to the Ethereum execution client, specifically the [pyspec](/src/ethereum/frontier/fork.py) and specifications for [network upgrades](/network-upgrades). The [JSON-RPC API specification](https://github.com/ethereum/execution-apis) can be found in a separate repository.
9
+
10
+ ### Ethereum Protocol Releases
11
+
12
+ | Version and Code Name | Block No. | Released | Incl EIPs | Specs | Blog |
13
+ |-----------------------|-----------|----------|-----------|-------|-------|
14
+ | Cancun | 19426587 | 2024-03-13<br />(1710338135) | [EIP-1153](https://eips.ethereum.org/EIPS/eip-1153) </br> [EIP-4788](https://eips.ethereum.org/EIPS/eip-4788)</br> [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844)</br> [EIP-5656](https://eips.ethereum.org/EIPS/eip-5656)</br> [EIP-6780](https://eips.ethereum.org/EIPS/eip-6780)</br> [EIP-7516](https://eips.ethereum.org/EIPS/eip-7516)| [Specification](https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/cancun.md) | [Blog](https://blog.ethereum.org/2024/02/27/dencun-mainnet-announcement) |
15
+ | Shanghai | 17034870 | 2023-04-12<br/>(1681338455) | [EIP-3651](https://eips.ethereum.org/EIPS/eip-3651) <br/> [EIP-3855](https://eips.ethereum.org/EIPS/eip-3855) <br/> [EIP-3860](https://eips.ethereum.org/EIPS/eip-3860) <br/> [EIP-4895](https://eips.ethereum.org/EIPS/eip-4895) | [Specification](https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/shanghai.md) | [Blog](https://blog.ethereum.org/2023/03/28/shapella-mainnet-announcement) |
16
+ | Paris | 15537394 | 2022-09-15 | [EIP-3675](https://eips.ethereum.org/EIPS/eip-3675) <br/> [EIP-4399](https://eips.ethereum.org/EIPS/eip-4399) | [Specification](https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/paris.md) | [Blog](https://blog.ethereum.org/2022/08/24/mainnet-merge-announcement) |
17
+ | Gray Glacier | 15050000 | 2022-06-30 | [EIP-5133](https://eips.ethereum.org/EIPS/eip-5133) | [Specification](./network-upgrades/mainnet-upgrades/gray-glacier.md) | [Blog](https://blog.ethereum.org/2022/06/16/gray-glacier-announcement/) |
18
+ | Arrow Glacier | 13773000 | 2021-12-09 | [EIP-4345](https://eips.ethereum.org/EIPS/eip-4345) | [Specification](./network-upgrades/mainnet-upgrades/arrow-glacier.md) | [Blog](https://blog.ethereum.org/2021/11/10/arrow-glacier-announcement/) |
19
+ | London | 12965000 | 2021-08-05 | [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559) <br> [EIP-3198](https://eips.ethereum.org/EIPS/eip-3198) <br/> [EIP-3529](https://eips.ethereum.org/EIPS/eip-3529) <br/> [EIP-3541](https://eips.ethereum.org/EIPS/eip-3541) <br> [EIP-3554](https://eips.ethereum.org/EIPS/eip-3554)| [Specification](https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/london.md) | [Blog](https://blog.ethereum.org/2021/07/15/london-mainnet-announcement/) |
20
+ | Berlin | 12244000 | 2021-04-15 | [EIP-2565](https://eips.ethereum.org/EIPS/eip-2565) <br/> [EIP-2929](https://eips.ethereum.org/EIPS/eip-2929) <br/> [EIP-2718](https://eips.ethereum.org/EIPS/eip-2718) <br/> [EIP-2930](https://eips.ethereum.org/EIPS/eip-2930) | ~[HFM-2070](https://eips.ethereum.org/EIPS/eip-2070)~ <br/> [Specification](https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/berlin.md) | [Blog](https://blog.ethereum.org/2021/03/08/ethereum-berlin-upgrade-announcement/) |
21
+ | Muir Glacier | 9200000 | 2020-01-02 | [EIP-2384](https://eips.ethereum.org/EIPS/eip-2384) | [HFM-2387](https://eips.ethereum.org/EIPS/eip-2387) | [Blog](https://blog.ethereum.org/2019/12/23/ethereum-muir-glacier-upgrade-announcement/) |
22
+ | Istanbul | 9069000 | 2019-12-07 | [EIP-152](https://eips.ethereum.org/EIPS/eip-152) <br/> [EIP-1108](https://eips.ethereum.org/EIPS/eip-1108) <br/> [EIP-1344](https://eips.ethereum.org/EIPS/eip-1344) <br/> [EIP-1884](https://eips.ethereum.org/EIPS/eip-1884) <br/> [EIP-2028](https://eips.ethereum.org/EIPS/eip-2028) <br/> [EIP-2200](https://eips.ethereum.org/EIPS/eip-2200) | [HFM-1679](https://eips.ethereum.org/EIPS/eip-1679) | [Blog](https://blog.ethereum.org/2019/11/20/ethereum-istanbul-upgrade-announcement/)
23
+ | Petersburg | 7280000 | 2019-02-28 | [EIP-145](https://eips.ethereum.org/EIPS/eip-145) <br/> [EIP-1014](https://eips.ethereum.org/EIPS/eip-1014) <br/> [EIP-1052](https://eips.ethereum.org/EIPS/eip-1052) <br/> [EIP-1234](https://eips.ethereum.org/EIPS/eip-1234) | [HFM-1716](https://eips.ethereum.org/EIPS/eip-1716) | [Blog](https://blog.ethereum.org/2019/02/22/ethereum-constantinople-st-petersburg-upgrade-announcement/) |
24
+ | Constantinople | 7280000 | 2019-02-28 | [EIP-145](https://eips.ethereum.org/EIPS/eip-145) <br/> [EIP-1014](https://eips.ethereum.org/EIPS/eip-1014) <br/> [EIP-1052](https://eips.ethereum.org/EIPS/eip-1052) <br/> [EIP-1234](https://eips.ethereum.org/EIPS/eip-1234) <br/> [EIP-1283](https://eips.ethereum.org/EIPS/eip-1283) | [HFM-1013](https://eips.ethereum.org/EIPS/eip-1013) | [Blog](https://blog.ethereum.org/2019/02/22/ethereum-constantinople-st-petersburg-upgrade-announcement/) |
25
+ | Byzantium | 4370000 | 2017-10-16 | [EIP-100](https://eips.ethereum.org/EIPS/eip-100) <br/> [EIP-140](https://eips.ethereum.org/EIPS/eip-140) <br/> [EIP-196](https://eips.ethereum.org/EIPS/eip-196) <br/> [EIP-197](https://eips.ethereum.org/EIPS/eip-197) <br/> [EIP-198](https://eips.ethereum.org/EIPS/eip-198) <br/> [EIP-211](https://eips.ethereum.org/EIPS/eip-211) <br/> [EIP-214](https://eips.ethereum.org/EIPS/eip-214) <br/> [EIP-649](https://eips.ethereum.org/EIPS/eip-649) <br/> [EIP-658](https://eips.ethereum.org/EIPS/eip-658) | [HFM-609](https://eips.ethereum.org/EIPS/eip-609) | [Blog](https://blog.ethereum.org/2017/10/12/byzantium-hf-announcement/) |
26
+ | Spurious Dragon | 2675000 | 2016-11-22 | [EIP-155](https://eips.ethereum.org/EIPS/eip-155) <br/> [EIP-160](https://eips.ethereum.org/EIPS/eip-160) <br/> [EIP-161](https://eips.ethereum.org/EIPS/eip-161) <br/> [EIP-170](https://eips.ethereum.org/EIPS/eip-170) | [HFM-607](https://eips.ethereum.org/EIPS/eip-607) | [Blog](https://blog.ethereum.org/2016/11/18/hard-fork-no-4-spurious-dragon/) |
27
+ | Tangerine Whistle | 2463000 | 2016-10-18 | [EIP-150](https://eips.ethereum.org/EIPS/eip-150) | [HFM-608](https://eips.ethereum.org/EIPS/eip-608) | [Blog](https://blog.ethereum.org/2016/10/13/announcement-imminent-hard-fork-eip150-gas-cost-changes/) |
28
+ | DAO Fork | 1920000 | 2016-07-20 | | [HFM-779](https://eips.ethereum.org/EIPS/eip-779) | [Blog](https://blog.ethereum.org/2016/07/15/to-fork-or-not-to-fork/) |
29
+ | DAO Wars | aborted | aborted | | | [Blog](https://blog.ethereum.org/2016/06/24/dao-wars-youre-voice-soft-fork-dilemma/) |
30
+ | Homestead | 1150000 | 2016-03-14 | [EIP-2](https://eips.ethereum.org/EIPS/eip-2) <br/> [EIP-7](https://eips.ethereum.org/EIPS/eip-7) <br/> [EIP-8](https://eips.ethereum.org/EIPS/eip-8) | [HFM-606](https://eips.ethereum.org/EIPS/eip-606) | [Blog](https://blog.ethereum.org/2016/02/29/homestead-release/) |
31
+ | Frontier Thawing | 200000 | 2015-09-07 | | | [Blog](https://blog.ethereum.org/2015/08/04/the-thawing-frontier/) |
32
+ | Frontier | 1 | 2015-07-30 | | | [Blog](https://blog.ethereum.org/2015/07/22/frontier-is-coming-what-to-expect-and-how-to-prepare/) |
33
+
34
+ *Note:* Starting with Paris, updates are no longer rolled out based on block numbers. Paris was enabled once proof-of-work Total Difficulty reached 58750000000000000000000. As of Shanghai (at 1681338455), upgrade activation is based on timestamps.
35
+
36
+ Some clarifications were enabled without protocol releases:
37
+
38
+ | EIP | Block No. |
39
+ |-----|-----------|
40
+ | [EIP-2681](https://eips.ethereum.org/EIPS/eip-2681) | 0 |
41
+ | [EIP-3607](https://eips.ethereum.org/EIPS/eip-3607) | 0 |
42
+ | [EIP-7523](https://eips.ethereum.org/EIPS/eip-7523) | 15537394 |
43
+ | [EIP-7610](https://github.com/ethereum/EIPs/pull/8161) | 0 |
44
+
45
+
46
+ ## Execution Specification (work-in-progress)
47
+
48
+ The execution specification is a python implementation of Ethereum that prioritizes readability and simplicity. It will accompanied by both narrative and API level documentation of the various components written in markdown and rendered using docc...
49
+
50
+ * [Rendered specification](https://ethereum.github.io/execution-specs/)
51
+
52
+ ## Usage
53
+
54
+ The Ethereum specification is maintained as a Python library, for better integration with tooling and testing.
55
+
56
+ Requires Python 3.10+
57
+
58
+ ### Building
59
+
60
+ Building the documentation is most easily done through [`tox`](https://tox.readthedocs.io/en/latest/):
61
+
62
+ ```bash
63
+ $ tox -e doc
64
+ ```
65
+
66
+ The path to the generated HTML will be printed to the console.
67
+
68
+ # License
69
+
70
+ The Ethereum Execution Layer Specification code is licensed under the [Creative Commons Zero v1.0 Universal](https://github.com/ethereum/execution-specs/blob/master/LICENSE.md).
@@ -0,0 +1,89 @@
1
+ [build-system]
2
+ requires = ["setuptools", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [tool.isort]
6
+ profile = "black"
7
+ multi_line_output = 3
8
+ line_length = 79
9
+
10
+ [tool.black]
11
+ line-length = 79
12
+
13
+ [tool.pytest.ini_options]
14
+ markers = [
15
+ "slow: marks tests as slow (deselect with '-m \"not slow\"')",
16
+ "bigmem: marks tests as big memory (deselect with '-m \"not bigmem\"')",
17
+ "evm_tools: marks tests as evm_tools (deselect with '-m \"not evm_tools\"')",
18
+ ]
19
+
20
+ [tool.coverage.run]
21
+ omit = [
22
+ "*/ethereum/*_glacier/*",
23
+ "*/ethereum/dao_fork/*",
24
+ ]
25
+
26
+ [tool.docc]
27
+ context = [
28
+ "docc.references.context",
29
+ "docc.search.context",
30
+ "docc.html.context",
31
+ ]
32
+
33
+ discovery = [
34
+ "docc.search.discover",
35
+ "docc.html.discover",
36
+ "docc.python.discover",
37
+ "ethereum_spec_tools.docc.discover",
38
+ "docc.listing.discover",
39
+ "docc.files.discover",
40
+ ]
41
+
42
+ build = [
43
+ "docc.search.build",
44
+ "ethereum_spec_tools.docc.build",
45
+ "docc.files.build",
46
+ "docc.listing.build",
47
+ "docc.resources.build",
48
+ ]
49
+
50
+ transform = [
51
+ "docc.python.transform",
52
+ "docc.verbatim.transform",
53
+ "docc.mistletoe.transform",
54
+ "docc.mistletoe.reference",
55
+ "ethereum_spec_tools.docc.fix-indexes",
56
+ "ethereum_spec_tools.docc.minimize-diffs",
57
+ "docc.references.index",
58
+ "docc.search.transform",
59
+ "docc.html.transform",
60
+ ]
61
+
62
+ [tool.docc.plugins."docc.python.transform"]
63
+ excluded_references = [
64
+ "ethereum_spec_tools.lint.lints", # This is a namespace package.
65
+ ]
66
+
67
+ [tool.docc.plugins."docc.python.discover"]
68
+ paths = [
69
+ "src",
70
+ ]
71
+
72
+ excluded_paths = [
73
+ "src/ethereum_optimized",
74
+ "src/ethereum_spec_tools",
75
+ ]
76
+
77
+ [tool.docc.plugins."docc.html.context"]
78
+ extra_css = [
79
+ "static/custom.css",
80
+ ]
81
+
82
+ [tool.docc.plugins."docc.files.discover"]
83
+ files = [
84
+ "static/custom.css",
85
+ ]
86
+
87
+ [tool.docc.output]
88
+ path = "docs"
89
+ extension = ".html"
@@ -0,0 +1,215 @@
1
+ [metadata]
2
+ name = ethereum-execution
3
+ description = Ethereum execution layer specification, provided as a Python package for tooling and testing
4
+ long_description = file: README.md
5
+ long_description_content_type = text/markdown
6
+ version = attr: ethereum.__version__
7
+ url = https://github.com/ethereum/execution-specs
8
+ license_files =
9
+ LICENSE.md
10
+ classifiers =
11
+ License :: CC0 1.0 Universal (CC0 1.0) Public Domain Dedication
12
+ Programming Language :: Python :: 3
13
+ Programming Language :: Python :: 3.10
14
+ Programming Language :: Python :: Implementation :: PyPy
15
+ Programming Language :: Python :: Implementation :: CPython
16
+ Intended Audience :: Developers
17
+ Natural Language :: English
18
+
19
+ [options]
20
+ packages =
21
+ ethereum_spec_tools
22
+ ethereum_spec_tools/evm_tools
23
+ ethereum_spec_tools/evm_tools/t8n
24
+ ethereum_spec_tools/evm_tools/b11r
25
+ ethereum_spec_tools/evm_tools/statetest
26
+ ethereum_spec_tools/evm_tools/loaders
27
+ ethereum_spec_tools/lint
28
+ ethereum_spec_tools/lint/lints
29
+ ethereum
30
+ ethereum/frontier
31
+ ethereum/frontier/utils
32
+ ethereum/frontier/vm
33
+ ethereum/frontier/vm/instructions
34
+ ethereum/frontier/vm/precompiled_contracts
35
+ ethereum/utils
36
+ ethereum/crypto
37
+ ethereum_optimized/
38
+ ethereum/homestead
39
+ ethereum/homestead/utils
40
+ ethereum/homestead/vm
41
+ ethereum/homestead/vm/instructions
42
+ ethereum/homestead/vm/precompiled_contracts
43
+ ethereum/dao_fork
44
+ ethereum/dao_fork/utils
45
+ ethereum/dao_fork/vm
46
+ ethereum/dao_fork/vm/instructions
47
+ ethereum/dao_fork/vm/precompiled_contracts
48
+ ethereum/tangerine_whistle
49
+ ethereum/tangerine_whistle/utils
50
+ ethereum/tangerine_whistle/vm
51
+ ethereum/tangerine_whistle/vm/instructions
52
+ ethereum/tangerine_whistle/vm/precompiled_contracts
53
+ ethereum/spurious_dragon
54
+ ethereum/spurious_dragon/utils
55
+ ethereum/spurious_dragon/vm
56
+ ethereum/spurious_dragon/vm/instructions
57
+ ethereum/spurious_dragon/vm/precompiled_contracts
58
+ ethereum/byzantium
59
+ ethereum/byzantium/utils
60
+ ethereum/byzantium/vm
61
+ ethereum/byzantium/vm/instructions
62
+ ethereum/byzantium/vm/precompiled_contracts
63
+ ethereum/constantinople
64
+ ethereum/constantinople/utils
65
+ ethereum/constantinople/vm
66
+ ethereum/constantinople/vm/instructions
67
+ ethereum/constantinople/vm/precompiled_contracts
68
+ ethereum/istanbul
69
+ ethereum/istanbul/utils
70
+ ethereum/istanbul/vm
71
+ ethereum/istanbul/vm/instructions
72
+ ethereum/istanbul/vm/precompiled_contracts
73
+ ethereum/muir_glacier
74
+ ethereum/muir_glacier/utils
75
+ ethereum/muir_glacier/vm
76
+ ethereum/muir_glacier/vm/instructions
77
+ ethereum/muir_glacier/vm/precompiled_contracts
78
+ ethereum/berlin
79
+ ethereum/berlin/utils
80
+ ethereum/berlin/vm
81
+ ethereum/berlin/vm/instructions
82
+ ethereum/berlin/vm/precompiled_contracts
83
+ ethereum/london
84
+ ethereum/london/utils
85
+ ethereum/london/vm
86
+ ethereum/london/vm/instructions
87
+ ethereum/london/vm/precompiled_contracts
88
+ ethereum/arrow_glacier
89
+ ethereum/arrow_glacier/utils
90
+ ethereum/arrow_glacier/vm
91
+ ethereum/arrow_glacier/vm/instructions
92
+ ethereum/arrow_glacier/vm/precompiled_contracts
93
+ ethereum/gray_glacier
94
+ ethereum/gray_glacier/utils
95
+ ethereum/gray_glacier/vm
96
+ ethereum/gray_glacier/vm/instructions
97
+ ethereum/gray_glacier/vm/precompiled_contracts
98
+ ethereum/paris
99
+ ethereum/paris/utils
100
+ ethereum/paris/vm
101
+ ethereum/paris/vm/instructions
102
+ ethereum/paris/vm/precompiled_contracts
103
+ ethereum/shanghai
104
+ ethereum/shanghai/utils
105
+ ethereum/shanghai/vm
106
+ ethereum/shanghai/vm/instructions
107
+ ethereum/shanghai/vm/precompiled_contracts
108
+ ethereum/cancun
109
+ ethereum/cancun/utils
110
+ ethereum/cancun/vm
111
+ ethereum/cancun/vm/instructions
112
+ ethereum/cancun/vm/precompiled_contracts
113
+ ethereum/prague
114
+ ethereum/prague/utils
115
+ ethereum/prague/vm
116
+ ethereum/prague/vm/instructions
117
+ ethereum/prague/vm/precompiled_contracts
118
+ ethereum/prague/vm/precompiled_contracts/bls12_381
119
+ package_dir =
120
+ =src
121
+ python_requires = >=3.10
122
+ install_requires =
123
+ pycryptodome>=3,<4
124
+ coincurve>=20,<21
125
+ typing_extensions>=4.2
126
+ py-ecc>=8.0.0b2,<9
127
+ ethereum-types>=0.2.1,<0.3
128
+ ethereum-rlp>=0.1.1,<0.2
129
+
130
+ [options.package_data]
131
+ ethereum =
132
+ py.typed
133
+ assets/mainnet.json
134
+ assets/mainnet_genesis_alloc_rlp.hex
135
+ assets/cache_sizes_2048_epochs.json
136
+ assets/dataset_sizes_2048_epochs.json
137
+ assets/blocks/block_1.json
138
+ assets/blocks/block_1234567.json
139
+ assets/blocks/block_12964999.json
140
+ ethereum_spec_tools =
141
+ py.typed
142
+
143
+ [options.entry_points]
144
+ console_scripts =
145
+ ethereum-spec-lint = ethereum_spec_tools.lint:main
146
+ ethereum-spec-sync = ethereum_spec_tools.sync:main
147
+ ethereum-spec-new-fork = ethereum_spec_tools.new_fork:main
148
+ ethereum-spec-patch = ethereum_spec_tools.patch_tool:main
149
+ ethereum-spec-evm = ethereum_spec_tools.evm_tools:main
150
+ docc.plugins =
151
+ ethereum_spec_tools.docc.discover = ethereum_spec_tools.docc:EthereumDiscover
152
+ ethereum_spec_tools.docc.build = ethereum_spec_tools.docc:EthereumBuilder
153
+ ethereum_spec_tools.docc.fix-indexes = ethereum_spec_tools.docc:FixIndexTransform
154
+ ethereum_spec_tools.docc.minimize-diffs = ethereum_spec_tools.docc:MinimizeDiffsTransform
155
+ docc.plugins.html =
156
+ ethereum_spec_tools.docc:DiffNode = ethereum_spec_tools.docc:render_diff
157
+ ethereum_spec_tools.docc:BeforeNode = ethereum_spec_tools.docc:render_before_after
158
+ ethereum_spec_tools.docc:AfterNode = ethereum_spec_tools.docc:render_before_after
159
+
160
+ [options.extras_require]
161
+ test =
162
+ pytest>=7.4.0,<8
163
+ pytest-cov>=4.1.0,<5
164
+ pytest-xdist>=3.3.1,<4
165
+ GitPython>=3.1.0,<3.2
166
+ filelock>=3.12.3,<3.13
167
+ requests
168
+ lint =
169
+ types-setuptools>=68.1.0.1,<69
170
+ isort==5.13.2
171
+ mypy==1.14.1
172
+ black==23.12.0
173
+ flake8==6.1.0
174
+ flake8-bugbear==23.12.2
175
+ flake8-docstrings==1.7.0
176
+ flake8-spellcheck==0.28.0
177
+ tools =
178
+ platformdirs>=4.2,<5
179
+ doc =
180
+ docc>=0.2.2,<0.3.0
181
+ fladrif>=0.2.0,<0.3.0
182
+ optimized =
183
+ rust-pyspec-glue>=0.0.9,<0.1.0
184
+ ethash>=1.1.0,<2
185
+
186
+ [flake8]
187
+ dictionaries = en_US,python,technical
188
+ docstring-convention = all
189
+ extend-ignore =
190
+ E203
191
+ D107
192
+ D200
193
+ D203
194
+ D205
195
+ D212
196
+ D400
197
+ D401
198
+ D410
199
+ D411
200
+ D412
201
+ D413
202
+ D414
203
+ D415
204
+ D416
205
+ extend-exclude =
206
+ setup.py
207
+ doc/
208
+ tests/fixtures/
209
+ per-file-ignores =
210
+ tests/*:D100,D101,D103,D104,E501,SC100,SC200
211
+
212
+ [egg_info]
213
+ tag_build =
214
+ tag_date = 0
215
+
@@ -0,0 +1,3 @@
1
+ import setuptools
2
+
3
+ setuptools.setup()
@@ -0,0 +1,27 @@
1
+ """
2
+ ### Introduction
3
+
4
+ Seeing as internet connections have been vastly expanding across the
5
+ world, spreading information has become as cheap as ever. Bitcoin, for
6
+ example, has demonstrated the possibility of creating a decentralized,
7
+ trade system that is accessible around the world. Namecoin is another
8
+ system that built off of Bitcoin's currency structure to create other
9
+ simple technological applications.
10
+
11
+ Ethereum's goal is to create a cryptographically secure system in which
12
+ any and all types of transaction-based concepts can be built. It provides
13
+ an exceptionally accessible and decentralized system to build software
14
+ and execute transactions.
15
+
16
+ This package contains a reference implementation, written as simply as
17
+ possible, to aid in defining the behavior of Ethereum clients.
18
+ """
19
+ import sys
20
+
21
+ __version__ = "1.17.0.dev1"
22
+
23
+ #
24
+ # Ensure we can reach 1024 frames of recursion
25
+ #
26
+ EVM_RECURSION_LIMIT = 1024 * 12
27
+ sys.setrecursionlimit(max(EVM_RECURSION_LIMIT, sys.getrecursionlimit()))
@@ -0,0 +1,8 @@
1
+ """
2
+ The Arrow Glacier fork delays the difficulty bomb. There are no other changes
3
+ in this fork.
4
+ """
5
+
6
+ from ethereum.fork_criteria import ByBlockNumber
7
+
8
+ FORK_CRITERIA = ByBlockNumber(13773000)