Skip to content

Commit

Permalink
TestFeeAccounts
Browse files Browse the repository at this point in the history
  • Loading branch information
diegoximenes committed Oct 15, 2024
1 parent c5f23a0 commit 5790f2d
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 2 deletions.
2 changes: 0 additions & 2 deletions precompiles/ArbOwner.go
Original file line number Diff line number Diff line change
Expand Up @@ -96,13 +96,11 @@ func (con ArbOwner) SetL2GasBacklogTolerance(c ctx, evm mech, sec uint64) error
return c.State.L2PricingState().SetBacklogTolerance(sec)
}

// TODO: add system test
// GetNetworkFeeAccount gets the network fee collector
func (con ArbOwner) GetNetworkFeeAccount(c ctx, evm mech) (addr, error) {
return c.State.NetworkFeeAccount()
}

// TODO: add system test
// GetInfraFeeAccount gets the infrastructure fee collector
func (con ArbOwner) GetInfraFeeAccount(c ctx, evm mech) (addr, error) {
return c.State.InfraFeeAccount()
Expand Down
42 changes: 42 additions & 0 deletions system_tests/precompile_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -640,6 +640,48 @@ func TestArbAggregatorBaseFee(t *testing.T) {
}
}

func TestFeeAccounts(t *testing.T) {
t.Parallel()

ctx, cancel := context.WithCancel(context.Background())
defer cancel()

builder := NewNodeBuilder(ctx).DefaultConfig(t, false)
cleanup := builder.Build(t)
defer cleanup()

auth := builder.L2Info.GetDefaultTransactOpts("Owner", ctx)
callOpts := &bind.CallOpts{Context: ctx}

arbOwner, err := precompilesgen.NewArbOwner(types.ArbOwnerAddress, builder.L2.Client)
Require(t, err)

builder.L2Info.GenerateAccount("User2")
addr := builder.L2Info.GetAddress("User2")

tx, err := arbOwner.SetNetworkFeeAccount(&auth, addr)
Require(t, err)
_, err = builder.L2.EnsureTxSucceeded(tx)
Require(t, err)

feeAccount, err := arbOwner.GetNetworkFeeAccount(callOpts)
Require(t, err)
if feeAccount.Cmp(addr) != 0 {
Fatal(t, "expected fee account to be", addr, "got", feeAccount)
}

tx, err = arbOwner.SetInfraFeeAccount(&auth, addr)
Require(t, err)
_, err = builder.L2.EnsureTxSucceeded(tx)
Require(t, err)

feeAccount, err = arbOwner.GetInfraFeeAccount(callOpts)
Require(t, err)
if feeAccount.Cmp(addr) != 0 {
Fatal(t, "expected fee account to be", addr, "got", feeAccount)
}
}

func TestArbAddressTableDoesntRevert(t *testing.T) {
t.Parallel()

Expand Down

0 comments on commit 5790f2d

Please sign in to comment.