Sitelet https://github.com/ethereum-optimism/optimism/commit/06eabb1f308b182d713c01abc5408aaa90256af7
Skip to content

Commit 06eabb1

Browse files
authored
Enable UInt64 lint check and fix remaining violations (#18948)
* Enable UInt64 lint check and fix remaining violations. * Fix op-chain-ops fuzz tests * Fix safemath_test * Return error instead of panicing if array length is not a uint64 * Review feedback * Fix newly introduced violations.
1 parent 6cc4326 commit 06eabb1

64 files changed

Lines changed: 199 additions & 131 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.golangci.yaml‎

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,6 @@ linters:
6767
text: errors.As
6868
- path: (.+)\.go$
6969
text: errors.Is
70-
- path: (.+)\.go$
71-
text: use bigs.Uint64Strict # Ignore violations until code has been updated
7270
paths:
7371
- third_party$
7472
- builtin$

‎devnet-sdk/system/node.go‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88

99
"github.com/ethereum-optimism/optimism/devnet-sdk/contracts"
1010
"github.com/ethereum-optimism/optimism/devnet-sdk/interfaces"
11+
"github.com/ethereum-optimism/optimism/op-service/bigs"
1112
"github.com/ethereum-optimism/optimism/op-service/eth"
1213
"github.com/ethereum-optimism/optimism/op-service/sources"
1314
"github.com/ethereum/go-ethereum"
@@ -76,7 +77,7 @@ func (n *node) BlockByNumber(ctx context.Context, number *big.Int) (eth.BlockInf
7677
}
7778
var block eth.BlockInfo
7879
if number != nil {
79-
block, err = client.InfoByNumber(ctx, number.Uint64())
80+
block, err = client.InfoByNumber(ctx, bigs.Uint64Strict(number))
8081
} else {
8182
block, err = client.InfoByLabel(ctx, eth.Unsafe)
8283
}

‎devnet-sdk/system/wallet.go‎

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import (
1818
"github.com/ethereum/go-ethereum/common"
1919
"github.com/ethereum/go-ethereum/crypto"
2020

21+
"github.com/ethereum-optimism/optimism/op-service/bigs"
2122
coreTypes "github.com/ethereum/go-ethereum/core/types"
2223
)
2324

@@ -209,9 +210,9 @@ func (i *executeMessageImpl) Call(ctx context.Context) (any, error) {
209210
msg := supervisorTypes.Message{
210211
Identifier: supervisorTypes.Identifier{
211212
Origin: i.identifier.Origin,
212-
BlockNumber: i.identifier.BlockNumber.Uint64(),
213-
LogIndex: uint32(i.identifier.LogIndex.Uint64()),
214-
Timestamp: i.identifier.Timestamp.Uint64(),
213+
BlockNumber: bigs.Uint64Strict(i.identifier.BlockNumber),
214+
LogIndex: uint32(bigs.Uint64Strict(i.identifier.LogIndex)),
215+
Timestamp: bigs.Uint64Strict(i.identifier.Timestamp),
215216
ChainID: eth.ChainIDFromBig(i.identifier.ChainId),
216217
},
217218
PayloadHash: crypto.Keccak256Hash(i.sentMessage),

‎kona/tests/supervisor/l2reorg/init_exec_msg_test.go‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import (
1313
"github.com/ethereum-optimism/optimism/op-devstack/presets"
1414
"github.com/ethereum-optimism/optimism/op-devstack/stack/match"
1515
"github.com/ethereum-optimism/optimism/op-e2e/e2eutils/wait"
16+
"github.com/ethereum-optimism/optimism/op-service/bigs"
1617
"github.com/ethereum-optimism/optimism/op-service/eth"
1718
"github.com/ethereum-optimism/optimism/op-service/txintent"
1819
"github.com/ethereum-optimism/optimism/op-service/txplan"
@@ -116,7 +117,7 @@ func TestReorgInitExecMsg(gt *testing.T) {
116117
// sequence a conflicting block with a simple transfer tx, based on the parent of the parent of the unsafe head
117118
{
118119
var err error
119-
divergenceBlockNumber_B = execReceipt.BlockNumber.Uint64()
120+
divergenceBlockNumber_B = bigs.Uint64Strict(execReceipt.BlockNumber)
120121
originalRef_B, err = sys.L2ELB.Escape().L2EthClient().L2BlockRefByHash(ctx, execReceipt.BlockHash)
121122
require.NoError(t, err, "Expected to be able to call L2BlockRefByHash API, but got error")
122123

‎kona/tests/supervisor/message/interop_happy_tx_test.go‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
"github.com/ethereum-optimism/optimism/op-devstack/presets"
1212
"github.com/ethereum-optimism/optimism/op-service/eth"
1313

14+
"github.com/ethereum-optimism/optimism/op-service/bigs"
1415
stypes "github.com/ethereum-optimism/optimism/op-supervisor/supervisor/types"
1516
)
1617

@@ -46,11 +47,11 @@ func TestInteropHappyTx(gt *testing.T) {
4647
// confirm that the cross-safe safety passed init and exec receipts and that blocks were not reorged
4748
dsl.CheckAll(t,
4849
sys.L2CLA.ReachedRefFn(stypes.CrossSafe, eth.BlockID{
49-
Number: initReceipt.BlockNumber.Uint64(),
50+
Number: bigs.Uint64Strict(initReceipt.BlockNumber),
5051
Hash: initReceipt.BlockHash,
5152
}, 500),
5253
sys.L2CLB.ReachedRefFn(stypes.CrossSafe, eth.BlockID{
53-
Number: execReceipt.BlockNumber.Uint64(),
54+
Number: bigs.Uint64Strict(execReceipt.BlockNumber),
5455
Hash: execReceipt.BlockHash,
5556
}, 500),
5657
)

‎kona/tests/supervisor/message/interop_msg_test.go‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import (
2626
"github.com/ethereum/go-ethereum/crypto"
2727
"golang.org/x/sync/errgroup"
2828

29+
"github.com/ethereum-optimism/optimism/op-service/bigs"
2930
suptypes "github.com/ethereum-optimism/optimism/op-supervisor/supervisor/types"
3031
)
3132

@@ -80,7 +81,7 @@ func TestInitExecMsgWithDSL(gt *testing.T) {
8081

8182
// Write: Alice triggers initiating message
8283
receipt := contract.Write(alice, eventLogger.EmitLog(topics, data))
83-
block, err := clientA.BlockRefByNumber(t.Ctx(), receipt.BlockNumber.Uint64())
84+
block, err := clientA.BlockRefByNumber(t.Ctx(), bigs.Uint64Strict(receipt.BlockNumber))
8485
require.NoError(err)
8586

8687
sys.Supervisor.WaitForUnsafeHeadToAdvance(alice.ChainID(), 2)
@@ -91,7 +92,7 @@ func TestInitExecMsgWithDSL(gt *testing.T) {
9192
payload := suptypes.LogToMessagePayload(receipt.Logs[logIdx])
9293
identifier := suptypes.Identifier{
9394
Origin: eventLoggerAddress,
94-
BlockNumber: receipt.BlockNumber.Uint64(),
95+
BlockNumber: bigs.Uint64Strict(receipt.BlockNumber),
9596
LogIndex: logIdx,
9697
Timestamp: block.Time,
9798
ChainID: sys.L2ELA.ChainID(),

‎kona/tests/supervisor/pre_interop/post_test.go‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import (
1313
"github.com/ethereum-optimism/optimism/op-devstack/dsl"
1414
"github.com/ethereum-optimism/optimism/op-devstack/presets"
1515
"github.com/ethereum-optimism/optimism/op-devstack/stack/match"
16+
"github.com/ethereum-optimism/optimism/op-service/bigs"
1617
"github.com/ethereum-optimism/optimism/op-service/eth"
1718
stypes "github.com/ethereum-optimism/optimism/op-supervisor/supervisor/types"
1819
"github.com/ethereum/go-ethereum/common"
@@ -203,11 +204,11 @@ func verifyInteropMessagesProgression(t devtest.T, sys *presets.SimpleInterop, i
203204
// Verify cross-safe progression for both messages
204205
dsl.CheckAll(t,
205206
sys.L2CLA.ReachedRefFn(stypes.CrossSafe, eth.BlockID{
206-
Number: initReceipt.BlockNumber.Uint64(),
207+
Number: bigs.Uint64Strict(initReceipt.BlockNumber),
207208
Hash: initReceipt.BlockHash,
208209
}, 60),
209210
sys.L2CLB.ReachedRefFn(stypes.CrossSafe, eth.BlockID{
210-
Number: execReceipt.BlockNumber.Uint64(),
211+
Number: bigs.Uint64Strict(execReceipt.BlockNumber),
211212
Hash: execReceipt.BlockHash,
212213
}, 60),
213214
)

‎kona/tests/supervisor/rpc/rpc_test.go‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
"github.com/ethereum-optimism/optimism/op-acceptance-tests/tests/interop"
1111
"github.com/ethereum-optimism/optimism/op-devstack/devtest"
1212
"github.com/ethereum-optimism/optimism/op-devstack/presets"
13+
"github.com/ethereum-optimism/optimism/op-service/bigs"
1314
"github.com/ethereum-optimism/optimism/op-service/eth"
1415
"github.com/ethereum-optimism/optimism/op-supervisor/supervisor/types"
1516
"github.com/ethereum/go-ethereum/common"
@@ -224,7 +225,7 @@ func TestRPCCheckAccessList(gt *testing.T) {
224225
return args.Access()
225226
}
226227

227-
blockRef := sys.L2ChainA.PublicRPC().BlockRefByNumber(initReceipt.BlockNumber.Uint64())
228+
blockRef := sys.L2ChainA.PublicRPC().BlockRefByNumber(bigs.Uint64Strict(initReceipt.BlockNumber))
228229

229230
var accessEntries []types.Access
230231
for _, evLog := range initReceipt.Logs {

‎op-alt-da/damgr.go‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import (
1313
"github.com/ethereum/go-ethereum/log"
1414

1515
"github.com/ethereum-optimism/optimism/op-alt-da/bindings"
16+
"github.com/ethereum-optimism/optimism/op-service/bigs"
1617
"github.com/ethereum-optimism/optimism/op-service/eth"
1718
)
1819

@@ -432,7 +433,10 @@ func (d *DA) decodeChallengeStatus(log *types.Log) (ChallengeStatus, CommitmentD
432433
return 0, nil, 0, err
433434
}
434435
d.log.Debug("decoded challenge status event", "log", log, "event", event, "comm", fmt.Sprintf("%x", comm.Encode()))
435-
return ChallengeStatus(event.Status), comm, event.ChallengedBlockNumber.Uint64(), nil
436+
if !event.ChallengedBlockNumber.IsUint64() {
437+
return 0, nil, 0, fmt.Errorf("challenged block number is not a uint64")
438+
}
439+
return ChallengeStatus(event.Status), comm, bigs.Uint64Strict(event.ChallengedBlockNumber), nil
436440
}
437441

438442
var (

‎op-batcher/batcher/channel_manager.go‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"github.com/ethereum-optimism/optimism/op-batcher/metrics"
1010
"github.com/ethereum-optimism/optimism/op-node/rollup"
1111
"github.com/ethereum-optimism/optimism/op-node/rollup/derive"
12+
"github.com/ethereum-optimism/optimism/op-service/bigs"
1213
"github.com/ethereum-optimism/optimism/op-service/eth"
1314
"github.com/ethereum-optimism/optimism/op-service/queue"
1415
"github.com/ethereum/go-ethereum/common"
@@ -129,7 +130,7 @@ func (s *channelManager) TxConfirmed(_id txID, inclusionBlock eth.BlockID) {
129130
// Panics if the block is not in state.
130131
func (s *channelManager) rewindToBlock(block eth.BlockID) {
131132
initialCursor := s.blockCursor
132-
idx := block.Number - s.blocks[0].Number().Uint64()
133+
idx := block.Number - bigs.Uint64Strict(s.blocks[0].Number())
133134
if s.blocks[idx].Hash() == block.Hash && idx < uint64(s.blockCursor) {
134135
s.blockCursor = int(idx)
135136
} else {

0 commit comments

Comments
 (0)