subnetevm

package
v0.7.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 31, 2025 License: GPL-3.0, LGPL-3.0 Imports: 6 Imported by: 0

Documentation

Overview

subnetevm defines the dynamic fee window used after subnetevm upgrade.

Index

Constants

View Source
const (
	// WindowLen is the number of seconds of gas consumption to track.
	WindowLen = 10

	// WindowSize is the number of bytes that are used to encode the window.
	WindowSize = wrappers.LongLen * WindowLen
)

Variables

View Source
var ErrWindowInsufficientLength = errors.New("insufficient length for window")

Functions

This section is empty.

Types

type Window

type Window [WindowLen]uint64

Window is a window of the last WindowLen seconds of gas usage.

Index 0 is the oldest entry, and WindowLen-1 is the current entry.

func ParseWindow

func ParseWindow(bytes []byte) (Window, error)

func (*Window) Add

func (w *Window) Add(amounts ...uint64)

Add adds the amounts to the most recent entry in the window.

If the most recent entry overflows, it is set to math.MaxUint64.

func (*Window) Bytes

func (w *Window) Bytes() []byte

func (*Window) Shift

func (w *Window) Shift(n uint64)

Shift removes the oldest n entries from the window and adds n new empty entries.

func (*Window) Sum

func (w *Window) Sum() uint64

Sum returns the sum of all the entries in the window.

If the sum overflows, math.MaxUint64 is returned.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL