Skip to content

Commit

Permalink
additional tests to make sure that the actual values match with the s…
Browse files Browse the repository at this point in the history
…pecs
  • Loading branch information
angel-ding-cb committed Mar 1, 2024
1 parent e2556be commit 12926b1
Showing 1 changed file with 45 additions and 1 deletion.
46 changes: 45 additions & 1 deletion op-node/rollup/derive/fjord_upgrade_transactions_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@ package derive
import (
"testing"

"github.com/ethereum-optimism/optimism/op-bindings/bindings"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/common/hexutil"
"github.com/stretchr/testify/require"
)

Expand Down Expand Up @@ -37,4 +39,46 @@ func TestFjordSourcesMatchSpec(t *testing.T) {
}
}

// TODO: Add unit tests around the Fjord upgrade transactions to make sure they match the spec.
func TestFjordNetworkTransactions(t *testing.T) {
upgradeTxns, err := FjordNetworkUpgradeTransactions()
require.NoError(t, err)
require.Len(t, upgradeTxns, 5)

deployL1BlockSender, deployL1Block := toDepositTxn(t, upgradeTxns[0])
require.Equal(t, common.HexToAddress("0x4210000000000000000000000000000000000002"), deployL1BlockSender)
require.Equal(t, deployFjordL1BlockSource.SourceHash(), deployL1Block.SourceHash())
require.Nil(t, deployL1Block.To())
require.Equal(t, uint64(420_000), deployL1Block.Gas())
require.Equal(t, bindings.L1BlockMetaData.Bin, hexutil.Bytes(deployL1Block.Data()).String())

deployGasPriceOracleSender, deployGasPriceOracle := toDepositTxn(t, upgradeTxns[1])
require.Equal(t, deployGasPriceOracleSender, common.HexToAddress("0x4210000000000000000000000000000000000003"))
require.Equal(t, deployFjordGasPriceOracleSource.SourceHash(), deployGasPriceOracle.SourceHash())
require.Nil(t, deployGasPriceOracle.To())
require.Equal(t, uint64(1_450_000), deployGasPriceOracle.Gas())
require.Equal(t, bindings.GasPriceOracleMetaData.Bin, hexutil.Bytes(deployGasPriceOracle.Data()).String())

updateL1BlockProxySender, updateL1BlockProxy := toDepositTxn(t, upgradeTxns[2])
require.Equal(t, updateL1BlockProxySender, common.Address{})
require.Equal(t, updateFjordL1BlockProxySource.SourceHash(), updateL1BlockProxy.SourceHash())
require.NotNil(t, updateL1BlockProxy.To())
require.Equal(t, *updateL1BlockProxy.To(), common.HexToAddress("0x4200000000000000000000000000000000000015"))
require.Equal(t, uint64(50_000), updateL1BlockProxy.Gas())
require.Equal(t, common.FromHex("0x3659cfe6000000000000000000000000a919894851548179a0750865e7974da599c0fac7"), updateL1BlockProxy.Data())

updateGasPriceOracleSender, updateGasPriceOracle := toDepositTxn(t, upgradeTxns[3])
require.Equal(t, updateGasPriceOracleSender, common.Address{})
require.Equal(t, updateFjordGasPriceOracleSource.SourceHash(), updateGasPriceOracle.SourceHash())
require.NotNil(t, updateGasPriceOracle.To())
require.Equal(t, *updateGasPriceOracle.To(), common.HexToAddress("0x420000000000000000000000000000000000000F"))
require.Equal(t, uint64(50_000), updateGasPriceOracle.Gas())
require.Equal(t, common.FromHex("0x3659cfe6000000000000000000000000ff256497d61dcd71a9e9ff43967c13fde1f72d12"), updateGasPriceOracle.Data())

gpoSetFjordSender, gpoSetFjord := toDepositTxn(t, upgradeTxns[4])
require.Equal(t, gpoSetFjordSender, common.HexToAddress("0xDeaDDEaDDeAdDeAdDEAdDEaddeAddEAdDEAd0001"))
require.Equal(t, enableFjordSource.SourceHash(), gpoSetFjord.SourceHash())
require.NotNil(t, gpoSetFjord.To())
require.Equal(t, *gpoSetFjord.To(), common.HexToAddress("0x420000000000000000000000000000000000000F"))
require.Equal(t, uint64(80_000), gpoSetFjord.Gas())
require.Equal(t, common.FromHex("0x8e98b106"), gpoSetFjord.Data())
}

0 comments on commit 12926b1

Please sign in to comment.