Commit 1a46a9b
authored
epic(eth): protos, go-ethereum, eth types, and evm module types (#1837)
* feat(eth): protos, eth types, and evm module types
* chore: changelog
* feat(eth): unit tests for types, crypto, encoding (#1838)
* feat(eth): unit tests for types, crypto, encoding
## Impl `go-ethereum`
Adds `go-ethereum` fork with an `Interpreter` interface for running smart
contracts in integration tests.
```go
type Interpreter interface {
// Run loops and evaluates the contract's code with the given input data and returns
// the return byte-slice and an error if one occurred.
Run(contract *Contract, input []byte, static bool) ([]byte, error)
}
```
An `Interpreter` is used to run Ethereum based contracts and will utilize the
passed environment to query external sources for state information.
The Interpreter will run the byte code VM based on the passed
configuration.
Changes from go-ethereum v1.11:
* Set `callcode` to use `readOnly` mode for precompiled calls.
* Remove `IsStateful` function from the `PrecompiledContract` interface, as this remains unused.
* Support stateful precompiled contracts.
* Add `Address` function to `PrecompiledContract` interface.
* Implement custom active precompiles for the EVM.
* Define `Interpreter` interface for the EVM.
* Move the `JumpTable` defaults to a separate function.
* Refactor `Stack` implementation
* chore: linter
* docs(sample.go): PrivKeyEth
* refactor: fix copyright lines and LICENSE entity
* feat(eth): Collections encoders for bytes, Ethereum addresses, and Ethereum hashes (#1841)1 parent 92662eb commit 1a46a9b
File tree
1,894 files changed
+695438
-27
lines changed- cmd/ethclient
- eth
- crypto
- codec
- ethsecp256k1
- hd
- keyring
- secp256r1
- encoding
- codec
- ethereum/eip712
- types
- geth
- .github
- ISSUE_TEMPLATE
- workflows
- accounts
- abi
- bind
- backends
- external
- keystore
- testdata
- dupes
- keystore
- foo
- v1/cb61d5a9c4896fb9658090b597ef0e7be6f7b67e
- scwallet
- usbwallet
- trezor
- cmd
- abidump
- abigen
- bootnode
- checkpoint-admin
- clef
- docs
- qubes
- testdata
- tests
- devp2p
- internal
- ethtest
- testdata
- v4test
- v5test
- ethkey
- evm
- internal
- compiler
- t8ntool
- testdata
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 1
- 20
- 21
- 22
- 23
- 24
- 2
- 3
- 4
- 5
- 7
- 8
- 9
- faucet
- geth
- testdata
- vcheck
- minisig-sigs
- signify-sigs
- sigs
- p2psim
- puppeth
- testdata
- rlpdump
- utils
- common
- bitutil
- compiler
- fdlimit
- hexutil
- math
- mclock
- prque
- consensus
- beacon
- clique
- ethash
- misc
- console
- prompt
- testdata
- contracts/checkpointoracle
- contract
- core
- asm
- beacon
- bloombits
- forkid
- rawdb
- testdata
- state
- pruner
- snapshot
- types
- vm
- runtime
- testdata
- precompiles
- crypto
- blake2b
- bls12381
- bn256
- cloudflare
- google
- ecies
- secp256k1
- libsecp256k1
- build-aux/m4
- contrib
- include
- obj
- sage
- src
- asm
- java
- org/bitcoin
- modules
- ecdh
- recovery
- signify
- docs
- audits
- postmortems
- ethclient
- gethclient
- ethdb
- dbtest
- leveldb
- memorydb
- remotedb
- ethstats
- eth
- catalyst
- downloader
- ethconfig
- fetcher
- filters
- gasprice
- protocols
- eth
- snap
- tracers
- internal/tracetest
- testdata
- call_tracer_legacy
- call_tracer
- js
- internal/tracers
- logger
- native
- event
- graphql
- internal
- cmdtest
- debug
- ethapi
- flags
- guide
- jsre
- deps
- shutdowncheck
- syncx
- testlog
- utesting
- web3ext
- les
- catalyst
- checkpointoracle
- downloader
- fetcher
- flowcontrol
- utils
- vflux
- client
- server
- light
- log
- metrics
- exp
- influxdb
- librato
- prometheus
- miner
- stress
- 1559
- beacon
- clique
- ethash
- mobile
- node
- p2p
- discover
- v4wire
- v5wire
- testdata
- dnsdisc
- enode
- enr
- msgrate
- nat
- netutil
- nodestate
- rlpx
- simulations
- adapters
- examples
- pipes
- tracker
- params
- rlp
- internal/rlpstruct
- rlpgen
- testdata
- rpc
- testdata
- signer
- core
- apitypes
- testdata
- fuzzing
- fourbyte
- rules
- storage
- swarm
- tests
- fuzzers
- abi
- bitutil
- bls12381
- testdata
- bn256
- difficulty
- debug
- keystore
- corpus
- les
- debug
- rangeproof
- corpus
- debug
- rlp
- corpus
- runtime
- secp256k1
- snap
- debug
- stacktrie
- debug
- trie
- txfetcher
- corpus
- vflux
- debug
- solidity
- contracts
- migrations
- test
- trie
- proto/eth
- evm/v1
- types/v1
- x
- common/testutil
- evm
- statedb
- types
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
1,894 files changed
+695438
-27
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
58 | 58 | | |
59 | 59 | | |
60 | 60 | | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
61 | 67 | | |
62 | 68 | | |
63 | 69 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
186 | 186 | | |
187 | 187 | | |
188 | 188 | | |
189 | | - | |
| 189 | + | |
190 | 190 | | |
191 | 191 | | |
192 | 192 | | |
| |||
199 | 199 | | |
200 | 200 | | |
201 | 201 | | |
202 | | - | |
203 | | - | |
204 | | - | |
205 | | - | |
206 | | - | |
207 | | - | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
0 commit comments