feat(trace): Add chainID and version fields in trace. (#227)

* Add ChainID and version.

* fix comments.

* Update params/version.go

Co-authored-by: HAOYUatHZ <37070449+HAOYUatHZ@users.noreply.github.com>

* fix comments.

* Update version.go

---------

Co-authored-by: HAOYUatHZ <37070449+HAOYUatHZ@users.noreply.github.com>
This commit is contained in:
maskpp 2023-03-06 21:19:30 +08:00 committed by GitHub
parent d1f9523b08
commit 03b4de32b7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 23 additions and 5 deletions

View file

@ -25,6 +25,8 @@ var (
// BlockTrace contains block execution traces and results required for rollers.
type BlockTrace struct {
ChainID uint64 `json:"chainID"`
Version string `json:"version"`
Coinbase *AccountWrapper `json:"coinbase"`
Header *Header `json:"header"`
Transactions []*TransactionData `json:"transactions"`

View file

@ -14,6 +14,7 @@ import (
"github.com/scroll-tech/go-ethereum/core/types"
"github.com/scroll-tech/go-ethereum/core/vm"
"github.com/scroll-tech/go-ethereum/log"
"github.com/scroll-tech/go-ethereum/params"
"github.com/scroll-tech/go-ethereum/rollup/rcfg"
"github.com/scroll-tech/go-ethereum/rollup/withdrawtrie"
"github.com/scroll-tech/go-ethereum/rpc"
@ -357,6 +358,8 @@ func (api *API) fillBlockTrace(env *traceEnv, block *types.Block) (*types.BlockT
}
blockTrace := &types.BlockTrace{
ChainID: api.backend.ChainConfig().ChainID.Uint64(),
Version: params.ArchiveVersion(params.CommitHash),
Coinbase: &types.AccountWrapper{
Address: env.coinbase,
Nonce: statedb.GetNonce(env.coinbase),

View file

@ -18,13 +18,14 @@ package params
import (
"fmt"
"runtime/debug"
)
const (
VersionMajor = 1 // Major version component of the current release
VersionMinor = 10 // Minor version component of the current release
VersionPatch = 13 // Patch version component of the current release
VersionMeta = "stable" // Version metadata to append to the version string
VersionMajor = 0 // Major version component of the current release
VersionMinor = 1 // Minor version component of the current release
VersionPatch = 9 // Patch version component of the current release
VersionMeta = "alpha" // Version metadata to append to the version string
)
// Version holds the textual version string.
@ -43,7 +44,8 @@ var VersionWithMeta = func() string {
// ArchiveVersion holds the textual version string used for Geth archives.
// e.g. "1.8.11-dea1ce05" for stable releases, or
// "1.8.13-unstable-21c059b6" for unstable releases
//
// "1.8.13-unstable-21c059b6" for unstable releases
func ArchiveVersion(gitCommit string) string {
vsn := Version
if VersionMeta != "stable" {
@ -65,3 +67,14 @@ func VersionWithCommit(gitCommit, gitDate string) string {
}
return vsn
}
var CommitHash = func() string {
if info, ok := debug.ReadBuildInfo(); ok {
for _, setting := range info.Settings {
if setting.Key == "vcs.revision" {
return setting.Value
}
}
}
return ""
}()