From 41ffa23b2d4e66e9457bd8d7ec37d7fb2b428580 Mon Sep 17 00:00:00 2001 From: Oliver Townsend Date: Tue, 29 Oct 2024 14:42:46 -0700 Subject: [PATCH] suggestions and fix docs_test --- core/chains/evm/config/toml/config.go | 19 ++ .../evm/config/toml/defaults/fallback.toml | 5 + core/chains/evm/gas/rollups/op_l1_oracle.go | 60 ++--- core/config/docs/docs_test.go | 6 +- docs/CONFIG.md | 246 ++++++++++++++++++ 5 files changed, 296 insertions(+), 40 deletions(-) diff --git a/core/chains/evm/config/toml/config.go b/core/chains/evm/config/toml/config.go index 03ed6987901..69011d0025a 100644 --- a/core/chains/evm/config/toml/config.go +++ b/core/chains/evm/config/toml/config.go @@ -784,6 +784,25 @@ const ( DAOracleCustomCalldata = DAOracleType("custom_calldata") ) +func (o *DAOracle) ValidateConfig() (err error) { + if o.OracleType != nil { + if *o.OracleType == DAOracleOPStack { + if o.OracleAddress == nil { + err = multierr.Append(err, commonconfig.ErrMissing{Name: "OracleAddress", Msg: "required for 'opstack' oracle types"}) + } + } + if *o.OracleType == DAOracleCustomCalldata { + if o.OracleAddress == nil { + err = multierr.Append(err, commonconfig.ErrMissing{Name: "OracleAddress", Msg: "required for 'custom_calldata' oracle types"}) + } + if o.CustomGasPriceCalldata == nil { + err = multierr.Append(err, commonconfig.ErrMissing{Name: "CustomGasPriceCalldata", Msg: "required for 'custom_calldata' oracle type"}) + } + } + } + return +} + func (o DAOracleType) IsValid() bool { switch o { case "", DAOracleOPStack, DAOracleArbitrum, DAOracleZKSync, DAOracleCustomCalldata: diff --git a/core/chains/evm/config/toml/defaults/fallback.toml b/core/chains/evm/config/toml/defaults/fallback.toml index 1e18f4a4ebf..a761070f230 100644 --- a/core/chains/evm/config/toml/defaults/fallback.toml +++ b/core/chains/evm/config/toml/defaults/fallback.toml @@ -60,6 +60,11 @@ TransactionPercentile = 60 [GasEstimator.FeeHistory] CacheTimeout = '10s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 100 MaxBufferSize = 3 diff --git a/core/chains/evm/gas/rollups/op_l1_oracle.go b/core/chains/evm/gas/rollups/op_l1_oracle.go index 52927573b61..764a1bfb875 100644 --- a/core/chains/evm/gas/rollups/op_l1_oracle.go +++ b/core/chains/evm/gas/rollups/op_l1_oracle.go @@ -32,12 +32,12 @@ type optimismL1Oracle struct { pollPeriod time.Duration logger logger.SugaredLogger - daOracleConfig evmconfig.DAOracle - l1GasPriceMu sync.RWMutex - l1GasPrice priceEntry - isEcotone bool - isFjord bool - upgradeCheckTs time.Time + daOracleAddress common.Address + l1GasPriceMu sync.RWMutex + l1GasPrice priceEntry + isEcotone bool + isFjord bool + upgradeCheckTs time.Time chInitialised chan struct{} chStop services.StopChan @@ -96,12 +96,13 @@ func NewOpStackL1GasOracle(lggr logger.Logger, ethClient l1OracleClient, chainTy if *daOracle.OracleType() != toml.DAOracleOPStack { return nil, fmt.Errorf("expected %s oracle type, got %s", toml.DAOracleOPStack, *daOracle.OracleType()) } - if daOracle.OracleAddress() == nil || *daOracle.OracleAddress() == "" { - return nil, errors.New("OracleAddress is required but was nil or empty") - } if daOracle.CustomGasPriceCalldata() != nil && *daOracle.CustomGasPriceCalldata() != "" { lggr.Warnf("CustomGasPriceCalldata is set but will be ignored for OPStack DA oracle") } + if daOracle.OracleAddress() == nil || *daOracle.OracleAddress() == "" { + return nil, errors.New("OracleAddress is required but was nil or empty") + } + oracleAddress := *daOracle.OracleAddress() getL1FeeMethodAbi, err := abi.JSON(strings.NewReader(GetL1FeeAbiString)) if err != nil { @@ -156,10 +157,10 @@ func NewOpStackL1GasOracle(lggr logger.Logger, ethClient l1OracleClient, chainTy pollPeriod: PollPeriod, logger: logger.Sugared(logger.Named(lggr, fmt.Sprintf("L1GasOracle(%s)", chainType))), - daOracleConfig: daOracle, - isEcotone: false, - isFjord: false, - upgradeCheckTs: time.Time{}, + daOracleAddress: oracleAddress.Address(), + isEcotone: false, + isFjord: false, + upgradeCheckTs: time.Time{}, chInitialised: make(chan struct{}), chStop: make(chan struct{}), @@ -292,12 +293,6 @@ func (o *optimismL1Oracle) checkForUpgrade(ctx context.Context) error { return nil } - // Check in case somehow DA oracle address got reset to nil - if o.daOracleConfig.OracleAddress() == nil { - return errors.New("OracleAddress is required but was nil") - } - - oracleAddress := *o.daOracleConfig.OracleAddress() o.upgradeCheckTs = time.Now() rpcBatchCalls := []rpc.BatchElem{ { @@ -305,7 +300,7 @@ func (o *optimismL1Oracle) checkForUpgrade(ctx context.Context) error { Args: []any{ map[string]interface{}{ "from": common.Address{}, - "to": oracleAddress.String(), + "to": o.daOracleAddress.String(), "data": hexutil.Bytes(o.isFjordCalldata), }, "latest", @@ -317,7 +312,7 @@ func (o *optimismL1Oracle) checkForUpgrade(ctx context.Context) error { Args: []any{ map[string]interface{}{ "from": common.Address{}, - "to": oracleAddress.String(), + "to": o.daOracleAddress.String(), "data": hexutil.Bytes(o.isEcotoneCalldata), }, "latest", @@ -358,14 +353,8 @@ func (o *optimismL1Oracle) checkForUpgrade(ctx context.Context) error { } func (o *optimismL1Oracle) getV1GasPrice(ctx context.Context) (*big.Int, error) { - if o.daOracleConfig.OracleAddress() == nil { - return nil, errors.New("OracleAddress is required for OP DA oracle but was nil") - } - - oracleAddress := *o.daOracleConfig.OracleAddress() - oracleCommonAddress := oracleAddress.Address() b, err := o.client.CallContract(ctx, ethereum.CallMsg{ - To: &oracleCommonAddress, + To: &o.daOracleAddress, Data: o.l1BaseFeeCalldata, }, nil) if err != nil { @@ -381,18 +370,13 @@ func (o *optimismL1Oracle) getV1GasPrice(ctx context.Context) (*big.Int, error) // Returns the scaled gas price using baseFeeScalar, l1BaseFee, blobBaseFeeScalar, and blobBaseFee fields from the oracle // Confirmed the same calculation is used to determine gas price for both Ecotone and Fjord func (o *optimismL1Oracle) getEcotoneFjordGasPrice(ctx context.Context) (*big.Int, error) { - if o.daOracleConfig.OracleAddress() == nil { - return nil, errors.New("OracleAddress is required for OP DA oracle but was nil") - } - - oracleAddress := *o.daOracleConfig.OracleAddress() rpcBatchCalls := []rpc.BatchElem{ { Method: "eth_call", Args: []any{ map[string]interface{}{ "from": common.Address{}, - "to": oracleAddress.String(), + "to": o.daOracleAddress.String(), "data": hexutil.Bytes(o.l1BaseFeeCalldata), }, "latest", @@ -404,7 +388,7 @@ func (o *optimismL1Oracle) getEcotoneFjordGasPrice(ctx context.Context) (*big.In Args: []any{ map[string]interface{}{ "from": common.Address{}, - "to": oracleAddress.String(), + "to": o.daOracleAddress.String(), "data": hexutil.Bytes(o.baseFeeScalarCalldata), }, "latest", @@ -416,7 +400,7 @@ func (o *optimismL1Oracle) getEcotoneFjordGasPrice(ctx context.Context) (*big.In Args: []any{ map[string]interface{}{ "from": common.Address{}, - "to": oracleAddress.String(), + "to": o.daOracleAddress.String(), "data": hexutil.Bytes(o.blobBaseFeeCalldata), }, "latest", @@ -428,7 +412,7 @@ func (o *optimismL1Oracle) getEcotoneFjordGasPrice(ctx context.Context) (*big.In Args: []any{ map[string]interface{}{ "from": common.Address{}, - "to": oracleAddress.String(), + "to": o.daOracleAddress.String(), "data": hexutil.Bytes(o.blobBaseFeeScalarCalldata), }, "latest", @@ -440,7 +424,7 @@ func (o *optimismL1Oracle) getEcotoneFjordGasPrice(ctx context.Context) (*big.In Args: []any{ map[string]interface{}{ "from": common.Address{}, - "to": oracleAddress.String(), + "to": o.daOracleAddress.String(), "data": hexutil.Bytes(o.decimalsCalldata), }, "latest", diff --git a/core/config/docs/docs_test.go b/core/config/docs/docs_test.go index bb572773c4a..0347f786af4 100644 --- a/core/config/docs/docs_test.go +++ b/core/config/docs/docs_test.go @@ -97,8 +97,10 @@ func TestDoc(t *testing.T) { docDefaults.Transactions.AutoPurge.Threshold = nil docDefaults.Transactions.AutoPurge.MinAttempts = nil - // GasEstimator.DAOracle.OracleAddress is only set if DA oracle config is used - docDefaults.GasEstimator.DAOracle.OracleAddress = nil + // Fallback oracle address must be an EIP55-compatible address + zeroAddress, err := types.NewEIP55Address("0x0000000000000000000000000000000000000000") + require.NoError(t, err) + docDefaults.GasEstimator.DAOracle.OracleAddress = &zeroAddress assertTOML(t, fallbackDefaults, docDefaults) }) diff --git a/docs/CONFIG.md b/docs/CONFIG.md index ae22482951b..6af76805202 100644 --- a/docs/CONFIG.md +++ b/docs/CONFIG.md @@ -2025,6 +2025,11 @@ TransactionPercentile = 50 [GasEstimator.FeeHistory] CacheTimeout = '10s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 100 MaxBufferSize = 3 @@ -2129,6 +2134,11 @@ TransactionPercentile = 50 [GasEstimator.FeeHistory] CacheTimeout = '10s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 100 MaxBufferSize = 3 @@ -2233,6 +2243,11 @@ TransactionPercentile = 50 [GasEstimator.FeeHistory] CacheTimeout = '10s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 100 MaxBufferSize = 3 @@ -2337,6 +2352,11 @@ TransactionPercentile = 50 [GasEstimator.FeeHistory] CacheTimeout = '10s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 100 MaxBufferSize = 3 @@ -2445,6 +2465,7 @@ CacheTimeout = '10s' [GasEstimator.DAOracle] OracleType = 'opstack' OracleAddress = '0x420000000000000000000000000000000000000F' +CustomGasPriceCalldata = '' [HeadTracker] HistoryDepth = 300 @@ -2550,6 +2571,11 @@ TransactionPercentile = 60 [GasEstimator.FeeHistory] CacheTimeout = '10s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 100 MaxBufferSize = 3 @@ -2654,6 +2680,11 @@ TransactionPercentile = 60 [GasEstimator.FeeHistory] CacheTimeout = '10s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 100 MaxBufferSize = 3 @@ -2759,6 +2790,11 @@ TransactionPercentile = 50 [GasEstimator.FeeHistory] CacheTimeout = '10s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 100 MaxBufferSize = 3 @@ -2863,6 +2899,11 @@ TransactionPercentile = 60 [GasEstimator.FeeHistory] CacheTimeout = '10s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 100 MaxBufferSize = 3 @@ -2966,6 +3007,11 @@ TransactionPercentile = 60 [GasEstimator.FeeHistory] CacheTimeout = '10s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 100 MaxBufferSize = 3 @@ -3069,6 +3115,11 @@ TransactionPercentile = 60 [GasEstimator.FeeHistory] CacheTimeout = '10s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 100 MaxBufferSize = 3 @@ -3173,6 +3224,11 @@ TransactionPercentile = 60 [GasEstimator.FeeHistory] CacheTimeout = '10s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 100 MaxBufferSize = 3 @@ -3278,6 +3334,11 @@ TransactionPercentile = 60 [GasEstimator.FeeHistory] CacheTimeout = '10s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 100 MaxBufferSize = 3 @@ -3382,6 +3443,11 @@ TransactionPercentile = 60 [GasEstimator.FeeHistory] CacheTimeout = '10s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 100 MaxBufferSize = 3 @@ -3486,6 +3552,11 @@ TransactionPercentile = 60 [GasEstimator.FeeHistory] CacheTimeout = '10s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 2000 MaxBufferSize = 3 @@ -3590,6 +3661,11 @@ TransactionPercentile = 60 [GasEstimator.FeeHistory] CacheTimeout = '10s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 2000 MaxBufferSize = 3 @@ -3694,6 +3770,11 @@ TransactionPercentile = 60 [GasEstimator.FeeHistory] CacheTimeout = '10s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 2000 MaxBufferSize = 3 @@ -3798,6 +3879,11 @@ TransactionPercentile = 60 [GasEstimator.FeeHistory] CacheTimeout = '10s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 100 MaxBufferSize = 3 @@ -3905,6 +3991,7 @@ CacheTimeout = '10s' [GasEstimator.DAOracle] OracleType = 'opstack' OracleAddress = '0x4200000000000000000000000000000000000005' +CustomGasPriceCalldata = '' [HeadTracker] HistoryDepth = 400 @@ -4012,6 +4099,8 @@ CacheTimeout = '10s' [GasEstimator.DAOracle] OracleType = 'zksync' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' [HeadTracker] HistoryDepth = 50 @@ -4117,6 +4206,11 @@ TransactionPercentile = 60 [GasEstimator.FeeHistory] CacheTimeout = '10s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 100 MaxBufferSize = 3 @@ -4221,6 +4315,11 @@ TransactionPercentile = 60 [GasEstimator.FeeHistory] CacheTimeout = '10s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 100 MaxBufferSize = 3 @@ -4327,6 +4426,8 @@ CacheTimeout = '10s' [GasEstimator.DAOracle] OracleType = 'zksync' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' [HeadTracker] HistoryDepth = 50 @@ -4434,6 +4535,8 @@ CacheTimeout = '10s' [GasEstimator.DAOracle] OracleType = 'zksync' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' [HeadTracker] HistoryDepth = 50 @@ -4543,6 +4646,7 @@ CacheTimeout = '10s' [GasEstimator.DAOracle] OracleType = 'opstack' OracleAddress = '0x420000000000000000000000000000000000000F' +CustomGasPriceCalldata = '' [HeadTracker] HistoryDepth = 300 @@ -4648,6 +4752,11 @@ TransactionPercentile = 60 [GasEstimator.FeeHistory] CacheTimeout = '10s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 100 MaxBufferSize = 3 @@ -4751,6 +4860,11 @@ TransactionPercentile = 60 [GasEstimator.FeeHistory] CacheTimeout = '10s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 100 MaxBufferSize = 3 @@ -4855,6 +4969,11 @@ TransactionPercentile = 60 [GasEstimator.FeeHistory] CacheTimeout = '10s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 100 MaxBufferSize = 3 @@ -4959,6 +5078,11 @@ TransactionPercentile = 60 [GasEstimator.FeeHistory] CacheTimeout = '4s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 2000 MaxBufferSize = 3 @@ -5063,6 +5187,11 @@ TransactionPercentile = 60 [GasEstimator.FeeHistory] CacheTimeout = '10s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 100 MaxBufferSize = 3 @@ -5167,6 +5296,11 @@ TransactionPercentile = 60 [GasEstimator.FeeHistory] CacheTimeout = '10s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 100 MaxBufferSize = 3 @@ -5270,6 +5404,11 @@ TransactionPercentile = 60 [GasEstimator.FeeHistory] CacheTimeout = '10s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 10 MaxBufferSize = 100 @@ -5378,6 +5517,7 @@ CacheTimeout = '10s' [GasEstimator.DAOracle] OracleType = 'opstack' OracleAddress = '0x420000000000000000000000000000000000000F' +CustomGasPriceCalldata = '' [HeadTracker] HistoryDepth = 300 @@ -5486,6 +5626,7 @@ CacheTimeout = '10s' [GasEstimator.DAOracle] OracleType = 'opstack' OracleAddress = '0x4200000000000000000000000000000000000005' +CustomGasPriceCalldata = '' [HeadTracker] HistoryDepth = 400 @@ -5591,6 +5732,11 @@ TransactionPercentile = 60 [GasEstimator.FeeHistory] CacheTimeout = '4s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 2000 MaxBufferSize = 3 @@ -5695,6 +5841,11 @@ TransactionPercentile = 60 [GasEstimator.FeeHistory] CacheTimeout = '10s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 100 MaxBufferSize = 3 @@ -5798,6 +5949,11 @@ TransactionPercentile = 60 [GasEstimator.FeeHistory] CacheTimeout = '10s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 100 MaxBufferSize = 3 @@ -5905,6 +6061,7 @@ CacheTimeout = '10s' [GasEstimator.DAOracle] OracleType = 'opstack' OracleAddress = '0x420000000000000000000000000000000000000F' +CustomGasPriceCalldata = '' [HeadTracker] HistoryDepth = 300 @@ -6010,6 +6167,11 @@ TransactionPercentile = 60 [GasEstimator.FeeHistory] CacheTimeout = '10s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 100 MaxBufferSize = 3 @@ -6117,6 +6279,8 @@ CacheTimeout = '10s' [GasEstimator.DAOracle] OracleType = 'arbitrum' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' [HeadTracker] HistoryDepth = 100 @@ -6225,6 +6389,8 @@ CacheTimeout = '10s' [GasEstimator.DAOracle] OracleType = 'arbitrum' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' [HeadTracker] HistoryDepth = 100 @@ -6333,6 +6499,8 @@ CacheTimeout = '10s' [GasEstimator.DAOracle] OracleType = 'arbitrum' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' [HeadTracker] HistoryDepth = 100 @@ -6438,6 +6606,11 @@ TransactionPercentile = 60 [GasEstimator.FeeHistory] CacheTimeout = '10s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 50 MaxBufferSize = 3 @@ -6542,6 +6715,11 @@ TransactionPercentile = 60 [GasEstimator.FeeHistory] CacheTimeout = '10s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 100 MaxBufferSize = 3 @@ -6646,6 +6824,11 @@ TransactionPercentile = 60 [GasEstimator.FeeHistory] CacheTimeout = '10s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 100 MaxBufferSize = 3 @@ -6750,6 +6933,11 @@ TransactionPercentile = 60 [GasEstimator.FeeHistory] CacheTimeout = '10s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 50 MaxBufferSize = 3 @@ -6860,6 +7048,7 @@ CacheTimeout = '10s' [GasEstimator.DAOracle] OracleType = 'opstack' OracleAddress = '0x420000000000000000000000000000000000000F' +CustomGasPriceCalldata = '' [HeadTracker] HistoryDepth = 2000 @@ -6971,6 +7160,7 @@ CacheTimeout = '10s' [GasEstimator.DAOracle] OracleType = 'opstack' OracleAddress = '0x420000000000000000000000000000000000000F' +CustomGasPriceCalldata = '' [HeadTracker] HistoryDepth = 2000 @@ -7075,6 +7265,11 @@ TransactionPercentile = 60 [GasEstimator.FeeHistory] CacheTimeout = '10s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 100 MaxBufferSize = 3 @@ -7178,6 +7373,11 @@ TransactionPercentile = 60 [GasEstimator.FeeHistory] CacheTimeout = '10s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 1000 MaxBufferSize = 3 @@ -7281,6 +7481,11 @@ TransactionPercentile = 60 [GasEstimator.FeeHistory] CacheTimeout = '10s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 350 MaxBufferSize = 3 @@ -7385,6 +7590,11 @@ TransactionPercentile = 60 [GasEstimator.FeeHistory] CacheTimeout = '10s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 100 MaxBufferSize = 3 @@ -7489,6 +7699,11 @@ TransactionPercentile = 60 [GasEstimator.FeeHistory] CacheTimeout = '10s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 2000 MaxBufferSize = 3 @@ -7592,6 +7807,11 @@ TransactionPercentile = 60 [GasEstimator.FeeHistory] CacheTimeout = '10s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 2000 MaxBufferSize = 3 @@ -7699,6 +7919,7 @@ CacheTimeout = '10s' [GasEstimator.DAOracle] OracleType = 'opstack' OracleAddress = '0x420000000000000000000000000000000000000F' +CustomGasPriceCalldata = '' [HeadTracker] HistoryDepth = 300 @@ -7807,6 +8028,7 @@ CacheTimeout = '10s' [GasEstimator.DAOracle] OracleType = 'opstack' OracleAddress = '0x420000000000000000000000000000000000000F' +CustomGasPriceCalldata = '' [HeadTracker] HistoryDepth = 300 @@ -7915,6 +8137,8 @@ CacheTimeout = '10s' [GasEstimator.DAOracle] OracleType = 'arbitrum' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' [HeadTracker] HistoryDepth = 100 @@ -8023,6 +8247,8 @@ CacheTimeout = '10s' [GasEstimator.DAOracle] OracleType = 'arbitrum' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' [HeadTracker] HistoryDepth = 100 @@ -8130,6 +8356,8 @@ CacheTimeout = '10s' [GasEstimator.DAOracle] OracleType = 'arbitrum' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' [HeadTracker] HistoryDepth = 100 @@ -8238,6 +8466,7 @@ CacheTimeout = '10s' [GasEstimator.DAOracle] OracleType = 'opstack' OracleAddress = '0x5300000000000000000000000000000000000002' +CustomGasPriceCalldata = '' [HeadTracker] HistoryDepth = 50 @@ -8346,6 +8575,7 @@ CacheTimeout = '10s' [GasEstimator.DAOracle] OracleType = 'opstack' OracleAddress = '0x5300000000000000000000000000000000000002' +CustomGasPriceCalldata = '' [HeadTracker] HistoryDepth = 50 @@ -8451,6 +8681,11 @@ TransactionPercentile = 50 [GasEstimator.FeeHistory] CacheTimeout = '10s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 100 MaxBufferSize = 3 @@ -8558,6 +8793,7 @@ CacheTimeout = '10s' [GasEstimator.DAOracle] OracleType = 'opstack' OracleAddress = '0x420000000000000000000000000000000000000F' +CustomGasPriceCalldata = '' [HeadTracker] HistoryDepth = 300 @@ -8663,6 +8899,11 @@ TransactionPercentile = 60 [GasEstimator.FeeHistory] CacheTimeout = '10s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 100 MaxBufferSize = 3 @@ -8767,6 +9008,11 @@ TransactionPercentile = 60 [GasEstimator.FeeHistory] CacheTimeout = '10s' +[GasEstimator.DAOracle] +OracleType = '' +OracleAddress = '0x0000000000000000000000000000000000000000' +CustomGasPriceCalldata = '' + [HeadTracker] HistoryDepth = 100 MaxBufferSize = 3