Skip to content
This repository was archived by the owner on May 11, 2024. It is now read-only.

Commit 896bf98

Browse files
committed
restore l2suggestedfeerecipient flag
1 parent e069056 commit 896bf98

File tree

10 files changed

+42
-0
lines changed

10 files changed

+42
-0
lines changed

cmd/flags/proposer.go

+7
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,12 @@ var (
2020
Required: true,
2121
Category: proposerCategory,
2222
}
23+
L2SuggestedFeeRecipient = &cli.StringFlag{
24+
Name: "l2.suggestedFeeRecipient",
25+
Usage: "Address of the proposed block's suggested fee recipient",
26+
Required: true,
27+
Category: proposerCategory,
28+
}
2329
ProposerAssignmentHookAddress = &cli.StringFlag{
2430
Name: "assignmentHookAddress",
2531
Usage: "Address of the AssignmentHook contract",
@@ -135,6 +141,7 @@ var ProposerFlags = MergeFlags(CommonFlags, []cli.Flag{
135141
L2HTTPEndpoint,
136142
TaikoTokenAddress,
137143
L1ProposerPrivKey,
144+
L2SuggestedFeeRecipient,
138145
ProposeInterval,
139146
TxPoolLocals,
140147
TxPoolLocalsOnly,

driver/chain_syncer/calldata/syncer_test.go

+1
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ func (s *CalldataSyncerTestSuite) SetupTest() {
5858
},
5959
AssignmentHookAddress: common.HexToAddress(os.Getenv("ASSIGNMENT_HOOK_ADDRESS")),
6060
L1ProposerPrivKey: l1ProposerPrivKey,
61+
L2SuggestedFeeRecipient: common.HexToAddress(os.Getenv("L2_SUGGESTED_FEE_RECIPIENT")),
6162
ProposeInterval: &proposeInterval,
6263
MaxProposedTxListsPerEpoch: 1,
6364
WaitReceiptTimeout: 12 * time.Second,

driver/chain_syncer/chain_syncer_test.go

+1
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ func (s *ChainSyncerTestSuite) SetupTest() {
5959
},
6060
AssignmentHookAddress: common.HexToAddress(os.Getenv("ASSIGNMENT_HOOK_ADDRESS")),
6161
L1ProposerPrivKey: l1ProposerPrivKey,
62+
L2SuggestedFeeRecipient: common.HexToAddress(os.Getenv("L2_SUGGESTED_FEE_RECIPIENT")),
6263
ProposeInterval: &proposeInterval,
6364
MaxProposedTxListsPerEpoch: 1,
6465
WaitReceiptTimeout: 12 * time.Second,

driver/driver_test.go

+1
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ func (s *DriverTestSuite) SetupTest() {
6565
},
6666
AssignmentHookAddress: common.HexToAddress(os.Getenv("ASSIGNMENT_HOOK_ADDRESS")),
6767
L1ProposerPrivKey: l1ProposerPrivKey,
68+
L2SuggestedFeeRecipient: common.HexToAddress(os.Getenv("L2_SUGGESTED_FEE_RECIPIENT")),
6869
ProposeInterval: &proposeInterval,
6970
MaxProposedTxListsPerEpoch: 1,
7071
WaitReceiptTimeout: 12 * time.Second,

integration_test/test_env.sh

+2
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,15 @@ export L1_SIGNAL_SERVICE_CONTRACT_ADDRESS=$(echo "$DEPLOYMENT_JSON" | jq '.signa
1919
export L1_CONTRACT_OWNER_PRIVATE_KEY=0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80
2020
export L1_SECURITY_COUNCIL_PRIVATE_KEY=0xdbda1821b80551c9d65939329250298aa3472ba22feea921c0cf5d620ea67b97
2121
export L1_PROPOSER_PRIVATE_KEY=0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80
22+
export L2_SUGGESTED_FEE_RECIPIENT=0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266
2223
export L1_PROVER_PRIVATE_KEY=0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d
2324
export TREASURY=0x1670010000000000000000000000000000010001
2425

2526
# show the integration test environment variables.
2627
echo "TAIKO_MONO_DIR=$TAIKO_MONO_DIR"
2728
echo "L1_NODE_HTTP_ENDPOINT=$L1_NODE_HTTP_ENDPOINT"
2829
echo "L1_NODE_WS_ENDPOINT=$L1_NODE_WS_ENDPOINT"
30+
echo "L2_SUGGESTED_FEE_RECIPIENT=$L2_SUGGESTED_FEE_RECIPIENT"
2931
echo "L2_EXECUTION_ENGINE_HTTP_ENDPOINT=$L2_EXECUTION_ENGINE_HTTP_ENDPOINT"
3032
echo "L2_EXECUTION_ENGINE_WS_ENDPOINT=$L2_EXECUTION_ENGINE_WS_ENDPOINT"
3133
echo "L2_EXECUTION_ENGINE_AUTH_ENDPOINT=$L2_EXECUTION_ENGINE_AUTH_ENDPOINT"

proposer/config.go

+7
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ type Config struct {
2121
*rpc.ClientConfig
2222
AssignmentHookAddress common.Address
2323
L1ProposerPrivKey *ecdsa.PrivateKey
24+
L2SuggestedFeeRecipient common.Address
2425
ExtraData string
2526
ProposeInterval *time.Duration
2627
LocalAddresses []common.Address
@@ -65,6 +66,11 @@ func NewConfigFromCliContext(c *cli.Context) (*Config, error) {
6566
proposeEmptyBlocksInterval = &interval
6667
}
6768

69+
l2SuggestedFeeRecipient := c.String(flags.L2SuggestedFeeRecipient.Name)
70+
if !common.IsHexAddress(l2SuggestedFeeRecipient) {
71+
return nil, fmt.Errorf("invalid L2 suggested fee recipient address: %s", l2SuggestedFeeRecipient)
72+
}
73+
6874
var localAddresses []common.Address
6975
if c.IsSet(flags.TxPoolLocals.Name) {
7076
for _, account := range strings.Split(c.String(flags.TxPoolLocals.Name), ",") {
@@ -109,6 +115,7 @@ func NewConfigFromCliContext(c *cli.Context) (*Config, error) {
109115
},
110116
AssignmentHookAddress: common.HexToAddress(c.String(flags.ProposerAssignmentHookAddress.Name)),
111117
L1ProposerPrivKey: l1ProposerPrivKey,
118+
L2SuggestedFeeRecipient: common.HexToAddress(l2SuggestedFeeRecipient),
112119
ExtraData: c.String(flags.ExtraData.Name),
113120
ProposeInterval: proposingInterval,
114121
LocalAddresses: localAddresses,

proposer/config_test.go

+20
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ func (s *ProposerTestSuite) TestNewConfigFromCliContext() {
4242
s.Equal(taikoL2, c.TaikoL2Address.String())
4343
s.Equal(taikoToken, c.TaikoTokenAddress.String())
4444
s.Equal(goldenTouchAddress, crypto.PubkeyToAddress(c.L1ProposerPrivKey.PublicKey))
45+
s.Equal(goldenTouchAddress, c.L2SuggestedFeeRecipient)
4546
s.Equal(float64(10), c.ProposeInterval.Seconds())
4647
s.Equal(1, len(c.LocalAddresses))
4748
s.Equal(goldenTouchAddress, c.LocalAddresses[0])
@@ -72,6 +73,7 @@ func (s *ProposerTestSuite) TestNewConfigFromCliContext() {
7273
"--" + flags.TaikoL2Address.Name, taikoL2,
7374
"--" + flags.TaikoTokenAddress.Name, taikoToken,
7475
"--" + flags.L1ProposerPrivKey.Name, encoding.GoldenTouchPrivKey,
76+
"--" + flags.L2SuggestedFeeRecipient.Name, goldenTouchAddress.Hex(),
7577
"--" + flags.ProposeInterval.Name, proposeInterval,
7678
"--" + flags.TxPoolLocals.Name, goldenTouchAddress.Hex(),
7779
"--" + flags.ProposeBlockTxReplacementMultiplier.Name, "5",
@@ -99,14 +101,30 @@ func (s *ProposerTestSuite) TestNewConfigFromCliContextPrivKeyErr() {
99101
}), "invalid L1 proposer private key")
100102
}
101103

104+
func (s *ProposerTestSuite) TestNewConfigFromCliContextL2RecipErr() {
105+
app := s.SetupApp()
106+
107+
s.ErrorContains(app.Run([]string{
108+
"TestNewConfigFromCliContextL2RecipErr",
109+
"--" + flags.L1ProposerPrivKey.Name, encoding.GoldenTouchPrivKey,
110+
"--" + flags.ProposeInterval.Name, proposeInterval,
111+
"--" + flags.ProposeEmptyBlocksInterval.Name, proposeInterval,
112+
"--" + flags.L2SuggestedFeeRecipient.Name, "notAnAddress",
113+
}), "invalid L2 suggested fee recipient address")
114+
}
115+
102116
func (s *ProposerTestSuite) TestNewConfigFromCliContextTxPoolLocalsErr() {
117+
goldenTouchAddress, err := s.RPCClient.TaikoL2.GOLDENTOUCHADDRESS(nil)
118+
s.Nil(err)
119+
103120
app := s.SetupApp()
104121

105122
s.ErrorContains(app.Run([]string{
106123
"TestNewConfigFromCliContextTxPoolLocalsErr",
107124
"--" + flags.L1ProposerPrivKey.Name, encoding.GoldenTouchPrivKey,
108125
"--" + flags.ProposeInterval.Name, proposeInterval,
109126
"--" + flags.ProposeEmptyBlocksInterval.Name, proposeInterval,
127+
"--" + flags.L2SuggestedFeeRecipient.Name, goldenTouchAddress.Hex(),
110128
"--" + flags.TxPoolLocals.Name, "notAnAddress",
111129
}), "invalid account in --txpool.locals")
112130
}
@@ -120,6 +138,7 @@ func (s *ProposerTestSuite) TestNewConfigFromCliContextReplMultErr() {
120138
s.ErrorContains(app.Run([]string{
121139
"TestNewConfigFromCliContextReplMultErr",
122140
"--" + flags.L1ProposerPrivKey.Name, encoding.GoldenTouchPrivKey,
141+
"--" + flags.L2SuggestedFeeRecipient.Name, goldenTouchAddress.Hex(),
123142
"--" + flags.ProposeInterval.Name, proposeInterval,
124143
"--" + flags.ProposeEmptyBlocksInterval.Name, proposeInterval,
125144
"--" + flags.TxPoolLocals.Name, goldenTouchAddress.Hex(),
@@ -136,6 +155,7 @@ func (s *ProposerTestSuite) SetupApp() *cli.App {
136155
&cli.StringFlag{Name: flags.TaikoL2Address.Name},
137156
&cli.StringFlag{Name: flags.TaikoTokenAddress.Name},
138157
&cli.StringFlag{Name: flags.L1ProposerPrivKey.Name},
158+
&cli.StringFlag{Name: flags.L2SuggestedFeeRecipient.Name},
139159
&cli.DurationFlag{Name: flags.ProposeEmptyBlocksInterval.Name},
140160
&cli.DurationFlag{Name: flags.ProposeInterval.Name},
141161
&cli.StringFlag{Name: flags.TxPoolLocals.Name},

proposer/proposer_test.go

+1
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ func (s *ProposerTestSuite) SetupTest() {
4545
},
4646
AssignmentHookAddress: common.HexToAddress(os.Getenv("ASSIGNMENT_HOOK_ADDRESS")),
4747
L1ProposerPrivKey: l1ProposerPrivKey,
48+
L2SuggestedFeeRecipient: common.HexToAddress(os.Getenv("L2_SUGGESTED_FEE_RECIPIENT")),
4849
ProposeInterval: &proposeInterval,
4950
MaxProposedTxListsPerEpoch: 1,
5051
ProposeBlockTxReplacementMultiplier: 2,

prover/proof_submitter/proof_submitter_test.go

+1
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ func (s *ProofSubmitterTestSuite) SetupTest() {
100100
AssignmentHookAddress: common.HexToAddress(os.Getenv("ASSIGNMENT_HOOK_ADDRESS")),
101101

102102
L1ProposerPrivKey: l1ProposerPrivKey,
103+
L2SuggestedFeeRecipient: common.HexToAddress(os.Getenv("L2_SUGGESTED_FEE_RECIPIENT")),
103104
ProposeInterval: &proposeInterval,
104105
MaxProposedTxListsPerEpoch: 1,
105106
WaitReceiptTimeout: 12 * time.Second,

prover/prover_test.go

+1
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ func (s *ProverTestSuite) SetupTest() {
8282
},
8383
AssignmentHookAddress: common.HexToAddress(os.Getenv("ASSIGNMENT_HOOK_ADDRESS")),
8484
L1ProposerPrivKey: l1ProposerPrivKey,
85+
L2SuggestedFeeRecipient: common.HexToAddress(os.Getenv("L2_SUGGESTED_FEE_RECIPIENT")),
8586
ProposeInterval: &proposeInterval,
8687
MaxProposedTxListsPerEpoch: 1,
8788
WaitReceiptTimeout: 12 * time.Second,

0 commit comments

Comments
 (0)