forked from cerc-io/laconicd-deprecated
deps: upgrade geth to v1.10.15 (#935)
* upgrade geth to v1.10.15 * fix lint * fix imports * revert makefile change * update changelog * Update CHANGELOG.md Co-authored-by: Guillermo Paoletti <guillermo.paoletti@gmail.com> * update chain config * add getblockvalue for chain config fork Co-authored-by: Guillermo Paoletti <guillermo.paoletti@gmail.com> Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
This commit is contained in:
parent
1baccfaee5
commit
aeedef9b4b
@ -55,6 +55,7 @@ Ref: https://keepachangelog.com/en/1.0.0/
|
||||
* (evm) Fix `SelfDestruct` opcode by deleting account code and state.
|
||||
* (feemarket) [tharsis#855](https://github.com/tharsis/ethermint/pull/855) consistent `BaseFee` check logic.
|
||||
* (evm) [tharsis#729](https://github.com/tharsis/ethermint/pull/729) Refactor EVM StateDB implementation.
|
||||
* (evm) [tharsis#935](https://github.com/tharsis/ethermint/pull/935) Bumb Go-ethereum version to [`v1.10.15`](https://github.com/ethereum/go-ethereum/releases/tag/v1.10.15)
|
||||
|
||||
### Improvements
|
||||
|
||||
|
@ -19,7 +19,7 @@ type EVMKeeper interface {
|
||||
|
||||
ChainID() *big.Int
|
||||
GetParams(ctx sdk.Context) evmtypes.Params
|
||||
NewEVM(ctx sdk.Context, msg core.Message, cfg *evmtypes.EVMConfig, tracer vm.Tracer, stateDB vm.StateDB) *vm.EVM
|
||||
NewEVM(ctx sdk.Context, msg core.Message, cfg *evmtypes.EVMConfig, tracer vm.EVMLogger, stateDB vm.StateDB) *vm.EVM
|
||||
DeductTxCostsFromUserBalance(
|
||||
ctx sdk.Context, msgEthTx evmtypes.MsgEthereumTx, txData evmtypes.TxData, denom string, homestead, istanbul, london bool,
|
||||
) (sdk.Coins, error)
|
||||
|
@ -68,6 +68,8 @@ func (suite *AnteTestSuite) SetupTest() {
|
||||
evmGenesis := evmtypes.DefaultGenesisState()
|
||||
maxInt := sdk.NewInt(math.MaxInt64)
|
||||
evmGenesis.Params.ChainConfig.LondonBlock = &maxInt
|
||||
evmGenesis.Params.ChainConfig.ArrowGlacierBlock = &maxInt
|
||||
evmGenesis.Params.ChainConfig.MergeForkBlock = &maxInt
|
||||
genesis[evmtypes.ModuleName] = app.AppCodec().MustMarshalJSON(evmGenesis)
|
||||
}
|
||||
return genesis
|
||||
|
@ -106,6 +106,10 @@ import (
|
||||
"github.com/tharsis/ethermint/x/feemarket"
|
||||
feemarketkeeper "github.com/tharsis/ethermint/x/feemarket/keeper"
|
||||
feemarkettypes "github.com/tharsis/ethermint/x/feemarket/types"
|
||||
|
||||
// Force-load the tracer engines to trigger registration due to Go-Ethereum v1.10.15 changes
|
||||
_ "github.com/ethereum/go-ethereum/eth/tracers/js"
|
||||
_ "github.com/ethereum/go-ethereum/eth/tracers/native"
|
||||
)
|
||||
|
||||
func init() {
|
||||
|
@ -179,6 +179,8 @@ instead of *big.Int.
|
||||
| `muir_glacier_block` | [string](#string) | | Eip-2384 (bomb delay) switch block (nil no fork, 0 = already activated) |
|
||||
| `berlin_block` | [string](#string) | | Berlin switch block (nil = no fork, 0 = already on berlin) |
|
||||
| `london_block` | [string](#string) | | London switch block (nil = no fork, 0 = already on london) |
|
||||
| `arrow_glacier_block` | [string](#string) | | Eip-4345 (bomb delay) switch block (nil = no fork, 0 = already activated) |
|
||||
| `merge_fork_block` | [string](#string) | | EIP-3675 (TheMerge) switch block (nil = no fork, 0 = already in merge proceedings) |
|
||||
|
||||
|
||||
|
||||
|
16
go.mod
16
go.mod
@ -9,7 +9,7 @@ require (
|
||||
github.com/cosmos/go-bip39 v1.0.0
|
||||
github.com/cosmos/ibc-go/v3 v3.0.0-beta1
|
||||
github.com/davecgh/go-spew v1.1.1
|
||||
github.com/ethereum/go-ethereum v1.10.11
|
||||
github.com/ethereum/go-ethereum v1.10.15
|
||||
github.com/gogo/protobuf v1.3.3
|
||||
github.com/golang/protobuf v1.5.2
|
||||
github.com/gorilla/mux v1.8.0
|
||||
@ -35,8 +35,8 @@ require (
|
||||
github.com/tendermint/tm-db v0.6.4
|
||||
github.com/tyler-smith/go-bip39 v1.1.0
|
||||
go.etcd.io/bbolt v1.3.6 // indirect
|
||||
golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3 // indirect
|
||||
google.golang.org/genproto v0.0.0-20211223182754-3ac035c7e7cb
|
||||
golang.org/x/crypto v0.0.0-20220213190939-1e6e3497d506 // indirect
|
||||
google.golang.org/genproto v0.0.0-20220211171837-173942840c17
|
||||
google.golang.org/grpc v1.44.0
|
||||
google.golang.org/protobuf v1.27.1
|
||||
gopkg.in/yaml.v2 v2.4.0
|
||||
@ -47,9 +47,13 @@ require (
|
||||
github.com/99designs/keyring v1.1.6 // indirect
|
||||
github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d // indirect
|
||||
github.com/DataDog/zstd v1.4.8 // indirect
|
||||
github.com/Masterminds/goutils v1.1.1 // indirect
|
||||
github.com/Masterminds/semver v1.5.0 // indirect
|
||||
github.com/Masterminds/sprig v2.22.0+incompatible // indirect
|
||||
github.com/StackExchange/wmi v1.2.1 // indirect
|
||||
github.com/VictoriaMetrics/fastcache v1.6.0 // indirect
|
||||
github.com/Workiva/go-datastructures v1.0.52 // indirect
|
||||
github.com/aokoli/goutils v1.1.1 // indirect
|
||||
github.com/armon/go-metrics v0.3.10 // indirect
|
||||
github.com/beorn7/perks v1.0.1 // indirect
|
||||
github.com/bgentry/speakeasy v0.1.0 // indirect
|
||||
@ -71,6 +75,7 @@ require (
|
||||
github.com/dustin/go-humanize v1.0.0 // indirect
|
||||
github.com/dvsekhvalnov/jose2go v0.0.0-20200901110807-248326c1351b // indirect
|
||||
github.com/edsrzf/mmap-go v1.0.0 // indirect
|
||||
github.com/envoyproxy/protoc-gen-validate v0.6.3 // indirect
|
||||
github.com/felixge/httpsnoop v1.0.1 // indirect
|
||||
github.com/fsnotify/fsnotify v1.5.1 // indirect
|
||||
github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff // indirect
|
||||
@ -95,7 +100,9 @@ require (
|
||||
github.com/hashicorp/hcl v1.0.0 // indirect
|
||||
github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87 // indirect
|
||||
github.com/holiman/bloomfilter/v2 v2.0.3 // indirect
|
||||
github.com/huandu/xstrings v1.3.2 // indirect
|
||||
github.com/huin/goupnp v1.0.2 // indirect
|
||||
github.com/imdario/mergo v0.3.12 // indirect
|
||||
github.com/inconshreveable/mousetrap v1.0.0 // indirect
|
||||
github.com/jackpal/go-nat-pmp v1.0.2-0.20160603034137-1fa385a6f458 // indirect
|
||||
github.com/jmhodges/levigo v1.0.0 // indirect
|
||||
@ -108,8 +115,10 @@ require (
|
||||
github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
|
||||
github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643 // indirect
|
||||
github.com/minio/highwayhash v1.0.1 // indirect
|
||||
github.com/mitchellh/copystructure v1.2.0 // indirect
|
||||
github.com/mitchellh/mapstructure v1.4.3 // indirect
|
||||
github.com/mtibben/percent v0.2.1 // indirect
|
||||
github.com/mwitkow/go-proto-validators v0.3.2 // indirect
|
||||
github.com/nxadm/tail v1.4.8 // indirect
|
||||
github.com/olekukonko/tablewriter v0.0.5 // indirect
|
||||
github.com/onsi/gomega v1.17.0 // indirect
|
||||
@ -121,6 +130,7 @@ require (
|
||||
github.com/prometheus/common v0.29.0 // indirect
|
||||
github.com/prometheus/procfs v0.6.0 // indirect
|
||||
github.com/prometheus/tsdb v0.7.1 // indirect
|
||||
github.com/pseudomuto/protoc-gen-doc v1.5.0 // indirect
|
||||
github.com/rjeczalik/notify v0.9.1 // indirect
|
||||
github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa // indirect
|
||||
github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible // indirect
|
||||
|
45
go.sum
45
go.sum
@ -79,6 +79,14 @@ github.com/DataDog/zstd v1.4.5/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t
|
||||
github.com/DataDog/zstd v1.4.8 h1:Rpmta4xZ/MgZnriKNd24iZMhGpP5dvUcs/uqfBapKZY=
|
||||
github.com/DataDog/zstd v1.4.8/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw=
|
||||
github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0=
|
||||
github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI=
|
||||
github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU=
|
||||
github.com/Masterminds/semver v1.4.2/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y=
|
||||
github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww=
|
||||
github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y=
|
||||
github.com/Masterminds/sprig v2.15.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o=
|
||||
github.com/Masterminds/sprig v2.22.0+incompatible h1:z4yfnGrZ7netVz+0EDJ0Wi+5VZCSYp4Z0m2dk6cEM60=
|
||||
github.com/Masterminds/sprig v2.22.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o=
|
||||
github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA=
|
||||
github.com/Microsoft/go-winio v0.5.0 h1:Elr9Wn+sGKPlkaBvwu4mTrxtmOp3F3yV9qhaHbXGjwU=
|
||||
github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84=
|
||||
@ -114,6 +122,9 @@ github.com/allegro/bigcache v1.2.1 h1:hg1sY1raCwic3Vnsvje6TT7/pnZba83LeFck5NrFKS
|
||||
github.com/allegro/bigcache v1.2.1/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM=
|
||||
github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8=
|
||||
github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
|
||||
github.com/aokoli/goutils v1.0.1/go.mod h1:SijmP0QR8LtwsmDs8Yii5Z/S4trXFGFC2oO5g9DP+DQ=
|
||||
github.com/aokoli/goutils v1.1.1 h1:/hA+Ywo3AxoDZY5ZMnkiEkUvkK4BPp927ax110KCqqg=
|
||||
github.com/aokoli/goutils v1.1.1/go.mod h1:SijmP0QR8LtwsmDs8Yii5Z/S4trXFGFC2oO5g9DP+DQ=
|
||||
github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db/go.mod h1:VTxUBvSJ3s3eHAg65PNgrsn5BtqCRPdmyXh6rAfdxN0=
|
||||
github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ=
|
||||
github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ=
|
||||
@ -253,6 +264,7 @@ github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2
|
||||
github.com/danieljoos/wincred v1.0.2 h1:zf4bhty2iLuwgjgpraD2E9UbvO+fe54XXGJbOwe23fU=
|
||||
github.com/danieljoos/wincred v1.0.2/go.mod h1:SnuYRW9lp1oJrZX/dXJqr0cPK5gYXqx3EJbmjhLdK9U=
|
||||
github.com/dave/jennifer v1.2.0/go.mod h1:fIb+770HOpJ2fmN9EPPKOqm1vMGhB+TwXKMZhrIygKg=
|
||||
github.com/davecgh/go-spew v0.0.0-20161028175848-04cdfd42973b/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||
@ -301,11 +313,16 @@ github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaB
|
||||
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
|
||||
github.com/envoyproxy/go-control-plane v0.10.1/go.mod h1:AY7fTTXNdv/aJ2O5jwpxAPOWUZ7hQAEvzN5Pf27BkQQ=
|
||||
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
|
||||
github.com/envoyproxy/protoc-gen-validate v0.3.0-java/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
|
||||
github.com/envoyproxy/protoc-gen-validate v0.6.2/go.mod h1:2t7qjJNvHPx8IjnBOzl9E9/baC+qXE/TeeyBRzgJDws=
|
||||
github.com/envoyproxy/protoc-gen-validate v0.6.3 h1:HkntewfZJ9RofA/FX38zBCeIAqlLDFLbAI6eTpZqFJw=
|
||||
github.com/envoyproxy/protoc-gen-validate v0.6.3/go.mod h1:dyJXwwfPK2VSqiB9Klm1J6romD608Ba7Hij42vrOBCo=
|
||||
github.com/ethereum/go-ethereum v1.9.25/go.mod h1:vMkFiYLHI4tgPw4k2j4MHKoovchFE8plZ0M9VMk4/oM=
|
||||
github.com/ethereum/go-ethereum v1.10.4/go.mod h1:nEE0TP5MtxGzOMd7egIrbPJMQBnhVU3ELNxhBglIzhg=
|
||||
github.com/ethereum/go-ethereum v1.10.11 h1:KKIcwpmur9iTaVbR2dxlHu+peHVhU+/KX//NWvT1n9U=
|
||||
github.com/ethereum/go-ethereum v1.10.11/go.mod h1:W3yfrFyL9C1pHcwY5hmRHVDaorTiQxhYBkKyu5mEDHw=
|
||||
github.com/ethereum/go-ethereum v1.10.15 h1:E9o0kMbD8HXhp7g6UwIwntY05WTDheCGziMhegcBsQw=
|
||||
github.com/ethereum/go-ethereum v1.10.15/go.mod h1:W3yfrFyL9C1pHcwY5hmRHVDaorTiQxhYBkKyu5mEDHw=
|
||||
github.com/facebookgo/ensure v0.0.0-20160127193407-b4ab57deab51 h1:0JZ+dUmQeA8IIVUMzysrX4/AKuQwWhV2dYQuPZdvdSQ=
|
||||
github.com/facebookgo/ensure v0.0.0-20160127193407-b4ab57deab51/go.mod h1:Yg+htXGokKKdzcwhuNDwVvN+uBxDGXJ7G/VN1d8fa64=
|
||||
github.com/facebookgo/stack v0.0.0-20160209184415-751773369052 h1:JWuenKqqX8nojtoVVWjGfOF9635RETekkoH6Cc9SX0A=
|
||||
@ -478,6 +495,7 @@ github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLe
|
||||
github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
|
||||
github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
|
||||
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
|
||||
github.com/google/uuid v0.0.0-20161128191214-064e2069ce9c/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
@ -579,6 +597,9 @@ github.com/holiman/uint256 v1.1.1/go.mod h1:y4ga/t+u+Xwd7CpDgZESaRcWy0I7XMlTMA25
|
||||
github.com/holiman/uint256 v1.2.0 h1:gpSYcPLWGv4sG43I2mVLiDZCNDh/EpGjSk8tmtxitHM=
|
||||
github.com/holiman/uint256 v1.2.0/go.mod h1:y4ga/t+u+Xwd7CpDgZESaRcWy0I7XMlTMA25ApIH5Jw=
|
||||
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
|
||||
github.com/huandu/xstrings v1.0.0/go.mod h1:4qWG/gcEcfX4z/mBDHJ++3ReCw9ibxbsNJbcucJdbSo=
|
||||
github.com/huandu/xstrings v1.3.2 h1:L18LIDzqlW6xN2rEkpdV8+oL/IXWJ1APd+vsdYy4Wdw=
|
||||
github.com/huandu/xstrings v1.3.2/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
|
||||
github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg=
|
||||
github.com/huin/goupnp v1.0.0/go.mod h1:n9v9KO1tAxYH82qOn+UTIFQDmx5n1Zxd/ClZDMX7Bnc=
|
||||
github.com/huin/goupnp v1.0.1-0.20210310174557-0ca763054c88/go.mod h1:nNs7wvRfN1eKaMknBydLNQU6146XQim8t4h+q90biWo=
|
||||
@ -588,6 +609,9 @@ github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150/go.mod h1:PpLOETDnJ0o3
|
||||
github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho=
|
||||
github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
|
||||
github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
|
||||
github.com/imdario/mergo v0.3.4/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
|
||||
github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU=
|
||||
github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA=
|
||||
github.com/improbable-eng/grpc-web v0.14.1/go.mod h1:zEjGHa8DAlkoOXmswrNvhUGEYQA9UI7DhrGeHR1DMGU=
|
||||
github.com/improbable-eng/grpc-web v0.15.0 h1:BN+7z6uNXZ1tQGcNAuaU1YjsLTApzkjt2tzCixLaUPQ=
|
||||
github.com/improbable-eng/grpc-web v0.15.0/go.mod h1:1sy9HKV4Jt9aEs9JSnkWlRJPuPtwNr0l57L4f878wP8=
|
||||
@ -681,6 +705,7 @@ github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-b
|
||||
github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4=
|
||||
github.com/lucasjones/reggen v0.0.0-20180717132126-cdb49ff09d77/go.mod h1:5ELEyG+X8f+meRWHuqUOewBOhvHkl7M76pdGEansxW4=
|
||||
github.com/lyft/protoc-gen-star v0.5.3/go.mod h1:V0xaHgaf5oCCqmcxYcWiDfTiKsZsRc87/1qhoTACD8w=
|
||||
github.com/lyft/protoc-gen-star v0.6.0/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA=
|
||||
github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
|
||||
github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
|
||||
github.com/magiconair/properties v1.8.5 h1:b6kJs+EmPFMYGkow9GiUyCyOvIwYetYJ3fSaWak/Gls=
|
||||
@ -730,6 +755,8 @@ github.com/minio/highwayhash v1.0.1 h1:dZ6IIu8Z14VlC0VpfKofAhCy74wu/Qb5gcn52yWoz
|
||||
github.com/minio/highwayhash v1.0.1/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY=
|
||||
github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc=
|
||||
github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI=
|
||||
github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw=
|
||||
github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s=
|
||||
github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
|
||||
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
|
||||
github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI=
|
||||
@ -743,6 +770,8 @@ github.com/mitchellh/mapstructure v1.4.3 h1:OVowDSCllw/YjdLkam3/sm7wEtOy59d8ndGg
|
||||
github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
|
||||
github.com/mitchellh/pointerstructure v1.2.0 h1:O+i9nHnXS3l/9Wu7r4NrEdwA2VFTicjUEN1uBnDo34A=
|
||||
github.com/mitchellh/pointerstructure v1.2.0/go.mod h1:BRAsLI5zgXmw97Lf6s25bs8ohIXc3tViBH44KcwB2g4=
|
||||
github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ=
|
||||
github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
|
||||
github.com/moby/sys/mountinfo v0.4.1/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A=
|
||||
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
|
||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
|
||||
@ -758,6 +787,9 @@ github.com/mtibben/percent v0.2.1/go.mod h1:KG9uO+SZkUp+VkRHsCdYQV3XSZrrSpR3O9ib
|
||||
github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
|
||||
github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU=
|
||||
github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
|
||||
github.com/mwitkow/go-proto-validators v0.0.0-20180403085117-0950a7990007/go.mod h1:m2XC9Qq0AlmmVksL6FktJCdTYyLk7V3fKyp0sl1yWQo=
|
||||
github.com/mwitkow/go-proto-validators v0.3.2 h1:qRlmpTzm2pstMKKzTdvwPCF5QfBNURSlAgN/R+qbKos=
|
||||
github.com/mwitkow/go-proto-validators v0.3.2/go.mod h1:ej0Qp0qMgHN/KtDyUt+Q1/tA7a5VarXUOUxD+oeD30w=
|
||||
github.com/mwitkow/grpc-proxy v0.0.0-20181017164139-0f1106ef9c76/go.mod h1:x5OoJHDHqxHS801UIuhqGl6QdSAEJvtausosHSdazIo=
|
||||
github.com/naoina/go-stringutil v0.1.0/go.mod h1:XJ2SJL9jCtBh+P9q5btrd/Ylo8XwT/h1USek5+NqSA0=
|
||||
github.com/naoina/toml v0.1.2-0.20170918210437-9fafd6967416/go.mod h1:NBIhNtsFMo3G2szEBne+bO4gS192HuIYRqfvOWb4i1E=
|
||||
@ -852,6 +884,7 @@ github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE
|
||||
github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA=
|
||||
github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI=
|
||||
github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5/go.mod h1:eCbImbZ95eXtAUIbLAuAVnBnwf83mjf6QIVH8SHYwqQ=
|
||||
github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI=
|
||||
@ -899,6 +932,10 @@ github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1
|
||||
github.com/prometheus/tsdb v0.6.2-0.20190402121629-4f204dcbc150/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
|
||||
github.com/prometheus/tsdb v0.7.1 h1:YZcsG11NqnK4czYLrWd9mpEuAJIHVQLwdrleYfszMAA=
|
||||
github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
|
||||
github.com/pseudomuto/protoc-gen-doc v1.5.0 h1:pHZp0MEiT68jrZV8js8BS7E9ZEnlSLegoQbbtXj5lfo=
|
||||
github.com/pseudomuto/protoc-gen-doc v1.5.0/go.mod h1:exDTOVwqpp30eV/EDPFLZy3Pwr2sn6hBC1WIYH/UbIg=
|
||||
github.com/pseudomuto/protokit v0.2.0 h1:hlnBDcy3YEDXH7kc9gV+NLaN0cDzhDvD1s7Y6FZ8RpM=
|
||||
github.com/pseudomuto/protokit v0.2.0/go.mod h1:2PdH30hxVHsup8KpBTOXTBeMVhJZVio3Q8ViKSAXT0Q=
|
||||
github.com/rakyll/statik v0.1.7 h1:OF3QCZUuyPxuGEP7B4ypUa7sB/iHtqOTDYZXGM8KOdQ=
|
||||
github.com/rakyll/statik v0.1.7/go.mod h1:AlZONWzMtEnMs7W4e/1LURLiI49pIMmp6V9Unghqrcc=
|
||||
github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
|
||||
@ -999,6 +1036,7 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+
|
||||
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/objx v0.2.0 h1:Hbg2NidpLE8veEBkEZTL3CvlkUIVzuU9jDplZO54c48=
|
||||
github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
|
||||
github.com/stretchr/testify v0.0.0-20170130113145-4d4bfba8f1d1/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
||||
github.com/stretchr/testify v1.2.0/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
||||
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
||||
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
||||
@ -1108,6 +1146,7 @@ go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
|
||||
go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM=
|
||||
go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo=
|
||||
golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20180501155221-613d6eafa307/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
@ -1132,6 +1171,8 @@ golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm
|
||||
golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
||||
golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3 h1:0es+/5331RGQPcXlMfP+WrnIIS6dNnNRe0WB02W0F4M=
|
||||
golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||
golang.org/x/crypto v0.0.0-20220213190939-1e6e3497d506 h1:EuGTJDfeg/PGZJp3gq1K+14eSLFTsrj1eg8KQuiUyKg=
|
||||
golang.org/x/crypto v0.0.0-20220213190939-1e6e3497d506/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||
golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
@ -1256,6 +1297,7 @@ golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJ
|
||||
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
@ -1509,6 +1551,7 @@ google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCID
|
||||
google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
|
||||
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
|
||||
google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
|
||||
google.golang.org/genproto v0.0.0-20181107211654-5fc9ac540362/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
|
||||
google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
|
||||
google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
|
||||
google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
|
||||
@ -1580,6 +1623,8 @@ google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ6
|
||||
google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
|
||||
google.golang.org/genproto v0.0.0-20211223182754-3ac035c7e7cb h1:ZrsicilzPCS/Xr8qtBZZLpy4P9TYXAfl49ctG1/5tgw=
|
||||
google.golang.org/genproto v0.0.0-20211223182754-3ac035c7e7cb/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
|
||||
google.golang.org/genproto v0.0.0-20220211171837-173942840c17 h1:2X+CNIheCutWRyKRte8szGxrE5ggtV4U+NKAbh/oLhg=
|
||||
google.golang.org/genproto v0.0.0-20220211171837-173942840c17/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI=
|
||||
google.golang.org/grpc v1.33.2 h1:EQyQC3sa8M+p6Ulc8yy9SWSS2GVwyRc83gAbG8lrl4o=
|
||||
google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
|
||||
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw=
|
||||
|
@ -107,6 +107,16 @@ message ChainConfig {
|
||||
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
|
||||
(gogoproto.moretags) = "yaml:\"london_block\""
|
||||
];
|
||||
// Eip-4345 (bomb delay) switch block (nil = no fork, 0 = already activated)
|
||||
string arrow_glacier_block = 18 [
|
||||
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
|
||||
(gogoproto.moretags) = "yaml:\"arrow_glacier_block\""
|
||||
];
|
||||
// EIP-3675 (TheMerge) switch block (nil = no fork, 0 = already in merge proceedings)
|
||||
string merge_fork_block = 19 [
|
||||
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
|
||||
(gogoproto.moretags) = "yaml:\"merge_fork_block\""
|
||||
];
|
||||
}
|
||||
|
||||
// State represents a single Storage key value pair item.
|
||||
|
@ -8,6 +8,8 @@ import (
|
||||
"math/big"
|
||||
"time"
|
||||
|
||||
"github.com/ethereum/go-ethereum/eth/tracers/logger"
|
||||
|
||||
"github.com/ethereum/go-ethereum/eth/tracers"
|
||||
|
||||
"google.golang.org/grpc/codes"
|
||||
@ -469,7 +471,7 @@ func (k *Keeper) traceTx(
|
||||
) (*interface{}, uint, error) {
|
||||
// Assemble the structured logger or the JavaScript tracer
|
||||
var (
|
||||
tracer vm.Tracer
|
||||
tracer vm.EVMLogger
|
||||
overrides *ethparams.ChainConfig
|
||||
err error
|
||||
)
|
||||
@ -513,12 +515,12 @@ func (k *Keeper) traceTx(
|
||||
go func() {
|
||||
<-deadlineCtx.Done()
|
||||
if errors.Is(deadlineCtx.Err(), context.DeadlineExceeded) {
|
||||
tracer.(*tracers.Tracer).Stop(errors.New("execution timeout"))
|
||||
tracer.(tracers.Tracer).Stop(errors.New("execution timeout"))
|
||||
}
|
||||
}()
|
||||
|
||||
case traceConfig != nil:
|
||||
logConfig := vm.LogConfig{
|
||||
logConfig := logger.Config{
|
||||
EnableMemory: traceConfig.EnableMemory,
|
||||
DisableStorage: traceConfig.DisableStorage,
|
||||
DisableStack: traceConfig.DisableStack,
|
||||
@ -527,7 +529,7 @@ func (k *Keeper) traceTx(
|
||||
Limit: int(traceConfig.Limit),
|
||||
Overrides: overrides,
|
||||
}
|
||||
tracer = vm.NewStructLogger(&logConfig)
|
||||
tracer = logger.NewStructLogger(&logConfig)
|
||||
default:
|
||||
tracer = types.NewTracer(types.TracerStruct, msg, cfg.ChainConfig, ctx.BlockHeight())
|
||||
}
|
||||
@ -541,7 +543,7 @@ func (k *Keeper) traceTx(
|
||||
|
||||
// Depending on the tracer type, format and return the trace result data.
|
||||
switch tracer := tracer.(type) {
|
||||
case *vm.StructLogger:
|
||||
case *logger.StructLogger:
|
||||
// TODO: Return proper returnValue
|
||||
result = types.ExecutionResult{
|
||||
Gas: res.GasUsed,
|
||||
@ -549,7 +551,7 @@ func (k *Keeper) traceTx(
|
||||
ReturnValue: "",
|
||||
StructLogs: types.FormatLogs(tracer.StructLogs()),
|
||||
}
|
||||
case *tracers.Tracer:
|
||||
case tracers.Tracer:
|
||||
result, err = tracer.GetResult()
|
||||
if err != nil {
|
||||
return nil, 0, status.Error(codes.Internal, err.Error())
|
||||
|
@ -229,7 +229,7 @@ func (k *Keeper) PostTxProcessing(ctx sdk.Context, from common.Address, to *comm
|
||||
}
|
||||
|
||||
// Tracer return a default vm.Tracer based on current keeper state
|
||||
func (k Keeper) Tracer(ctx sdk.Context, msg core.Message, ethCfg *params.ChainConfig) vm.Tracer {
|
||||
func (k Keeper) Tracer(ctx sdk.Context, msg core.Message, ethCfg *params.ChainConfig) vm.EVMLogger {
|
||||
return types.NewTracer(k.tracer, msg, ethCfg, ctx.BlockHeight())
|
||||
}
|
||||
|
||||
|
@ -101,6 +101,8 @@ func (suite *KeeperTestSuite) DoSetupTest(t require.TestingT) {
|
||||
evmGenesis := types.DefaultGenesisState()
|
||||
maxInt := sdk.NewInt(math.MaxInt64)
|
||||
evmGenesis.Params.ChainConfig.LondonBlock = &maxInt
|
||||
evmGenesis.Params.ChainConfig.ArrowGlacierBlock = &maxInt
|
||||
evmGenesis.Params.ChainConfig.MergeForkBlock = &maxInt
|
||||
genesis[types.ModuleName] = app.AppCodec().MustMarshalJSON(evmGenesis)
|
||||
}
|
||||
return genesis
|
||||
|
@ -73,7 +73,7 @@ func (k *Keeper) NewEVM(
|
||||
ctx sdk.Context,
|
||||
msg core.Message,
|
||||
cfg *types.EVMConfig,
|
||||
tracer vm.Tracer,
|
||||
tracer vm.EVMLogger,
|
||||
stateDB vm.StateDB,
|
||||
) *vm.EVM {
|
||||
blockCtx := vm.BlockContext{
|
||||
@ -98,7 +98,7 @@ func (k *Keeper) NewEVM(
|
||||
|
||||
// VMConfig creates an EVM configuration from the debug setting and the extra EIPs enabled on the
|
||||
// module parameters. The config generated uses the default JumpTable from the EVM.
|
||||
func (k Keeper) VMConfig(ctx sdk.Context, msg core.Message, params types.Params, tracer vm.Tracer) vm.Config {
|
||||
func (k Keeper) VMConfig(ctx sdk.Context, msg core.Message, params types.Params, tracer vm.EVMLogger) vm.Config {
|
||||
fmParams := k.feeMarketKeeper.GetParams(ctx)
|
||||
|
||||
var debug bool
|
||||
@ -107,11 +107,10 @@ func (k Keeper) VMConfig(ctx sdk.Context, msg core.Message, params types.Params,
|
||||
}
|
||||
|
||||
return vm.Config{
|
||||
Debug: debug,
|
||||
Tracer: tracer,
|
||||
NoRecursion: false, // TODO: consider disabling recursion though params
|
||||
NoBaseFee: fmParams.NoBaseFee,
|
||||
ExtraEips: params.EIPs(),
|
||||
Debug: debug,
|
||||
Tracer: tracer,
|
||||
NoBaseFee: fmParams.NoBaseFee,
|
||||
ExtraEips: params.EIPs(),
|
||||
}
|
||||
}
|
||||
|
||||
@ -335,7 +334,7 @@ func (k *Keeper) ApplyTransaction(ctx sdk.Context, tx *ethtypes.Transaction) (*t
|
||||
// Commit parameter
|
||||
//
|
||||
// If commit is true, the `StateDB` will be committed, otherwise discarded.
|
||||
func (k *Keeper) ApplyMessageWithConfig(ctx sdk.Context, msg core.Message, tracer vm.Tracer, commit bool, cfg *types.EVMConfig, txConfig statedb.TxConfig) (*types.MsgEthereumTxResponse, error) {
|
||||
func (k *Keeper) ApplyMessageWithConfig(ctx sdk.Context, msg core.Message, tracer vm.EVMLogger, commit bool, cfg *types.EVMConfig, txConfig statedb.TxConfig) (*types.MsgEthereumTxResponse, error) {
|
||||
var (
|
||||
ret []byte // return bytes from evm execution
|
||||
vmErr error // vm errors do not effect consensus and are therefore not assigned to err
|
||||
@ -425,7 +424,7 @@ func (k *Keeper) ApplyMessageWithConfig(ctx sdk.Context, msg core.Message, trace
|
||||
}
|
||||
|
||||
// ApplyMessage calls ApplyMessageWithConfig with default EVMConfig
|
||||
func (k *Keeper) ApplyMessage(ctx sdk.Context, msg core.Message, tracer vm.Tracer, commit bool) (*types.MsgEthereumTxResponse, error) {
|
||||
func (k *Keeper) ApplyMessage(ctx sdk.Context, msg core.Message, tracer vm.EVMLogger, commit bool) (*types.MsgEthereumTxResponse, error) {
|
||||
cfg, err := k.EVMConfig(ctx)
|
||||
if err != nil {
|
||||
return nil, sdkerrors.Wrap(err, "failed to load evm config")
|
||||
|
@ -30,6 +30,8 @@ func (cc ChainConfig) EthereumConfig(chainID *big.Int) *params.ChainConfig {
|
||||
MuirGlacierBlock: getBlockValue(cc.MuirGlacierBlock),
|
||||
BerlinBlock: getBlockValue(cc.BerlinBlock),
|
||||
LondonBlock: getBlockValue(cc.LondonBlock),
|
||||
ArrowGlacierBlock: getBlockValue(cc.ArrowGlacierBlock),
|
||||
MergeForkBlock: getBlockValue(cc.MergeForkBlock),
|
||||
TerminalTotalDifficulty: nil,
|
||||
Ethash: nil,
|
||||
Clique: nil,
|
||||
@ -50,6 +52,8 @@ func DefaultChainConfig() ChainConfig {
|
||||
muirGlacierBlock := sdk.ZeroInt()
|
||||
berlinBlock := sdk.ZeroInt()
|
||||
londonBlock := sdk.ZeroInt()
|
||||
arrowGlacierBlock := sdk.ZeroInt()
|
||||
mergeForkBlock := sdk.ZeroInt()
|
||||
|
||||
return ChainConfig{
|
||||
HomesteadBlock: &homesteadBlock,
|
||||
@ -66,6 +70,8 @@ func DefaultChainConfig() ChainConfig {
|
||||
MuirGlacierBlock: &muirGlacierBlock,
|
||||
BerlinBlock: &berlinBlock,
|
||||
LondonBlock: &londonBlock,
|
||||
ArrowGlacierBlock: &arrowGlacierBlock,
|
||||
MergeForkBlock: &mergeForkBlock,
|
||||
}
|
||||
}
|
||||
|
||||
@ -119,6 +125,12 @@ func (cc ChainConfig) Validate() error {
|
||||
if err := validateBlock(cc.LondonBlock); err != nil {
|
||||
return sdkerrors.Wrap(err, "londonBlock")
|
||||
}
|
||||
if err := validateBlock(cc.ArrowGlacierBlock); err != nil {
|
||||
return sdkerrors.Wrap(err, "arrowGlacierBlock")
|
||||
}
|
||||
if err := validateBlock(cc.MergeForkBlock); err != nil {
|
||||
return sdkerrors.Wrap(err, "mergeForkBlock")
|
||||
}
|
||||
|
||||
// NOTE: chain ID is not needed to check config order
|
||||
if err := cc.EthereumConfig(nil).CheckConfigForkOrder(); err != nil {
|
||||
|
297
x/evm/types/evm.pb.go
generated
297
x/evm/types/evm.pb.go
generated
@ -139,6 +139,10 @@ type ChainConfig struct {
|
||||
BerlinBlock *github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,13,opt,name=berlin_block,json=berlinBlock,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"berlin_block,omitempty" yaml:"berlin_block"`
|
||||
// London switch block (nil = no fork, 0 = already on london)
|
||||
LondonBlock *github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,17,opt,name=london_block,json=londonBlock,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"london_block,omitempty" yaml:"london_block"`
|
||||
// Eip-4345 (bomb delay) switch block (nil = no fork, 0 = already activated)
|
||||
ArrowGlacierBlock *github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,18,opt,name=arrow_glacier_block,json=arrowGlacierBlock,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"arrow_glacier_block,omitempty" yaml:"arrow_glacier_block"`
|
||||
// EIP-3675 (TheMerge) switch block (nil = no fork, 0 = already in merge proceedings)
|
||||
MergeForkBlock *github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,19,opt,name=merge_fork_block,json=mergeForkBlock,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"merge_fork_block,omitempty" yaml:"merge_fork_block"`
|
||||
}
|
||||
|
||||
func (m *ChainConfig) Reset() { *m = ChainConfig{} }
|
||||
@ -653,97 +657,100 @@ func init() {
|
||||
func init() { proto.RegisterFile("ethermint/evm/v1/evm.proto", fileDescriptor_d21ecc92c8c8583e) }
|
||||
|
||||
var fileDescriptor_d21ecc92c8c8583e = []byte{
|
||||
// 1427 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0x5d, 0x6f, 0xdb, 0xb6,
|
||||
0x1a, 0x4e, 0x62, 0x27, 0x91, 0x69, 0xc5, 0x56, 0x99, 0x34, 0xc7, 0x6d, 0x71, 0xa2, 0x1c, 0x5d,
|
||||
0x1c, 0xe4, 0x00, 0x6d, 0xdc, 0xa4, 0x08, 0x4e, 0xd1, 0x62, 0x17, 0x51, 0x92, 0x76, 0xc9, 0xba,
|
||||
0x2d, 0x60, 0x32, 0x0c, 0x18, 0x30, 0x08, 0xb4, 0xc4, 0xca, 0x5a, 0x24, 0xd1, 0x20, 0x29, 0xcf,
|
||||
0x1e, 0xf6, 0x03, 0x06, 0xec, 0x66, 0x3f, 0x61, 0xbf, 0x66, 0x28, 0x76, 0xd5, 0x9b, 0x01, 0xc3,
|
||||
0x2e, 0x84, 0x22, 0xbd, 0xcb, 0xa5, 0x7f, 0xc1, 0x20, 0x92, 0xfe, 0x4c, 0xb1, 0x2d, 0xb9, 0x32,
|
||||
0x9f, 0xf7, 0xe3, 0x79, 0xf8, 0xf1, 0xea, 0x25, 0x0d, 0xee, 0x13, 0xd1, 0x26, 0x2c, 0x89, 0x52,
|
||||
0xd1, 0x24, 0xdd, 0xa4, 0xd9, 0xdd, 0x29, 0x7e, 0xb6, 0x3b, 0x8c, 0x0a, 0x0a, 0xad, 0x91, 0x6f,
|
||||
0xbb, 0x30, 0x76, 0x77, 0xee, 0xaf, 0x85, 0x34, 0xa4, 0xd2, 0xd9, 0x2c, 0x46, 0x2a, 0xce, 0xf9,
|
||||
0x6d, 0x01, 0x2c, 0x9d, 0x62, 0x86, 0x13, 0x0e, 0x77, 0x40, 0x85, 0x74, 0x13, 0x2f, 0x20, 0x29,
|
||||
0x4d, 0x1a, 0xf3, 0x9b, 0xf3, 0x5b, 0x15, 0x77, 0x6d, 0x90, 0xdb, 0x56, 0x1f, 0x27, 0xf1, 0x33,
|
||||
0x67, 0xe4, 0x72, 0x90, 0x41, 0xba, 0xc9, 0x61, 0x31, 0x84, 0x1f, 0x81, 0x15, 0x92, 0xe2, 0x56,
|
||||
0x4c, 0x3c, 0x9f, 0x11, 0x2c, 0x48, 0x63, 0x61, 0x73, 0x7e, 0xcb, 0x70, 0x1b, 0x83, 0xdc, 0x5e,
|
||||
0xd3, 0x69, 0x93, 0x6e, 0x07, 0x99, 0x0a, 0x1f, 0x48, 0x08, 0xff, 0x0f, 0xaa, 0x43, 0x3f, 0x8e,
|
||||
0xe3, 0x46, 0x49, 0x26, 0xaf, 0x0f, 0x72, 0x1b, 0x4e, 0x27, 0xe3, 0x38, 0x76, 0x10, 0xd0, 0xa9,
|
||||
0x38, 0x8e, 0xe1, 0x3e, 0x00, 0xa4, 0x27, 0x18, 0xf6, 0x48, 0xd4, 0xe1, 0x8d, 0xf2, 0x66, 0x69,
|
||||
0xab, 0xe4, 0x3a, 0x97, 0xb9, 0x5d, 0x39, 0x2a, 0xac, 0x47, 0xc7, 0xa7, 0x7c, 0x90, 0xdb, 0x77,
|
||||
0x34, 0xc9, 0x28, 0xd0, 0x41, 0x15, 0x09, 0x8e, 0xa2, 0x0e, 0x87, 0x5f, 0x03, 0xd3, 0x6f, 0xe3,
|
||||
0x28, 0xf5, 0x7c, 0x9a, 0xbe, 0x8e, 0xc2, 0xc6, 0xe2, 0xe6, 0xfc, 0x56, 0x75, 0xf7, 0xdf, 0xdb,
|
||||
0xb3, 0xfb, 0xb6, 0x7d, 0x50, 0x44, 0x1d, 0xc8, 0x20, 0xf7, 0xc1, 0x9b, 0xdc, 0x9e, 0x1b, 0xe4,
|
||||
0xf6, 0xaa, 0xa2, 0x9e, 0x24, 0x70, 0x50, 0xd5, 0x1f, 0x47, 0x3a, 0xbf, 0x98, 0xa0, 0x3a, 0x91,
|
||||
0x09, 0x13, 0x50, 0x6f, 0xd3, 0x84, 0x70, 0x41, 0x70, 0xe0, 0xb5, 0x62, 0xea, 0x5f, 0xe8, 0x2d,
|
||||
0x3e, 0xfc, 0x23, 0xb7, 0xff, 0x1b, 0x46, 0xa2, 0x9d, 0xb5, 0xb6, 0x7d, 0x9a, 0x34, 0x7d, 0xca,
|
||||
0x13, 0xca, 0xf5, 0xcf, 0x23, 0x1e, 0x5c, 0x34, 0x45, 0xbf, 0x43, 0xf8, 0xf6, 0x71, 0x2a, 0x06,
|
||||
0xb9, 0xbd, 0xae, 0x84, 0x67, 0xa8, 0x1c, 0x54, 0x1b, 0x59, 0xdc, 0xc2, 0x00, 0xfb, 0xa0, 0x16,
|
||||
0x60, 0xea, 0xbd, 0xa6, 0xec, 0x42, 0xab, 0x2d, 0x48, 0xb5, 0xb3, 0x7f, 0xae, 0x76, 0x99, 0xdb,
|
||||
0xe6, 0xe1, 0xfe, 0xe7, 0x2f, 0x28, 0xbb, 0x90, 0x9c, 0x83, 0xdc, 0xbe, 0xab, 0xd4, 0xa7, 0x99,
|
||||
0x1d, 0x64, 0x06, 0x98, 0x8e, 0xc2, 0xe0, 0x97, 0xc0, 0x1a, 0x05, 0xf0, 0xac, 0xd3, 0xa1, 0x4c,
|
||||
0xe8, 0x93, 0x7d, 0x74, 0x99, 0xdb, 0x35, 0x4d, 0x79, 0xa6, 0x3c, 0x83, 0xdc, 0xfe, 0xd7, 0x0c,
|
||||
0xa9, 0xce, 0x71, 0x50, 0x4d, 0xd3, 0xea, 0x50, 0xc8, 0x81, 0x49, 0xa2, 0xce, 0xce, 0xde, 0x63,
|
||||
0xbd, 0xa2, 0xb2, 0x5c, 0xd1, 0xe9, 0x8d, 0x56, 0x54, 0x3d, 0x3a, 0x3e, 0xdd, 0xd9, 0x7b, 0x3c,
|
||||
0x5c, 0x90, 0x3e, 0xc7, 0x49, 0x5a, 0x07, 0x55, 0x15, 0x54, 0xab, 0x39, 0x06, 0x1a, 0x7a, 0x6d,
|
||||
0xcc, 0xdb, 0xb2, 0x4a, 0x2a, 0xee, 0xd6, 0x65, 0x6e, 0x03, 0xc5, 0xf4, 0x31, 0xe6, 0xed, 0xf1,
|
||||
0xb9, 0xb4, 0xfa, 0xdf, 0xe1, 0x54, 0x44, 0x59, 0x32, 0xe4, 0x02, 0x2a, 0xb9, 0x88, 0x1a, 0xcd,
|
||||
0x7f, 0x4f, 0xcf, 0x7f, 0xe9, 0xd6, 0xf3, 0xdf, 0xfb, 0xd0, 0xfc, 0xf7, 0xa6, 0xe7, 0xaf, 0x62,
|
||||
0x46, 0xa2, 0x4f, 0xb5, 0xe8, 0xf2, 0xad, 0x45, 0x9f, 0x7e, 0x48, 0xf4, 0xe9, 0xb4, 0xa8, 0x8a,
|
||||
0x29, 0x8a, 0x7d, 0x66, 0x27, 0x1a, 0xc6, 0xed, 0x8b, 0xfd, 0xda, 0xa6, 0xd6, 0x46, 0x16, 0x25,
|
||||
0xf7, 0x3d, 0x58, 0xf3, 0x69, 0xca, 0x45, 0x61, 0x4b, 0x69, 0x27, 0x26, 0x5a, 0xb3, 0x22, 0x35,
|
||||
0x8f, 0x6f, 0xa4, 0xf9, 0x40, 0x7f, 0xd9, 0x1f, 0xe0, 0x73, 0xd0, 0xea, 0xb4, 0x59, 0xa9, 0x77,
|
||||
0x80, 0xd5, 0x21, 0x82, 0x30, 0xde, 0xca, 0x58, 0xa8, 0x95, 0x81, 0x54, 0x3e, 0xba, 0x91, 0xb2,
|
||||
0xfe, 0x0e, 0x66, 0xb9, 0x1c, 0x54, 0x1f, 0x9b, 0x94, 0xe2, 0x37, 0xa0, 0x16, 0x15, 0xd3, 0x68,
|
||||
0x65, 0xb1, 0xd6, 0xab, 0x4a, 0xbd, 0x83, 0x1b, 0xe9, 0xe9, 0x8f, 0x79, 0x9a, 0xc9, 0x41, 0x2b,
|
||||
0x43, 0x83, 0xd2, 0xca, 0x00, 0x4c, 0xb2, 0x88, 0x79, 0x61, 0x8c, 0xfd, 0x88, 0x30, 0xad, 0x67,
|
||||
0x4a, 0xbd, 0x97, 0x37, 0xd2, 0xbb, 0xa7, 0xf4, 0xae, 0xb3, 0x39, 0xc8, 0x2a, 0x8c, 0x2f, 0x95,
|
||||
0x4d, 0xc9, 0x06, 0xc0, 0x6c, 0x11, 0x16, 0x47, 0xa9, 0x16, 0x5c, 0x91, 0x82, 0xfb, 0x37, 0x12,
|
||||
0xd4, 0x75, 0x3a, 0xc9, 0xe3, 0xa0, 0xaa, 0x82, 0x23, 0x95, 0x98, 0xa6, 0x01, 0x1d, 0xaa, 0xdc,
|
||||
0xb9, 0xbd, 0xca, 0x24, 0x8f, 0x83, 0xaa, 0x0a, 0x4a, 0x95, 0x93, 0xb2, 0x51, 0xb3, 0xea, 0x27,
|
||||
0x65, 0xa3, 0x6e, 0x59, 0x27, 0x65, 0xc3, 0xb2, 0xee, 0xa0, 0x95, 0x3e, 0x8d, 0xa9, 0xd7, 0x7d,
|
||||
0xa2, 0xc2, 0x51, 0x95, 0x7c, 0x8b, 0xb9, 0xae, 0x6e, 0x54, 0xf3, 0xb1, 0xc0, 0x71, 0x9f, 0x0b,
|
||||
0xcd, 0xd5, 0x04, 0x8b, 0x67, 0xa2, 0xb8, 0x2c, 0x2d, 0x50, 0xba, 0x20, 0x7d, 0x75, 0x6b, 0xa0,
|
||||
0x62, 0x08, 0xd7, 0xc0, 0x62, 0x17, 0xc7, 0x99, 0xba, 0x75, 0x2b, 0x48, 0x01, 0xe7, 0x14, 0xd4,
|
||||
0xcf, 0x19, 0x4e, 0x39, 0xf6, 0x45, 0x44, 0xd3, 0x57, 0x34, 0xe4, 0x10, 0x82, 0xb2, 0xec, 0x5e,
|
||||
0x2a, 0x57, 0x8e, 0xe1, 0xff, 0x40, 0x39, 0xa6, 0x21, 0x6f, 0x2c, 0x6c, 0x96, 0xb6, 0xaa, 0xbb,
|
||||
0x77, 0xaf, 0xdf, 0x7b, 0xaf, 0x68, 0x88, 0x64, 0x88, 0xf3, 0xeb, 0x02, 0x28, 0xbd, 0xa2, 0x21,
|
||||
0x6c, 0x80, 0x65, 0x1c, 0x04, 0x8c, 0x70, 0xae, 0x99, 0x86, 0x10, 0xae, 0x83, 0x25, 0x41, 0x3b,
|
||||
0x91, 0xaf, 0xe8, 0x2a, 0x48, 0xa3, 0x42, 0x38, 0xc0, 0x02, 0xcb, 0xfe, 0x6f, 0x22, 0x39, 0x86,
|
||||
0xbb, 0xc0, 0x94, 0x2b, 0xf3, 0xd2, 0x2c, 0x69, 0x11, 0x26, 0xdb, 0x78, 0xd9, 0xad, 0x5f, 0xe5,
|
||||
0x76, 0x55, 0xda, 0x3f, 0x93, 0x66, 0x34, 0x09, 0xe0, 0x43, 0xb0, 0x2c, 0x7a, 0x93, 0x1d, 0x78,
|
||||
0xf5, 0x2a, 0xb7, 0xeb, 0x62, 0xbc, 0xcc, 0xa2, 0xc1, 0xa2, 0x25, 0xd1, 0x93, 0x8d, 0xb6, 0x09,
|
||||
0x0c, 0xd1, 0xf3, 0xa2, 0x34, 0x20, 0x3d, 0xd9, 0x64, 0xcb, 0xee, 0xda, 0x55, 0x6e, 0x5b, 0x13,
|
||||
0xe1, 0xc7, 0x85, 0x0f, 0x2d, 0x8b, 0x9e, 0x1c, 0xc0, 0x87, 0x00, 0xa8, 0x29, 0x49, 0x05, 0xd5,
|
||||
0x22, 0x57, 0xae, 0x72, 0xbb, 0x22, 0xad, 0x92, 0x7b, 0x3c, 0x84, 0x0e, 0x58, 0x54, 0xdc, 0x86,
|
||||
0xe4, 0x36, 0xaf, 0x72, 0xdb, 0x88, 0x69, 0xa8, 0x38, 0x95, 0xab, 0xd8, 0x2a, 0x46, 0x12, 0xda,
|
||||
0x25, 0x81, 0xec, 0x42, 0x06, 0x1a, 0x42, 0xe7, 0xc7, 0x05, 0x60, 0x9c, 0xf7, 0x10, 0xe1, 0x59,
|
||||
0x2c, 0xe0, 0x0b, 0x60, 0xf9, 0x34, 0x15, 0x0c, 0xfb, 0xc2, 0x9b, 0xda, 0x5a, 0xf7, 0xc1, 0xb8,
|
||||
0x23, 0xcc, 0x46, 0x38, 0xa8, 0x3e, 0x34, 0xed, 0xeb, 0xfd, 0x5f, 0x03, 0x8b, 0xad, 0x98, 0xd2,
|
||||
0x44, 0x56, 0x82, 0x89, 0x14, 0x80, 0x48, 0xee, 0x9a, 0x3c, 0xe5, 0x92, 0x7c, 0xdd, 0xfc, 0xe7,
|
||||
0xfa, 0x29, 0xcf, 0x94, 0x8a, 0xbb, 0xae, 0x5f, 0x38, 0x35, 0xa5, 0xad, 0xf3, 0x9d, 0x62, 0x6f,
|
||||
0x65, 0x29, 0x59, 0xa0, 0xc4, 0x88, 0x90, 0x87, 0x66, 0xa2, 0x62, 0x08, 0xef, 0x03, 0x83, 0x91,
|
||||
0x2e, 0x61, 0x82, 0x04, 0xf2, 0x70, 0x0c, 0x34, 0xc2, 0xf0, 0x1e, 0x30, 0x42, 0xcc, 0xbd, 0x8c,
|
||||
0x93, 0x40, 0x9d, 0x04, 0x5a, 0x0e, 0x31, 0xff, 0x82, 0x93, 0xe0, 0x59, 0xf9, 0x87, 0x9f, 0xed,
|
||||
0x39, 0x07, 0x83, 0xea, 0xbe, 0xef, 0x13, 0xce, 0xcf, 0xb3, 0x4e, 0x4c, 0xfe, 0xa2, 0xc2, 0x76,
|
||||
0x81, 0xc9, 0x05, 0x65, 0x38, 0x24, 0xde, 0x05, 0xe9, 0xeb, 0x3a, 0x53, 0x55, 0xa3, 0xed, 0x9f,
|
||||
0x90, 0x3e, 0x47, 0x93, 0x40, 0x4b, 0xbc, 0x2b, 0x81, 0xea, 0x39, 0xc3, 0x3e, 0xd1, 0x2f, 0xb1,
|
||||
0xa2, 0x56, 0x0b, 0xc8, 0xb4, 0x84, 0x46, 0x85, 0xb6, 0x88, 0x12, 0x42, 0x33, 0xa1, 0xbf, 0xa7,
|
||||
0x21, 0x2c, 0x32, 0x18, 0x21, 0x3d, 0xe2, 0xcb, 0x6d, 0x2c, 0x23, 0x8d, 0xe0, 0x1e, 0x58, 0x09,
|
||||
0x22, 0x2e, 0x9f, 0xa8, 0x5c, 0x60, 0xff, 0x42, 0x2d, 0xdf, 0xb5, 0xae, 0x72, 0xdb, 0xd4, 0x8e,
|
||||
0xb3, 0xc2, 0x8e, 0xa6, 0x10, 0x7c, 0x0e, 0xea, 0xe3, 0x34, 0x39, 0x5b, 0xb9, 0x37, 0x86, 0x0b,
|
||||
0xaf, 0x72, 0xbb, 0x36, 0x0a, 0x95, 0x1e, 0x34, 0x83, 0x8b, 0x93, 0x0e, 0x48, 0x2b, 0x0b, 0x65,
|
||||
0xf1, 0x19, 0x48, 0x81, 0xc2, 0x1a, 0x47, 0x49, 0x24, 0x64, 0xb1, 0x2d, 0x22, 0x05, 0xe0, 0x73,
|
||||
0x50, 0xa1, 0x5d, 0xc2, 0x58, 0x14, 0x10, 0x2e, 0xaf, 0xa4, 0xbf, 0x7b, 0xdf, 0xa2, 0x71, 0x7c,
|
||||
0xb1, 0x38, 0xfd, 0xfc, 0x4e, 0x48, 0x42, 0x59, 0x5f, 0xde, 0x31, 0x7a, 0x71, 0xca, 0xf1, 0xa9,
|
||||
0xb4, 0xa3, 0x29, 0x04, 0x5d, 0x00, 0x75, 0x1a, 0x23, 0x22, 0x63, 0xa9, 0x27, 0xbf, 0x7f, 0x53,
|
||||
0xe6, 0xca, 0xaf, 0x50, 0x79, 0x91, 0x74, 0x1e, 0x62, 0x81, 0xd1, 0x35, 0xcb, 0x49, 0xd9, 0x28,
|
||||
0x5b, 0x8b, 0x27, 0x65, 0x63, 0xd9, 0x32, 0x46, 0xeb, 0xd7, 0xb3, 0x40, 0xab, 0x43, 0x3c, 0x41,
|
||||
0xef, 0xba, 0x6f, 0x2e, 0x37, 0xe6, 0xdf, 0x5e, 0x6e, 0xcc, 0xbf, 0xbb, 0xdc, 0x98, 0xff, 0xe9,
|
||||
0xfd, 0xc6, 0xdc, 0xdb, 0xf7, 0x1b, 0x73, 0xbf, 0xbf, 0xdf, 0x98, 0xfb, 0x6a, 0x6b, 0xa2, 0x8f,
|
||||
0x8b, 0x36, 0x66, 0x3c, 0xe2, 0xcd, 0xf1, 0xbf, 0xa6, 0x9e, 0xfc, 0xdf, 0x24, 0xbb, 0x79, 0x6b,
|
||||
0x49, 0xfe, 0x1f, 0x7a, 0xf2, 0x67, 0x00, 0x00, 0x00, 0xff, 0xff, 0x34, 0x70, 0xb1, 0x79, 0x55,
|
||||
0x0d, 0x00, 0x00,
|
||||
// 1475 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0xdf, 0x6e, 0xdb, 0xb6,
|
||||
0x1a, 0x4f, 0x62, 0x27, 0x91, 0x69, 0xc7, 0x56, 0x98, 0x34, 0xc7, 0x4d, 0x71, 0xa2, 0x1c, 0x5d,
|
||||
0x1c, 0xe4, 0x00, 0x6d, 0xdc, 0xa4, 0x08, 0x4e, 0xd1, 0x62, 0x17, 0x51, 0x92, 0xb6, 0xc9, 0xba,
|
||||
0x2d, 0x60, 0x32, 0x0c, 0x18, 0x30, 0x08, 0xb4, 0xc4, 0xca, 0x5a, 0x24, 0xd1, 0x20, 0x29, 0xd7,
|
||||
0x1e, 0xf6, 0x00, 0x03, 0x76, 0xb3, 0x47, 0xd8, 0x2b, 0xec, 0x2d, 0x8a, 0x5d, 0xf5, 0x66, 0xc0,
|
||||
0xb0, 0x0b, 0xa1, 0x48, 0xef, 0x72, 0xe9, 0x27, 0x18, 0x44, 0xd2, 0x7f, 0x13, 0x6c, 0x4b, 0xae,
|
||||
0xcc, 0xdf, 0xf7, 0xe7, 0xf7, 0x23, 0x3f, 0x7e, 0x14, 0x69, 0xb0, 0x4e, 0x44, 0x8b, 0xb0, 0x38,
|
||||
0x4c, 0x44, 0x83, 0x74, 0xe2, 0x46, 0x67, 0x27, 0xff, 0xd9, 0x6e, 0x33, 0x2a, 0x28, 0x34, 0x87,
|
||||
0xbe, 0xed, 0xdc, 0xd8, 0xd9, 0x59, 0x5f, 0x0d, 0x68, 0x40, 0xa5, 0xb3, 0x91, 0x8f, 0x54, 0x9c,
|
||||
0xfd, 0xdb, 0x1c, 0x58, 0x38, 0xc5, 0x0c, 0xc7, 0x1c, 0xee, 0x80, 0x12, 0xe9, 0xc4, 0xae, 0x4f,
|
||||
0x12, 0x1a, 0xd7, 0x67, 0x37, 0x67, 0xb7, 0x4a, 0xce, 0x6a, 0x3f, 0xb3, 0xcc, 0x1e, 0x8e, 0xa3,
|
||||
0x67, 0xf6, 0xd0, 0x65, 0x23, 0x83, 0x74, 0xe2, 0xc3, 0x7c, 0x08, 0x3f, 0x01, 0x4b, 0x24, 0xc1,
|
||||
0xcd, 0x88, 0xb8, 0x1e, 0x23, 0x58, 0x90, 0xfa, 0xdc, 0xe6, 0xec, 0x96, 0xe1, 0xd4, 0xfb, 0x99,
|
||||
0xb5, 0xaa, 0xd3, 0xc6, 0xdd, 0x36, 0xaa, 0x28, 0x7c, 0x20, 0x21, 0xfc, 0x3f, 0x28, 0x0f, 0xfc,
|
||||
0x38, 0x8a, 0xea, 0x05, 0x99, 0xbc, 0xd6, 0xcf, 0x2c, 0x38, 0x99, 0x8c, 0xa3, 0xc8, 0x46, 0x40,
|
||||
0xa7, 0xe2, 0x28, 0x82, 0xfb, 0x00, 0x90, 0xae, 0x60, 0xd8, 0x25, 0x61, 0x9b, 0xd7, 0x8b, 0x9b,
|
||||
0x85, 0xad, 0x82, 0x63, 0x5f, 0x66, 0x56, 0xe9, 0x28, 0xb7, 0x1e, 0x1d, 0x9f, 0xf2, 0x7e, 0x66,
|
||||
0x2d, 0x6b, 0x92, 0x61, 0xa0, 0x8d, 0x4a, 0x12, 0x1c, 0x85, 0x6d, 0x0e, 0xbf, 0x01, 0x15, 0xaf,
|
||||
0x85, 0xc3, 0xc4, 0xf5, 0x68, 0xf2, 0x26, 0x0c, 0xea, 0xf3, 0x9b, 0xb3, 0x5b, 0xe5, 0xdd, 0x7f,
|
||||
0x6f, 0x4f, 0xd7, 0x6d, 0xfb, 0x20, 0x8f, 0x3a, 0x90, 0x41, 0xce, 0x83, 0x77, 0x99, 0x35, 0xd3,
|
||||
0xcf, 0xac, 0x15, 0x45, 0x3d, 0x4e, 0x60, 0xa3, 0xb2, 0x37, 0x8a, 0xb4, 0x7f, 0xa9, 0x82, 0xf2,
|
||||
0x58, 0x26, 0x8c, 0x41, 0xad, 0x45, 0x63, 0xc2, 0x05, 0xc1, 0xbe, 0xdb, 0x8c, 0xa8, 0x77, 0xa1,
|
||||
0x4b, 0x7c, 0xf8, 0x47, 0x66, 0xfd, 0x37, 0x08, 0x45, 0x2b, 0x6d, 0x6e, 0x7b, 0x34, 0x6e, 0x78,
|
||||
0x94, 0xc7, 0x94, 0xeb, 0x9f, 0x47, 0xdc, 0xbf, 0x68, 0x88, 0x5e, 0x9b, 0xf0, 0xed, 0xe3, 0x44,
|
||||
0xf4, 0x33, 0x6b, 0x4d, 0x09, 0x4f, 0x51, 0xd9, 0xa8, 0x3a, 0xb4, 0x38, 0xb9, 0x01, 0xf6, 0x40,
|
||||
0xd5, 0xc7, 0xd4, 0x7d, 0x43, 0xd9, 0x85, 0x56, 0x9b, 0x93, 0x6a, 0x67, 0xff, 0x5c, 0xed, 0x32,
|
||||
0xb3, 0x2a, 0x87, 0xfb, 0x5f, 0xbc, 0xa0, 0xec, 0x42, 0x72, 0xf6, 0x33, 0xeb, 0x9e, 0x52, 0x9f,
|
||||
0x64, 0xb6, 0x51, 0xc5, 0xc7, 0x74, 0x18, 0x06, 0xbf, 0x02, 0xe6, 0x30, 0x80, 0xa7, 0xed, 0x36,
|
||||
0x65, 0x42, 0xef, 0xec, 0xa3, 0xcb, 0xcc, 0xaa, 0x6a, 0xca, 0x33, 0xe5, 0xe9, 0x67, 0xd6, 0xbf,
|
||||
0xa6, 0x48, 0x75, 0x8e, 0x8d, 0xaa, 0x9a, 0x56, 0x87, 0x42, 0x0e, 0x2a, 0x24, 0x6c, 0xef, 0xec,
|
||||
0x3d, 0xd6, 0x2b, 0x2a, 0xca, 0x15, 0x9d, 0xde, 0x6a, 0x45, 0xe5, 0xa3, 0xe3, 0xd3, 0x9d, 0xbd,
|
||||
0xc7, 0x83, 0x05, 0xe9, 0x7d, 0x1c, 0xa7, 0xb5, 0x51, 0x59, 0x41, 0xb5, 0x9a, 0x63, 0xa0, 0xa1,
|
||||
0xdb, 0xc2, 0xbc, 0x25, 0xbb, 0xa4, 0xe4, 0x6c, 0x5d, 0x66, 0x16, 0x50, 0x4c, 0xaf, 0x30, 0x6f,
|
||||
0x8d, 0xf6, 0xa5, 0xd9, 0xfb, 0x0e, 0x27, 0x22, 0x4c, 0xe3, 0x01, 0x17, 0x50, 0xc9, 0x79, 0xd4,
|
||||
0x70, 0xfe, 0x7b, 0x7a, 0xfe, 0x0b, 0x77, 0x9e, 0xff, 0xde, 0x4d, 0xf3, 0xdf, 0x9b, 0x9c, 0xbf,
|
||||
0x8a, 0x19, 0x8a, 0x3e, 0xd5, 0xa2, 0x8b, 0x77, 0x16, 0x7d, 0x7a, 0x93, 0xe8, 0xd3, 0x49, 0x51,
|
||||
0x15, 0x93, 0x37, 0xfb, 0x54, 0x25, 0xea, 0xc6, 0xdd, 0x9b, 0xfd, 0x5a, 0x51, 0xab, 0x43, 0x8b,
|
||||
0x92, 0xfb, 0x1e, 0xac, 0x7a, 0x34, 0xe1, 0x22, 0xb7, 0x25, 0xb4, 0x1d, 0x11, 0xad, 0x59, 0x92,
|
||||
0x9a, 0xc7, 0xb7, 0xd2, 0x7c, 0xa0, 0x4f, 0xf6, 0x0d, 0x7c, 0x36, 0x5a, 0x99, 0x34, 0x2b, 0xf5,
|
||||
0x36, 0x30, 0xdb, 0x44, 0x10, 0xc6, 0x9b, 0x29, 0x0b, 0xb4, 0x32, 0x90, 0xca, 0x47, 0xb7, 0x52,
|
||||
0xd6, 0xe7, 0x60, 0x9a, 0xcb, 0x46, 0xb5, 0x91, 0x49, 0x29, 0x7e, 0x0b, 0xaa, 0x61, 0x3e, 0x8d,
|
||||
0x66, 0x1a, 0x69, 0xbd, 0xb2, 0xd4, 0x3b, 0xb8, 0x95, 0x9e, 0x3e, 0xcc, 0x93, 0x4c, 0x36, 0x5a,
|
||||
0x1a, 0x18, 0x94, 0x56, 0x0a, 0x60, 0x9c, 0x86, 0xcc, 0x0d, 0x22, 0xec, 0x85, 0x84, 0x69, 0xbd,
|
||||
0x8a, 0xd4, 0x7b, 0x79, 0x2b, 0xbd, 0xfb, 0x4a, 0xef, 0x3a, 0x9b, 0x8d, 0xcc, 0xdc, 0xf8, 0x52,
|
||||
0xd9, 0x94, 0xac, 0x0f, 0x2a, 0x4d, 0xc2, 0xa2, 0x30, 0xd1, 0x82, 0x4b, 0x52, 0x70, 0xff, 0x56,
|
||||
0x82, 0xba, 0x4f, 0xc7, 0x79, 0x6c, 0x54, 0x56, 0x70, 0xa8, 0x12, 0xd1, 0xc4, 0xa7, 0x03, 0x95,
|
||||
0xe5, 0xbb, 0xab, 0x8c, 0xf3, 0xd8, 0xa8, 0xac, 0xa0, 0x52, 0xe9, 0x82, 0x15, 0xcc, 0x18, 0x7d,
|
||||
0x3b, 0x55, 0x43, 0x28, 0xc5, 0x5e, 0xdd, 0x4a, 0x6c, 0x5d, 0x89, 0xdd, 0x40, 0x67, 0xa3, 0x65,
|
||||
0x69, 0x9d, 0xa8, 0x22, 0x05, 0x66, 0x4c, 0x58, 0x40, 0xc6, 0xef, 0x81, 0x95, 0xbb, 0xb7, 0xe6,
|
||||
0x34, 0x97, 0x8d, 0xaa, 0xd2, 0x34, 0xfc, 0xf6, 0x9f, 0x14, 0x8d, 0xaa, 0x59, 0x3b, 0x29, 0x1a,
|
||||
0x35, 0xd3, 0x3c, 0x29, 0x1a, 0xa6, 0xb9, 0x8c, 0x96, 0x7a, 0x34, 0xa2, 0x6e, 0xe7, 0x89, 0xca,
|
||||
0x40, 0x65, 0xf2, 0x16, 0x73, 0x7d, 0x90, 0x51, 0xd5, 0xc3, 0x02, 0x47, 0x3d, 0x2e, 0x34, 0x5d,
|
||||
0x03, 0xcc, 0x9f, 0x89, 0xfc, 0x5d, 0x60, 0x82, 0xc2, 0x05, 0xe9, 0xa9, 0x0b, 0x12, 0xe5, 0x43,
|
||||
0xb8, 0x0a, 0xe6, 0x3b, 0x38, 0x4a, 0xd5, 0x03, 0xa3, 0x84, 0x14, 0xb0, 0x4f, 0x41, 0xed, 0x9c,
|
||||
0xe1, 0x84, 0x63, 0x4f, 0x84, 0x34, 0x79, 0x4d, 0x03, 0x0e, 0x21, 0x28, 0xca, 0x0f, 0xb5, 0xca,
|
||||
0x95, 0x63, 0xf8, 0x3f, 0x50, 0x8c, 0x68, 0xc0, 0xeb, 0x73, 0x9b, 0x85, 0xad, 0xf2, 0xee, 0xbd,
|
||||
0xeb, 0x57, 0xfc, 0x6b, 0x1a, 0x20, 0x19, 0x62, 0xff, 0x3a, 0x07, 0x0a, 0xaf, 0x69, 0x00, 0xeb,
|
||||
0x60, 0x11, 0xfb, 0x3e, 0x23, 0x9c, 0x6b, 0xa6, 0x01, 0x84, 0x6b, 0x60, 0x41, 0xd0, 0x76, 0xe8,
|
||||
0x29, 0xba, 0x12, 0xd2, 0x28, 0x17, 0xf6, 0xb1, 0xc0, 0xf2, 0xaa, 0xab, 0x20, 0x39, 0x86, 0xbb,
|
||||
0xa0, 0x22, 0x57, 0xe6, 0x26, 0x69, 0xdc, 0x24, 0x4c, 0xde, 0x58, 0x45, 0xa7, 0x76, 0x95, 0x59,
|
||||
0x65, 0x69, 0xff, 0x5c, 0x9a, 0xd1, 0x38, 0x80, 0x0f, 0xc1, 0xa2, 0xe8, 0x8e, 0x5f, 0x36, 0x2b,
|
||||
0x57, 0x99, 0x55, 0x13, 0xa3, 0x65, 0xe6, 0x77, 0x09, 0x5a, 0x10, 0x5d, 0x79, 0xa7, 0x34, 0x80,
|
||||
0x21, 0xba, 0x6e, 0x98, 0xf8, 0xa4, 0x2b, 0xef, 0x93, 0xa2, 0xb3, 0x7a, 0x95, 0x59, 0xe6, 0x58,
|
||||
0xf8, 0x71, 0xee, 0x43, 0x8b, 0xa2, 0x2b, 0x07, 0xf0, 0x21, 0x00, 0x6a, 0x4a, 0x52, 0x41, 0xdd,
|
||||
0x06, 0x4b, 0x57, 0x99, 0x55, 0x92, 0x56, 0xc9, 0x3d, 0x1a, 0x42, 0x1b, 0xcc, 0x2b, 0x6e, 0x43,
|
||||
0x72, 0x57, 0xae, 0x32, 0xcb, 0x88, 0x68, 0xa0, 0x38, 0x95, 0x2b, 0x2f, 0x15, 0x23, 0x31, 0xed,
|
||||
0x10, 0x5f, 0x7e, 0x70, 0x0d, 0x34, 0x80, 0xf6, 0x8f, 0x73, 0xc0, 0x38, 0xef, 0x22, 0xc2, 0xd3,
|
||||
0x48, 0xc0, 0x17, 0xc0, 0xf4, 0x68, 0x22, 0x18, 0xf6, 0x84, 0x3b, 0x51, 0x5a, 0xe7, 0xc1, 0xa8,
|
||||
0xc3, 0xa6, 0x23, 0x6c, 0x54, 0x1b, 0x98, 0xf6, 0x75, 0xfd, 0x57, 0xc1, 0x7c, 0x33, 0xa2, 0x34,
|
||||
0x96, 0x9d, 0x50, 0x41, 0x0a, 0x40, 0x24, 0xab, 0x26, 0x77, 0xb9, 0x20, 0x1f, 0x72, 0xff, 0xb9,
|
||||
0xbe, 0xcb, 0x53, 0xad, 0xe2, 0xac, 0xe9, 0xc7, 0x5c, 0x55, 0x69, 0xeb, 0x7c, 0x3b, 0xaf, 0xad,
|
||||
0x6c, 0x25, 0x13, 0x14, 0x18, 0x11, 0x72, 0xd3, 0x2a, 0x28, 0x1f, 0xc2, 0x75, 0x60, 0x30, 0xd2,
|
||||
0x21, 0x4c, 0x10, 0x5f, 0x6e, 0x8e, 0x81, 0x86, 0x18, 0xde, 0x07, 0x46, 0x80, 0xb9, 0x9b, 0x72,
|
||||
0xe2, 0xab, 0x9d, 0x40, 0x8b, 0x01, 0xe6, 0x5f, 0x72, 0xe2, 0x3f, 0x2b, 0xfe, 0xf0, 0xb3, 0x35,
|
||||
0x63, 0x63, 0x50, 0xde, 0xf7, 0x3c, 0xc2, 0xf9, 0x79, 0xda, 0x8e, 0xc8, 0x5f, 0x74, 0xd8, 0x2e,
|
||||
0xa8, 0x70, 0x41, 0x19, 0x0e, 0x88, 0x7b, 0x41, 0x7a, 0xba, 0xcf, 0x54, 0xd7, 0x68, 0xfb, 0xa7,
|
||||
0xa4, 0xc7, 0xd1, 0x38, 0xd0, 0x12, 0x1f, 0x0a, 0xa0, 0x7c, 0xce, 0xb0, 0x47, 0xf4, 0xa3, 0x33,
|
||||
0xef, 0xd5, 0x1c, 0x32, 0x2d, 0xa1, 0x51, 0xae, 0x2d, 0xc2, 0x98, 0xd0, 0x54, 0xe8, 0xf3, 0x34,
|
||||
0x80, 0x79, 0x06, 0x23, 0xa4, 0x4b, 0x3c, 0x59, 0xc6, 0x22, 0xd2, 0x08, 0xee, 0x81, 0x25, 0x3f,
|
||||
0xe4, 0xf2, 0x35, 0xce, 0x05, 0xf6, 0x2e, 0xd4, 0xf2, 0x1d, 0xf3, 0x2a, 0xb3, 0x2a, 0xda, 0x71,
|
||||
0x96, 0xdb, 0xd1, 0x04, 0x82, 0xcf, 0x41, 0x6d, 0x94, 0x26, 0x67, 0x2b, 0x6b, 0x63, 0x38, 0xf0,
|
||||
0x2a, 0xb3, 0xaa, 0xc3, 0x50, 0xe9, 0x41, 0x53, 0x38, 0xdf, 0x69, 0x9f, 0x34, 0xd3, 0x40, 0x36,
|
||||
0x9f, 0x81, 0x14, 0xc8, 0xad, 0x51, 0x18, 0x87, 0x42, 0x36, 0xdb, 0x3c, 0x52, 0x00, 0x3e, 0x07,
|
||||
0x25, 0xda, 0x21, 0x8c, 0x85, 0x3e, 0xe1, 0xf2, 0xf6, 0xfd, 0xbb, 0xa7, 0x3c, 0x1a, 0xc5, 0xe7,
|
||||
0x8b, 0xd3, 0xff, 0x34, 0x62, 0x12, 0x53, 0xd6, 0x93, 0xd7, 0xa9, 0x5e, 0x9c, 0x72, 0x7c, 0x26,
|
||||
0xed, 0x68, 0x02, 0x41, 0x07, 0x40, 0x9d, 0xc6, 0x88, 0x48, 0x59, 0xe2, 0xca, 0xf3, 0x5f, 0x91,
|
||||
0xb9, 0xf2, 0x14, 0x2a, 0x2f, 0x92, 0xce, 0x43, 0x2c, 0x30, 0xba, 0x66, 0x39, 0x29, 0x1a, 0x45,
|
||||
0x73, 0xfe, 0xa4, 0x68, 0x2c, 0x9a, 0xc6, 0x70, 0xfd, 0x7a, 0x16, 0x68, 0x65, 0x80, 0xc7, 0xe8,
|
||||
0x1d, 0xe7, 0xdd, 0xe5, 0xc6, 0xec, 0xfb, 0xcb, 0x8d, 0xd9, 0x0f, 0x97, 0x1b, 0xb3, 0x3f, 0x7d,
|
||||
0xdc, 0x98, 0x79, 0xff, 0x71, 0x63, 0xe6, 0xf7, 0x8f, 0x1b, 0x33, 0x5f, 0x6f, 0x8d, 0x7d, 0xce,
|
||||
0x45, 0x0b, 0x33, 0x1e, 0xf2, 0xc6, 0xe8, 0x0f, 0x62, 0x57, 0xfe, 0x45, 0x94, 0x1f, 0xf5, 0xe6,
|
||||
0x82, 0xfc, 0xeb, 0xf7, 0xe4, 0xcf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x69, 0xef, 0x82, 0x39, 0x40,
|
||||
0x0e, 0x00, 0x00,
|
||||
}
|
||||
|
||||
func (m *Params) Marshal() (dAtA []byte, err error) {
|
||||
@ -845,6 +852,34 @@ func (m *ChainConfig) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
||||
_ = i
|
||||
var l int
|
||||
_ = l
|
||||
if m.MergeForkBlock != nil {
|
||||
{
|
||||
size := m.MergeForkBlock.Size()
|
||||
i -= size
|
||||
if _, err := m.MergeForkBlock.MarshalTo(dAtA[i:]); err != nil {
|
||||
return 0, err
|
||||
}
|
||||
i = encodeVarintEvm(dAtA, i, uint64(size))
|
||||
}
|
||||
i--
|
||||
dAtA[i] = 0x1
|
||||
i--
|
||||
dAtA[i] = 0x9a
|
||||
}
|
||||
if m.ArrowGlacierBlock != nil {
|
||||
{
|
||||
size := m.ArrowGlacierBlock.Size()
|
||||
i -= size
|
||||
if _, err := m.ArrowGlacierBlock.MarshalTo(dAtA[i:]); err != nil {
|
||||
return 0, err
|
||||
}
|
||||
i = encodeVarintEvm(dAtA, i, uint64(size))
|
||||
}
|
||||
i--
|
||||
dAtA[i] = 0x1
|
||||
i--
|
||||
dAtA[i] = 0x92
|
||||
}
|
||||
if m.LondonBlock != nil {
|
||||
{
|
||||
size := m.LondonBlock.Size()
|
||||
@ -1494,6 +1529,14 @@ func (m *ChainConfig) Size() (n int) {
|
||||
l = m.LondonBlock.Size()
|
||||
n += 2 + l + sovEvm(uint64(l))
|
||||
}
|
||||
if m.ArrowGlacierBlock != nil {
|
||||
l = m.ArrowGlacierBlock.Size()
|
||||
n += 2 + l + sovEvm(uint64(l))
|
||||
}
|
||||
if m.MergeForkBlock != nil {
|
||||
l = m.MergeForkBlock.Size()
|
||||
n += 2 + l + sovEvm(uint64(l))
|
||||
}
|
||||
return n
|
||||
}
|
||||
|
||||
@ -2416,6 +2459,78 @@ func (m *ChainConfig) Unmarshal(dAtA []byte) error {
|
||||
return err
|
||||
}
|
||||
iNdEx = postIndex
|
||||
case 18:
|
||||
if wireType != 2 {
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field ArrowGlacierBlock", wireType)
|
||||
}
|
||||
var stringLen uint64
|
||||
for shift := uint(0); ; shift += 7 {
|
||||
if shift >= 64 {
|
||||
return ErrIntOverflowEvm
|
||||
}
|
||||
if iNdEx >= l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
b := dAtA[iNdEx]
|
||||
iNdEx++
|
||||
stringLen |= uint64(b&0x7F) << shift
|
||||
if b < 0x80 {
|
||||
break
|
||||
}
|
||||
}
|
||||
intStringLen := int(stringLen)
|
||||
if intStringLen < 0 {
|
||||
return ErrInvalidLengthEvm
|
||||
}
|
||||
postIndex := iNdEx + intStringLen
|
||||
if postIndex < 0 {
|
||||
return ErrInvalidLengthEvm
|
||||
}
|
||||
if postIndex > l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
var v github_com_cosmos_cosmos_sdk_types.Int
|
||||
m.ArrowGlacierBlock = &v
|
||||
if err := m.ArrowGlacierBlock.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
||||
return err
|
||||
}
|
||||
iNdEx = postIndex
|
||||
case 19:
|
||||
if wireType != 2 {
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field MergeForkBlock", wireType)
|
||||
}
|
||||
var stringLen uint64
|
||||
for shift := uint(0); ; shift += 7 {
|
||||
if shift >= 64 {
|
||||
return ErrIntOverflowEvm
|
||||
}
|
||||
if iNdEx >= l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
b := dAtA[iNdEx]
|
||||
iNdEx++
|
||||
stringLen |= uint64(b&0x7F) << shift
|
||||
if b < 0x80 {
|
||||
break
|
||||
}
|
||||
}
|
||||
intStringLen := int(stringLen)
|
||||
if intStringLen < 0 {
|
||||
return ErrInvalidLengthEvm
|
||||
}
|
||||
postIndex := iNdEx + intStringLen
|
||||
if postIndex < 0 {
|
||||
return ErrInvalidLengthEvm
|
||||
}
|
||||
if postIndex > l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
var v github_com_cosmos_cosmos_sdk_types.Int
|
||||
m.MergeForkBlock = &v
|
||||
if err := m.MergeForkBlock.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
||||
return err
|
||||
}
|
||||
iNdEx = postIndex
|
||||
default:
|
||||
iNdEx = preIndex
|
||||
skippy, err := skipEvm(dAtA[iNdEx:])
|
||||
|
@ -6,6 +6,8 @@ import (
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"github.com/ethereum/go-ethereum/eth/tracers/logger"
|
||||
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/core"
|
||||
"github.com/ethereum/go-ethereum/core/vm"
|
||||
@ -21,22 +23,22 @@ const (
|
||||
|
||||
// NewTracer creates a new Logger tracer to collect execution traces from an
|
||||
// EVM transaction.
|
||||
func NewTracer(tracer string, msg core.Message, cfg *params.ChainConfig, height int64) vm.Tracer {
|
||||
func NewTracer(tracer string, msg core.Message, cfg *params.ChainConfig, height int64) vm.EVMLogger {
|
||||
// TODO: enable additional log configuration
|
||||
logCfg := &vm.LogConfig{
|
||||
logCfg := &logger.Config{
|
||||
Debug: true,
|
||||
}
|
||||
|
||||
switch tracer {
|
||||
case TracerAccessList:
|
||||
precompiles := vm.ActivePrecompiles(cfg.Rules(big.NewInt(height)))
|
||||
return vm.NewAccessListTracer(msg.AccessList(), msg.From(), *msg.To(), precompiles)
|
||||
preCompiles := vm.ActivePrecompiles(cfg.Rules(big.NewInt(height)))
|
||||
return logger.NewAccessListTracer(msg.AccessList(), msg.From(), *msg.To(), preCompiles)
|
||||
case TracerJSON:
|
||||
return vm.NewJSONLogger(logCfg, os.Stderr)
|
||||
return logger.NewJSONLogger(logCfg, os.Stderr)
|
||||
case TracerMarkdown:
|
||||
return vm.NewMarkdownLogger(logCfg, os.Stdout) // TODO: Stderr ?
|
||||
return logger.NewMarkdownLogger(logCfg, os.Stdout) // TODO: Stderr ?
|
||||
case TracerStruct:
|
||||
return vm.NewStructLogger(logCfg)
|
||||
return logger.NewStructLogger(logCfg)
|
||||
default:
|
||||
return NewNoOpTracer()
|
||||
}
|
||||
@ -79,7 +81,7 @@ type StructLogRes struct {
|
||||
}
|
||||
|
||||
// FormatLogs formats EVM returned structured logs for json output
|
||||
func FormatLogs(logs []vm.StructLog) []StructLogRes {
|
||||
func FormatLogs(logs []logger.StructLog) []StructLogRes {
|
||||
formatted := make([]StructLogRes, len(logs))
|
||||
for index, trace := range logs {
|
||||
formatted[index] = StructLogRes{
|
||||
@ -123,7 +125,7 @@ func FormatLogs(logs []vm.StructLog) []StructLogRes {
|
||||
return formatted
|
||||
}
|
||||
|
||||
var _ vm.Tracer = &NoOpTracer{}
|
||||
var _ vm.EVMLogger = &NoOpTracer{}
|
||||
|
||||
// NoOpTracer is an empty implementation of vm.Tracer interface
|
||||
type NoOpTracer struct{}
|
||||
@ -134,60 +136,23 @@ func NewNoOpTracer() *NoOpTracer {
|
||||
}
|
||||
|
||||
// CaptureStart implements vm.Tracer interface
|
||||
func (dt NoOpTracer) CaptureStart(
|
||||
env *vm.EVM,
|
||||
from, to common.Address,
|
||||
create bool,
|
||||
input []byte,
|
||||
gas uint64,
|
||||
value *big.Int,
|
||||
) {
|
||||
func (dt NoOpTracer) CaptureStart(env *vm.EVM, from common.Address, to common.Address, create bool, input []byte, gas uint64, value *big.Int) {
|
||||
}
|
||||
|
||||
// CaptureState implements vm.Tracer interface
|
||||
func (dt NoOpTracer) CaptureState(pc uint64, op vm.OpCode, gas, cost uint64, scope *vm.ScopeContext, rData []byte, depth int, err error) {
|
||||
}
|
||||
|
||||
// CaptureFault implements vm.Tracer interface
|
||||
func (dt NoOpTracer) CaptureFault(pc uint64, op vm.OpCode, gas, cost uint64, scope *vm.ScopeContext, depth int, err error) {
|
||||
}
|
||||
|
||||
// CaptureEnd implements vm.Tracer interface
|
||||
func (dt NoOpTracer) CaptureEnd(output []byte, gasUsed uint64, tm time.Duration, err error) {}
|
||||
|
||||
// CaptureEnter implements vm.Tracer interface
|
||||
func (dt NoOpTracer) CaptureEnter(
|
||||
typ vm.OpCode,
|
||||
from common.Address,
|
||||
to common.Address,
|
||||
input []byte,
|
||||
gas uint64,
|
||||
value *big.Int,
|
||||
) {
|
||||
func (dt NoOpTracer) CaptureEnter(typ vm.OpCode, from common.Address, to common.Address, input []byte, gas uint64, value *big.Int) {
|
||||
}
|
||||
|
||||
// CaptureExit implements vm.Tracer interface
|
||||
func (dt NoOpTracer) CaptureExit(output []byte, gasUsed uint64, err error) {}
|
||||
|
||||
// CaptureState implements vm.Tracer interface
|
||||
func (dt NoOpTracer) CaptureState(
|
||||
env *vm.EVM,
|
||||
pc uint64,
|
||||
op vm.OpCode,
|
||||
gas, cost uint64,
|
||||
scope *vm.ScopeContext,
|
||||
rData []byte,
|
||||
depth int,
|
||||
err error,
|
||||
) {
|
||||
}
|
||||
|
||||
// CaptureFault implements vm.Tracer interface
|
||||
func (dt NoOpTracer) CaptureFault(
|
||||
env *vm.EVM,
|
||||
pc uint64,
|
||||
op vm.OpCode,
|
||||
gas, cost uint64,
|
||||
scope *vm.ScopeContext,
|
||||
depth int,
|
||||
err error,
|
||||
) {
|
||||
}
|
||||
|
||||
// CaptureEnd implements vm.Tracer interface
|
||||
func (dt NoOpTracer) CaptureEnd(
|
||||
output []byte,
|
||||
gasUsed uint64,
|
||||
t time.Duration,
|
||||
err error,
|
||||
) {
|
||||
}
|
||||
|
@ -2,10 +2,10 @@ package types
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/ethereum/go-ethereum/eth/tracers/logger"
|
||||
"testing"
|
||||
|
||||
"github.com/ethereum/go-ethereum/common"
|
||||
"github.com/ethereum/go-ethereum/core/vm"
|
||||
"github.com/holiman/uint256"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
@ -17,17 +17,17 @@ func TestFormatLogs(t *testing.T) {
|
||||
|
||||
testCases := []struct {
|
||||
name string
|
||||
logs []vm.StructLog
|
||||
logs []logger.StructLog
|
||||
exp []StructLogRes
|
||||
}{
|
||||
{
|
||||
"empty logs",
|
||||
[]vm.StructLog{},
|
||||
[]logger.StructLog{},
|
||||
[]StructLogRes{},
|
||||
},
|
||||
{
|
||||
"non-empty stack",
|
||||
[]vm.StructLog{
|
||||
[]logger.StructLog{
|
||||
{
|
||||
Stack: zeroUint256,
|
||||
},
|
||||
@ -42,7 +42,7 @@ func TestFormatLogs(t *testing.T) {
|
||||
},
|
||||
{
|
||||
"non-empty memory",
|
||||
[]vm.StructLog{
|
||||
[]logger.StructLog{
|
||||
{
|
||||
Memory: zeroByte,
|
||||
},
|
||||
@ -57,7 +57,7 @@ func TestFormatLogs(t *testing.T) {
|
||||
},
|
||||
{
|
||||
"non-empty storage",
|
||||
[]vm.StructLog{
|
||||
[]logger.StructLog{
|
||||
{
|
||||
Storage: make(map[common.Hash]common.Hash),
|
||||
},
|
||||
|
Loading…
Reference in New Issue
Block a user