Skip to content

Commit d0cb88b

Browse files
Merge branch 'master' into use_hex
2 parents def2c05 + 42684dc commit d0cb88b

File tree

2 files changed

+45
-5
lines changed

2 files changed

+45
-5
lines changed

execution/gethexec/executionengine.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,14 +37,14 @@ import (
3737
"github.com/ethereum/go-ethereum/core/types"
3838
"github.com/ethereum/go-ethereum/log"
3939
"github.com/ethereum/go-ethereum/metrics"
40+
"github.com/ethereum/go-ethereum/params"
4041

4142
"github.com/offchainlabs/nitro/arbos"
4243
"github.com/offchainlabs/nitro/arbos/arbosState"
4344
"github.com/offchainlabs/nitro/arbos/arbostypes"
4445
"github.com/offchainlabs/nitro/arbos/l1pricing"
4546
"github.com/offchainlabs/nitro/arbos/programs"
4647
"github.com/offchainlabs/nitro/arbutil"
47-
"github.com/offchainlabs/nitro/cmd/chaininfo"
4848
"github.com/offchainlabs/nitro/execution"
4949
"github.com/offchainlabs/nitro/util/arbmath"
5050
"github.com/offchainlabs/nitro/util/sharedmetrics"
@@ -1005,17 +1005,16 @@ func (s *ExecutionEngine) digestMessageWithBlockMutex(msgIdxToDigest arbutil.Mes
10051005
timestamp = time.Unix(int64(timestampInt), 0)
10061006
timeUntilUpgrade = time.Until(timestamp)
10071007
}
1008-
maxSupportedVersion := chaininfo.ArbitrumDevTestChainConfig().ArbitrumChainParams.InitialArbOSVersion
10091008
logLevel := log.Warn
10101009
if timeUntilUpgrade < time.Hour*24 {
10111010
logLevel = log.Error
10121011
}
1013-
if version > maxSupportedVersion {
1012+
if version > params.MaxArbosVersionSupported {
10141013
logLevel(
10151014
"you need to update your node to the latest version before this scheduled ArbOS upgrade",
10161015
"timeUntilUpgrade", timeUntilUpgrade,
10171016
"upgradeScheduledFor", timestamp,
1018-
"maxSupportedArbosVersion", maxSupportedVersion,
1017+
"maxSupportedArbosVersion", params.MaxArbosVersionSupported,
10191018
"pendingArbosUpgradeVersion", version,
10201019
)
10211020
}

staker/bold/bold_staker.go

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@ import (
1616
"github.com/ethereum/go-ethereum/accounts/abi/bind"
1717
"github.com/ethereum/go-ethereum/common"
1818
"github.com/ethereum/go-ethereum/log"
19+
"github.com/ethereum/go-ethereum/metrics"
1920
"github.com/ethereum/go-ethereum/node"
21+
"github.com/ethereum/go-ethereum/params"
2022
"github.com/ethereum/go-ethereum/rpc"
2123

2224
protocol "github.com/offchainlabs/bold/chain-abstraction"
@@ -31,11 +33,17 @@ import (
3133
"github.com/offchainlabs/nitro/arbutil"
3234
"github.com/offchainlabs/nitro/staker"
3335
legacystaker "github.com/offchainlabs/nitro/staker/legacy"
36+
"github.com/offchainlabs/nitro/util/arbmath"
3437
"github.com/offchainlabs/nitro/util/headerreader"
3538
"github.com/offchainlabs/nitro/util/stopwaiter"
3639
"github.com/offchainlabs/nitro/validator"
3740
)
3841

42+
var (
43+
boldStakerBalanceGauge = metrics.NewRegisteredGaugeFloat64("arb/staker/balance", nil)
44+
boldStakerAmountStakedGauge = metrics.NewRegisteredGauge("arb/staker/amount_staked", nil)
45+
)
46+
3947
var assertionCreatedId common.Hash
4048

4149
func init() {
@@ -195,7 +203,7 @@ type BOLDStaker struct {
195203
blockValidator *staker.BlockValidator
196204
rollupAddress common.Address
197205
l1Reader *headerreader.HeaderReader
198-
client protocol.ChainBackend
206+
client *util.BackendWrapper
199207
callOpts bind.CallOpts
200208
wallet legacystaker.ValidatorWalletInterface
201209
stakedNotifiers []legacystaker.LatestStakedNotifier
@@ -327,10 +335,43 @@ func (b *BOLDStaker) Start(ctxIn context.Context) {
327335
notifier.UpdateLatestConfirmed(confirmedMsgCount, *confirmedGlobalState)
328336
}
329337
}
338+
err = b.updateStakerBalanceMetric(ctx)
339+
if err != nil {
340+
log.Warn("error updating staker balance metric", "err", err)
341+
}
330342
return b.config.AssertionPostingInterval
331343
})
332344
}
333345

346+
func (b *BOLDStaker) updateStakerBalanceMetric(ctx context.Context) error {
347+
walletAddressOrZero := b.wallet.AddressOrZero()
348+
if walletAddressOrZero != (common.Address{}) {
349+
rollupUserLogic, err := boldrollup.NewRollupUserLogic(b.rollupAddress, b.client)
350+
if err != nil {
351+
return fmt.Errorf("error creating rollup user logic: %w", err)
352+
}
353+
amountStaked, err := rollupUserLogic.AmountStaked(&bind.CallOpts{Context: ctx}, walletAddressOrZero)
354+
if err != nil {
355+
return fmt.Errorf("error getting amount staked: %w", err)
356+
}
357+
boldStakerAmountStakedGauge.Update(arbmath.BigDivByUint(amountStaked, params.Ether).Int64())
358+
} else {
359+
boldStakerAmountStakedGauge.Update(0)
360+
}
361+
362+
txSenderAddress := b.wallet.TxSenderAddress()
363+
if txSenderAddress != nil {
364+
balance, err := b.client.BalanceAt(ctx, *txSenderAddress, nil)
365+
if err != nil {
366+
return fmt.Errorf("error getting balance for %v: %w", txSenderAddress, err)
367+
}
368+
boldStakerBalanceGauge.Update(arbmath.BalancePerEther(balance))
369+
} else {
370+
boldStakerBalanceGauge.Update(0)
371+
}
372+
return nil
373+
}
374+
334375
func (b *BOLDStaker) getLatestState(ctx context.Context, confirmed bool) (arbutil.MessageIndex, *validator.GoGlobalState, error) {
335376
var globalState protocol.GoGlobalState
336377
var err error

0 commit comments

Comments
 (0)