go-ethereum/rollup/withdrawtrie/withdraw_trie.go
HAOYUatHZ 8a78c736a5
feat(trace): add withdraw trie root (#217)
* init rollup/rcfg/config.go

minor

* update traces struct

* init withdraw_trie.go

* finish

* fix `L2MessageQueueAddress`

* refactor(rollup): add `UsingScroll` into `ChainConfig` (#218)

* update comments

* update comments
2023-02-16 10:18:47 +08:00

18 lines
569 B
Go

package withdrawtrie
import (
"github.com/scroll-tech/go-ethereum/common"
"github.com/scroll-tech/go-ethereum/rollup/rcfg"
)
// StateDB represents the StateDB interface
// required to get withdraw trie root
type StateDB interface {
GetState(common.Address, common.Hash) common.Hash
}
// ReadWTRSlot reads WithdrawTrieRoot slot in L2MessageQueue predeploy, i.e., `messageRoot`
// in contracts/src/libraries/common/AppendOnlyMerkleTree.sol
func ReadWTRSlot(addr common.Address, state StateDB) common.Hash {
return state.GetState(addr, rcfg.WithdrawTrieRootSlot)
}