From c783c16f414499c0901027439512f1373535415c Mon Sep 17 00:00:00 2001 From: Henry <11198460+godzillaba@users.noreply.github.com> Date: Tue, 31 Dec 2024 13:27:09 -0500 Subject: [PATCH] buffer config action --- .../sequencer/SetBufferConfigAction.sol | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/gov-action-contracts/sequencer/SetBufferConfigAction.sol diff --git a/src/gov-action-contracts/sequencer/SetBufferConfigAction.sol b/src/gov-action-contracts/sequencer/SetBufferConfigAction.sol new file mode 100644 index 00000000..df37e326 --- /dev/null +++ b/src/gov-action-contracts/sequencer/SetBufferConfigAction.sol @@ -0,0 +1,28 @@ +// SPDX-License-Identifier: Apache-2.0 +pragma solidity 0.8.16; + +import "../address-registries/interfaces.sol"; + +interface ISequencerDelayBuffer { + struct BufferConfig { + uint64 threshold; + uint64 max; + uint64 replenishRateInBasis; + } + + function setBufferConfig(BufferConfig memory bufferConfig_) external; +} + +contract SetBufferConfigAction { + ISequencerInboxGetter public immutable addressRegistry; + + constructor(ISequencerInboxGetter _addressRegistry) { + addressRegistry = _addressRegistry; + } + + function perform(ISequencerDelayBuffer.BufferConfig memory bufferConfig_) external { + ISequencerDelayBuffer(address(addressRegistry.sequencerInbox())).setBufferConfig( + bufferConfig_ + ); + } +}