diff --git a/MODULE.bazel b/MODULE.bazel index e23441b8999e..8eccda93d403 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -137,7 +137,6 @@ use_repo( "org_golang_x_net", "org_golang_x_sync", "org_golang_x_term", - "org_golang_x_text", "org_golang_x_time", "org_golang_x_tools", "org_gonum_v1_gonum", diff --git a/go.mod b/go.mod index 852a6d58a37f..f80bf1de6929 100644 --- a/go.mod +++ b/go.mod @@ -77,7 +77,6 @@ require ( golang.org/x/net v0.52.0 golang.org/x/sync v0.20.0 golang.org/x/term v0.41.0 - golang.org/x/text v0.35.0 golang.org/x/time v0.12.0 golang.org/x/tools v0.42.0 gonum.org/v1/gonum v0.17.0 @@ -195,6 +194,7 @@ require ( golang.org/x/mod v0.33.0 // indirect golang.org/x/oauth2 v0.35.0 // indirect golang.org/x/sys v0.42.0 // indirect + golang.org/x/text v0.35.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20260401024825-9d38bb4040a9 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/graft/coreth/BUILD.bazel b/graft/coreth/BUILD.bazel index 85f039a81f54..4f1f6adac941 100644 --- a/graft/coreth/BUILD.bazel +++ b/graft/coreth/BUILD.bazel @@ -19,6 +19,7 @@ package_group( "//tests/reexecute/c", "//tests/reexecute/chaos", "//vms/evm/emulate", + "//vms/saevm/cchain/...", "//wallet/chain/c", "//wallet/subnet/primary", ], diff --git a/vms/saevm/gastime/BUILD.bazel b/vms/saevm/gastime/BUILD.bazel index 6c4cf9888425..39607cd9e4dd 100644 --- a/vms/saevm/gastime/BUILD.bazel +++ b/vms/saevm/gastime/BUILD.bazel @@ -34,15 +34,11 @@ go_test( embed = [":gastime"], deps = [ "//vms/components/gas", - "//vms/saevm/intmath", "//vms/saevm/proxytime", "@com_github_arr4n_shed//testerr", - "@com_github_ava_labs_libevm//params", "@com_github_google_go_cmp//cmp", "@com_github_google_go_cmp//cmp/cmpopts", "@com_github_stretchr_testify//assert", "@com_github_stretchr_testify//require", - "@org_golang_x_text//language", - "@org_golang_x_text//message", ], ) diff --git a/vms/saevm/gastime/acp176.go b/vms/saevm/gastime/acp176.go index 4fdda16ff26b..90784ca384fb 100644 --- a/vms/saevm/gastime/acp176.go +++ b/vms/saevm/gastime/acp176.go @@ -8,6 +8,8 @@ import ( "math" "time" + "github.com/holiman/uint256" + "github.com/ava-labs/avalanchego/vms/components/gas" "github.com/ava-labs/avalanchego/vms/saevm/intmath" ) @@ -39,56 +41,102 @@ func (tm *Time) FastForwardToTime(t time.Time) { // AfterBlock is intended to be called after processing a block, with the // target and gas configuration provided. -func (tm *Time) AfterBlock(used gas.Gas, target gas.Gas, cfg GasPriceConfig) error { - tm.Tick(used) - // Although [Time.SetTarget] scales the excess by the same factor as the - // change in target, it rounds when necessary, which might alter the price - // by a negligible amount. We therefore take a price snapshot beforehand - // otherwise we'd call [Time.findExcessForPrice] with a different value, - // which makes it extremely hard to test. - p := tm.Price() - tm.SetTarget(target) - - if err := cfg.Validate(); err != nil { - return fmt.Errorf("%T.Validate() after block: %w", cfg, err) +func (tm *Time) AfterBlock(used gas.Gas, target gas.Gas, c GasPriceConfig) error { + if err := c.Validate(); err != nil { + return fmt.Errorf("%T.Validate() after block: %w", c, err) } - if cfg.equals(tm.config) { - return nil + target = clampTarget(target) + + tm.Tick(used) + + if c.StaticPricing { + tm.excess = 0 + } else { + tm.excess = scaleExcess( + tm.excess, + target, c.TargetToExcessScaling, + tm.target, tm.config.TargetToExcessScaling, + ) } - tm.config = cfg - tm.excess = tm.findExcessForPrice(p) + tm.target = target + tm.Time.SetRate(rateOf(tm.target)) + tm.config = c + tm.enforceMinExcess() return nil } -// findExcessForPrice uses binary search over uint64 to find the smallest excess -// value that produces targetPrice with the current [GasPriceConfig]. This maintains -// price continuity under a change in [GasPriceConfig], with the following scenarios: -// -// - K changes (via TargetToExcessScaling): Scale excess to maintain current price -// - StaticPricing is true: Set excess to 0, enabling fixed price mode -// - M decreases: Scale excess to maintain current price -// - M increases AND current price >= new M: Scale excess to maintain current price -// - M increases AND current price < new M: Price bumps to new M (excess becomes 0) -func (tm *Time) findExcessForPrice(targetPrice gas.Price) gas.Gas { - // We return 0 in case targetPrice < minPrice because we should at least maintain the minimum price - // by setting the excess to 0. ( P = M * e^(0 / K) = M ) - // Note: Even though we return 0 for excess it won't avoid accumulating excess in the long run. - if targetPrice <= tm.config.MinPrice || tm.config.StaticPricing { - return 0 +// scaleExcess returns oldX * newT * newScale / (oldT * oldScale) rounded up and +// capped to [math.MaxUint64]. +func scaleExcess(oldX, newT, newScale, oldT, oldScale gas.Gas) gas.Gas { + newK := mulAsUint256(newT, newScale) + oldK := mulAsUint256(oldT, oldScale) + + // Overflow can't occur, the maximum possible intermediate value is: + // MaxUint64^3 + MaxUint64^2. + var x uint256.Int + x.SetUint64(uint64(oldX)) + x.Mul(&x, &newK) + x.Add(&x, &oldK) // round up by adding oldK - 1 + x.SubUint64(&x, 1) + x.Div(&x, &oldK) + if !x.IsUint64() { + return math.MaxUint64 } + return gas.Gas(x.Uint64()) +} + +func mulAsUint256[T ~uint64](a, b T) uint256.Int { + var x, y uint256.Int + x.SetUint64(uint64(a)) + y.SetUint64(uint64(b)) + x.Mul(&x, &y) + return x +} +// enforceMinExcess bounds excess to be no less than excessForPrice(minPrice, k). +func (tm *Time) enforceMinExcess() { k := tm.excessScalingFactor() + // Avoid the binary search in [excessForPrice] when the current excess + // already yields a price that satisfies the minimum. + if calculatePrice(tm.excess, k) >= tm.config.MinPrice { + return + } - // The price function is monotonic non-decreasing so binary search is appropriate. - lo, hi := gas.Gas(0), gas.Gas(math.MaxUint64) + minExcess := excessForPrice(tm.config.MinPrice, k) + tm.excess = max(tm.excess, minExcess) +} + +// excessForPrice returns an integer approximation of ln(p) * k. +// +// If [calculatePrice] can produce p, excessForPrice returns the minimum excess to +// produce p. Otherwise, it returns the maximum excess to produce a number < p, +// which may happen due to overflow or integer approximation. +func excessForPrice(p gas.Price, k gas.Gas) gas.Gas { + if p <= 1 { + return 0 + } + // Binary search for the minimum x where calculatePrice(x, k) >= p. + // + // calculatePrice(0, k) == 1 and p > 1, so lo > 0. + lo, hi := gas.Gas(1), gas.Gas(math.MaxUint64) for lo < hi { mid := lo + (hi-lo)/2 - if gas.CalculatePrice(tm.config.MinPrice, mid, k) >= targetPrice { + if calculatePrice(mid, k) >= p { hi = mid } else { lo = mid + 1 } } + // If [calculatePrice] can't generate p due to integer approximation, honor + // the lower price expectation. + if calculatePrice(lo, k) > p { + return lo - 1 + } return lo } + +// calculatePrice returns an integer approximation of e^(x/k). +func calculatePrice(x, k gas.Gas) gas.Price { + return gas.CalculatePrice(1, x, k) +} diff --git a/vms/saevm/gastime/acp176_test.go b/vms/saevm/gastime/acp176_test.go index 3eb8d1d9b0b2..6f491b992bd9 100644 --- a/vms/saevm/gastime/acp176_test.go +++ b/vms/saevm/gastime/acp176_test.go @@ -4,16 +4,14 @@ package gastime import ( + "fmt" "math" - "math/big" "testing" "time" - "github.com/ava-labs/libevm/params" + "github.com/google/go-cmp/cmp/cmpopts" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "golang.org/x/text/language" - "golang.org/x/text/message" "github.com/ava-labs/avalanchego/vms/components/gas" ) @@ -168,273 +166,734 @@ func FuzzWorstCasePrice(f *testing.F) { }) } -func FuzzPriceInvarianceAfterBlock(f *testing.F) { - for _, s := range []struct { - T, x, M, KonT uint64 - newT, newM, newKonT uint64 - initStatic, newStatic bool +func TestAfterBlock(t *testing.T) { + tests := []struct { + name string + init state + gasUsed gas.Gas + new state + wantErr error }{ - // Basic scaling change: K doubles, price should be maintained + // Normal changes: + { + name: "target_doubles", + init: state{ + Target: 1_000_000, + Excess: 2_000_000, + Config: GasPriceConfig{ + TargetToExcessScaling: 1, + MinPrice: 1, + }, + Price: 7, + }, + new: state{ + Target: 2_000_000, + Excess: 4_000_000, + Config: GasPriceConfig{ + TargetToExcessScaling: 1, + MinPrice: 1, + }, + Price: 7, + }, + }, + { + name: "scaling_doubles", + init: state{ + Target: 1_000_000, + Excess: 2_000_000, + Config: GasPriceConfig{ + TargetToExcessScaling: 1, + MinPrice: 1, + }, + Price: 7, + }, + new: state{ + Target: 1_000_000, + Excess: 4_000_000, + Config: GasPriceConfig{ + TargetToExcessScaling: 2, + MinPrice: 1, + }, + Price: 7, + }, + }, + { + name: "target_and_scaling_doubles", + init: state{ + Target: 1_000_000, + Excess: 2_000_000, + Config: GasPriceConfig{ + TargetToExcessScaling: 1, + MinPrice: 1, + }, + Price: 7, + }, + new: state{ + Target: 2_000_000, + Excess: 8_000_000, + Config: GasPriceConfig{ + TargetToExcessScaling: 2, + MinPrice: 1, + }, + Price: 7, + }, + }, + { + name: "target_and_scaling_doubles_zero", + init: state{ + Target: 1_000_000, + Excess: 0, + Config: GasPriceConfig{ + TargetToExcessScaling: 1, + MinPrice: 1, + }, + Price: 1, + }, + new: state{ + Target: 2_000_000, + Excess: 0, + Config: GasPriceConfig{ + TargetToExcessScaling: 2, + MinPrice: 1, + }, + Price: 1, + }, + }, + { + name: "gas_used_no_config_change", + init: state{ + Target: 1_000_000, + Excess: 0, + Config: GasPriceConfig{ + TargetToExcessScaling: 87, + MinPrice: 1, + }, + Price: 1, + }, + gasUsed: 1_000_000, + new: state{ + Target: 1_000_000, + Excess: 500_000, + Config: GasPriceConfig{ + TargetToExcessScaling: 87, + MinPrice: 1, + }, + Price: 1, + }, + }, + { + name: "gas_used_before_scaling", + init: state{ + Target: 1_000_000, + Excess: 2_000_000, + Config: GasPriceConfig{ + TargetToExcessScaling: 1, + MinPrice: 1, + }, + Price: 7, + }, + gasUsed: 3_000_000, + new: state{ + Target: 2 * 1_000_000, + Excess: 2 * (2_000_000 + 3_000_000/2), + Config: GasPriceConfig{ + TargetToExcessScaling: 1, + MinPrice: 1, + }, + Price: gas.Price(math.Floor(math.Exp(7. / 2.))), + }, + }, + { + name: "min_price_increase_above_current", + init: state{ + Target: 1_000_000, + Excess: 2_000_000, + Config: GasPriceConfig{ + TargetToExcessScaling: 87, + MinPrice: 1, + }, + Price: 1, + }, + new: state{ + Target: 1_000_000, + Excess: 400_649_807, + Config: GasPriceConfig{ + TargetToExcessScaling: 87, + MinPrice: 100, + }, + Price: 100, + }, + }, + { + name: "min_price_unrepresentable", + init: state{ + Target: 1_000_000, + Excess: 0, + Config: GasPriceConfig{ + TargetToExcessScaling: 87, + MinPrice: 1, + }, + Price: 1, + }, + new: state{ + Target: 1_000_000, + Excess: 1_802_924_127, + Config: GasPriceConfig{ + TargetToExcessScaling: 87, + MinPrice: 1_000_000_000, + }, + Price: 1_000_000_000, + }, + }, { - T: 1e6, M: 1, KonT: 1, // i.e. K == 1e6 - x: 2e6, // Initial price is Mâ‹…exp(x/K) = exp(2/1) ~= 7 - newT: 1e6, newM: 1, // both unchanged - newKonT: 2, // i.e. K == 2e6; without proper scaling, price becomes exp(2/2) ~= 2 + name: "min_price_previously_unrepresentable", + init: state{ + Target: 1_000_000, + Excess: 1_802_924_127, + Config: GasPriceConfig{ + TargetToExcessScaling: 87, + MinPrice: 1_000_000_000, + }, + Price: 1_000_000_000, + }, + new: state{ + Target: 1_000_000, + Excess: 1_802_924_127, + Config: GasPriceConfig{ + TargetToExcessScaling: 87, + MinPrice: 1, + }, + Price: 999_999_990, + }, }, - // K at MaxUint64 boundary { - T: 1e6, M: 1, KonT: math.MaxUint64, - x: 2e6, - newT: 1e6, newM: 1, - newKonT: math.MaxUint64, + name: "min_price_increase_below_current", + init: state{ + Target: 1_000_000, + Excess: 400_649_807, + Config: GasPriceConfig{ + TargetToExcessScaling: 87, + MinPrice: 1, + }, + Price: 100, + }, + new: state{ + Target: 1_000_000, + Excess: 400_649_807, + Config: GasPriceConfig{ + TargetToExcessScaling: 87, + MinPrice: 50, + }, + Price: 100, + }, }, - // MinPrice increase above current price: price should bump to new M { - T: 1e6, M: 1, KonT: 87, - x: 2e6, // price = 1 * e^(2/87) ~= 1.023 - newT: 1e6, - newM: 100, // new M > current price, should bump - newKonT: 87, + name: "min_price_decrease", + init: state{ + Target: 1_000_000, + Excess: 400_649_807, + Config: GasPriceConfig{ + TargetToExcessScaling: 87, + MinPrice: 100, + }, + Price: 100, + }, + new: state{ + Target: 1_000_000, + Excess: 400_649_807, + Config: GasPriceConfig{ + TargetToExcessScaling: 87, + MinPrice: 1, + }, + Price: 100, + }, }, - // MinPrice decrease: price should be maintained + + // Static pricing: { - T: 1e6, M: 100, KonT: 87, - x: 1e6, // price > 100 - newT: 1e6, - newM: 50, // M decreases - newKonT: 87, + name: "static_pricing_with_gas_used", + init: state{ + Target: 1_000_000, + Excess: 0, + Config: GasPriceConfig{ + TargetToExcessScaling: 87, + MinPrice: 1, + StaticPricing: true, + }, + Price: 1, + }, + gasUsed: 1_000_000, + new: state{ + Target: 1_000_000, + Excess: 0, + Config: GasPriceConfig{ + TargetToExcessScaling: 87, + MinPrice: 1, + StaticPricing: true, + }, + Price: 1, + }, }, - // MinPrice increase below current price: price should be maintained { - T: 1e6, M: 1, KonT: 87, - x: 100e6, // high excess = high price >> 10 - newT: 1e6, - newM: 10, // new M < current price - newKonT: 87, + name: "introducing_static_pricing_overrides_excess", + init: state{ + Target: 1_000_000, + Excess: 1_000_000_000, + Config: GasPriceConfig{ + TargetToExcessScaling: 87, + MinPrice: 1, + }, + Price: 98_150, + }, + new: state{ + Target: 1_000_000, + Excess: 0, + Config: GasPriceConfig{ + TargetToExcessScaling: 87, + MinPrice: 1, + StaticPricing: true, + }, + Price: 1, + }, }, - // Large excess value { - T: 1e6, M: 1, KonT: 87, - x: 1e9, // very high excess - newT: 1e6, - newM: 1, - newKonT: 100, + name: "static_pricing_price_decrease", + init: state{ + Target: 1_000_000, + Excess: 400_649_807, + Config: GasPriceConfig{ + TargetToExcessScaling: 87, + MinPrice: 100, + StaticPricing: true, + }, + Price: 100, + }, + new: state{ + Target: 1_000_000, + Excess: 340_346_002, + Config: GasPriceConfig{ + TargetToExcessScaling: 87, + MinPrice: 50, + StaticPricing: true, + }, + Price: 50, + }, }, - // High MinPrice with scaling change { - T: 1e6, M: 1e9, KonT: 87, - x: 5e6, - newT: 1e6, - newM: 1e9, - newKonT: 50, + name: "static_pricing_price_increase", + init: state{ + Target: 1_000_000, + Excess: 400_649_807, + Config: GasPriceConfig{ + TargetToExcessScaling: 87, + MinPrice: 100, + StaticPricing: true, + }, + Price: 100, + }, + new: state{ + Target: 1_000_000, + Excess: 460_953_612, + Config: GasPriceConfig{ + TargetToExcessScaling: 87, + MinPrice: 200, + StaticPricing: true, + }, + Price: 200, + }, }, - // Zero excess with config changes { - T: 1e6, M: 1, KonT: 87, - x: 0, - newT: 1e6, - newM: 1, - newKonT: 50, + name: "static_pricing_removal_decrease_min_price", + init: state{ + Target: 1_000_000, + Excess: 400_649_807, + Config: GasPriceConfig{ + TargetToExcessScaling: 87, + MinPrice: 100, + StaticPricing: true, + }, + Price: 100, + }, + new: state{ + Target: 1_000_000, + Excess: 400_649_807, + Config: GasPriceConfig{ + TargetToExcessScaling: 87, + MinPrice: 50, + }, + Price: 100, + }, }, - // Around MaxUint64 scaling with MinPrice decrease { - T: 1e6, M: 26, KonT: math.MaxInt64 - 100, - x: 1e6, - newT: 1e6, - newM: 1, - newKonT: math.MaxInt64 - 10, + name: "static_pricing_removal_increase_min_price", + init: state{ + Target: 1_000_000, + Excess: 400_649_807, + Config: GasPriceConfig{ + TargetToExcessScaling: 87, + MinPrice: 100, + StaticPricing: true, + }, + Price: 100, + }, + new: state{ + Target: 1_000_000, + Excess: 460_953_612, + Config: GasPriceConfig{ + TargetToExcessScaling: 87, + MinPrice: 200, + }, + Price: 200, + }, }, - // MaxUint64 scaling with high excess min price at 11 gwei + + // Extreme changes: { - T: 1e6, M: 1e12, KonT: 87, - x: 1e9, - newT: 1e6, - newM: 1e12, - newKonT: math.MaxUint64, + name: "scaling_to_max", + init: state{ + Target: 1_000_000, + Excess: 2_000_000, + Config: GasPriceConfig{ + TargetToExcessScaling: 1, + MinPrice: 1, + }, + Price: 7, + }, + new: state{ + Target: 1_000_000, + Excess: math.MaxUint64, + Config: GasPriceConfig{ + TargetToExcessScaling: math.MaxUint64, // Maximizing scaling causes excess to cap + MinPrice: 1, + }, + Price: 2, + }, + }, + { + name: "large_excess_with_scaling_change", + init: state{ + Target: 1_000_000, + Excess: 10_000_000_000_000_000_000, + Config: GasPriceConfig{ + TargetToExcessScaling: 87, + MinPrice: 1, + }, + Price: math.MaxUint64, + }, + new: state{ + Target: 1_000_000, + Excess: 11_494_252_873_563_218_391, + Config: GasPriceConfig{ + TargetToExcessScaling: 100, + MinPrice: 1, + }, + Price: math.MaxUint64, + }, + }, + { + name: "high_price_scaling_rounding_causes_price_increase", + init: state{ + Target: 1_000_000, + Excess: 1_802_924_127, + Config: GasPriceConfig{ + TargetToExcessScaling: 87, + MinPrice: 1, + }, + Price: 999_999_990, + }, + new: state{ + Target: 1_000_000, + Excess: 1_036_163_292, + Config: GasPriceConfig{ + TargetToExcessScaling: 50, + MinPrice: 1, + }, + Price: 1_000_000_002, + }, }, - // Dynamic to static pricing: price should snap to newMinPrice { - T: 1e6, M: 1, KonT: 87, - x: 1e9, // high excess = high price - newT: 1e6, - newM: 1, - newKonT: 87, - newStatic: true, + name: "scaling_old_k_overflow", + init: state{ + Target: 1_000_000, + Excess: math.MaxUint64, + Config: GasPriceConfig{ + TargetToExcessScaling: math.MaxUint64, + MinPrice: 1, + }, + Price: 2, + }, + new: state{ + Target: 1_000_000, + Excess: 1, + Config: GasPriceConfig{ + TargetToExcessScaling: 1, + MinPrice: 1, + }, + Price: 1, + }, }, - // Static to dynamic pricing: price continuity from initMinPrice { - T: 1e6, M: 100, KonT: 87, - x: 5e6, - initStatic: true, - newT: 1e6, - newM: 50, // M decreases, should maintain initMinPrice via excess - newKonT: 87, + name: "scaling_old_k_overflow_rounds_up", + init: state{ + Target: 1_000_000, + Excess: 1, + Config: GasPriceConfig{ + TargetToExcessScaling: math.MaxUint64, + MinPrice: 1, + }, + Price: 1, + }, + new: state{ + Target: 1_000_000, + Excess: 1, + Config: GasPriceConfig{ + TargetToExcessScaling: 1, + MinPrice: 1, + }, + Price: 1, + }, }, - // Static to static with MinPrice change: price should be newMinPrice { - T: 1e6, M: 100, KonT: 87, - x: 5e6, - initStatic: true, - newT: 1e6, - newM: 200, - newKonT: 87, - newStatic: true, + name: "scaling_new_k_overflow", + init: state{ + Target: 1_000_000, + Excess: 1, + Config: GasPriceConfig{ + TargetToExcessScaling: 1, + MinPrice: 1, + }, + Price: 1, + }, + new: state{ + Target: 1_000_000, + Excess: math.MaxUint64, + Config: GasPriceConfig{ + TargetToExcessScaling: math.MaxUint64, + MinPrice: 1, + }, + Price: 2, + }, }, { - KonT: 0, // invalid - T: 1, M: 1, + name: "max_min_price", + init: state{ + Target: 1_000_000, + Excess: 0, + Config: GasPriceConfig{ + TargetToExcessScaling: 1, + MinPrice: 1, + }, + Price: 1, + }, + new: state{ + Target: 1_000_000, + Excess: gas.Gas(math.Ceil(1_000_000 * math.Log(math.MaxUint64))), + Config: GasPriceConfig{ + TargetToExcessScaling: 1, + MinPrice: math.MaxUint64, + }, + Price: math.MaxUint64, + }, }, + + // Invalid inputs: { - M: 0, // invalid - T: 1, KonT: 1, + name: "invalid_target_override", + init: state{ + Target: 0, + Excess: 0, + Config: GasPriceConfig{ + TargetToExcessScaling: 87, + MinPrice: 1, + }, + Price: 1, + }, + new: state{ + Target: 1, + Excess: 0, + Config: GasPriceConfig{ + TargetToExcessScaling: 87, + MinPrice: 1, + }, + Price: 1, + }, }, { - newM: 0, // invalid - T: 1, M: 1, KonT: 1, - newKonT: 1, + name: "invalid_zero_scaling", + init: state{ + Target: 1_000_000, + Excess: 0, + Config: GasPriceConfig{ + TargetToExcessScaling: 87, + MinPrice: 1, + }, + Price: 1, + }, + new: state{ + Target: 1_000_000, + Excess: 0, + Config: GasPriceConfig{ + TargetToExcessScaling: 0, + MinPrice: 1, + }, + Price: 1, + }, + wantErr: errTargetToExcessScalingZero, }, { - newKonT: 0, // invalid - T: 1, M: 1, KonT: 1, - newM: 1, + name: "invalid_zero_min_price", + init: state{ + Target: 1_000_000, + Excess: 0, + Config: GasPriceConfig{ + TargetToExcessScaling: 87, + MinPrice: 1, + }, + Price: 1, + }, + new: state{ + Target: 1_000_000, + Excess: 0, + Config: GasPriceConfig{ + TargetToExcessScaling: 87, + MinPrice: 0, + }, + Price: 1, + }, + wantErr: errMinPriceZero, }, - } { - f.Add(s.T, s.x, s.M, s.KonT, s.initStatic, s.newT, s.newM, s.newKonT, s.newStatic) } + ignore := cmpopts.IgnoreFields(state{}, "UnixTime", "ConsumedThisSecond", "Target", "Config") + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + tm := mustNew(t, time.Unix(0, 0), tt.init.Target, tt.init.Excess, tt.init.Config) + + tt.init.Rate = tm.Target() * TargetToRate + tm.requireState( + t, + fmt.Sprintf("New(%v, %d, %d, %+v)", tm, tt.init.Target, tt.init.Excess, tt.init.Config), + tt.init, + ignore, + ) - f.Fuzz(func( - t *testing.T, - initTarget, initExcess, initMinPrice, initScaling uint64, initStaticPricing bool, - // There is no `newExcess` because it's computed (and tested). - newTarget, newMinPrice, newScaling uint64, newStaticPricing bool, - ) { - if initScaling > 1e6 || newScaling > 1e6 { - // The scaling factor controls the rate of gas-price doubling, where - // 87 is approximately half an hour, and price is inversely - // proportional to the value. - t.Skip("Excessive scaling") - } + err := tm.AfterBlock(tt.gasUsed, tt.new.Target, tt.new.Config) + require.ErrorIsf(t, err, tt.wantErr, "%T.AfterBlock", tm) - // Avoid having to deal with weird edge cases for extremely low targets - // due to insufficient resolution in the rational exponent. - switch minRate := gas.Gas(params.TxGas); { - case SafeRateOfTarget(gas.Gas(initTarget)) < minRate: - t.Skip("Initial target too low") - case SafeRateOfTarget(gas.Gas(newTarget)) < minRate: - t.Skip("New target too low") - } + tt.new.Rate = tm.Target() * TargetToRate + tm.requireState( + t, + fmt.Sprintf("%v.AfterBlock(%d, %d, %+v)", tm, tt.gasUsed, tt.new.Target, tt.new.Config), + tt.new, + ignore, + ) + }) + } +} - initConfig := GasPriceConfig{ - TargetToExcessScaling: gas.Gas(initScaling), - MinPrice: gas.Price(initMinPrice), - StaticPricing: initStaticPricing, - } - tm, err := New( - time.Unix(0, 0), - gas.Gas(initTarget), - gas.Gas(initExcess), - initConfig, - ) +// TestOscillatingMinPrice verifies that oscillating MinPrice between two values +// does not impact gas price growth. When blocks consistently consume +// above-target gas, the price should increase over time regardless of MinPrice +// changes. +func TestOscillatingMinPrice(t *testing.T) { + const ( + target gas.Gas = 1_000_000 + gasPerBlock gas.Gas = 10_000_000 // must be sufficiently large + numBlocks = 1000 + highMinPrice gas.Price = 2 + lowMinPrice gas.Price = 1 + ) - { - var wantErrIs error - switch { - case initScaling == 0: - wantErrIs = errTargetToExcessScalingZero - case initMinPrice == 0: - wantErrIs = errMinPriceZero - } - require.ErrorIsf(t, err, wantErrIs, "New(... %+v)", initConfig) - if wantErrIs != nil { - return - } - } + highPriceConfig := DefaultGasPriceConfig() + highPriceConfig.MinPrice = highMinPrice - initExp := tm.exponent() - initPrice := tm.Price() + lowPriceConfig := highPriceConfig + lowPriceConfig.MinPrice = lowMinPrice - { - cfg := GasPriceConfig{ - MinPrice: gas.Price(newMinPrice), - TargetToExcessScaling: gas.Gas(newScaling), - StaticPricing: newStaticPricing, - } + control := mustNew(t, time.Unix(0, 0), target, 0, highPriceConfig) + modified := mustNew(t, time.Unix(0, 0), target, 0, highPriceConfig) - var wantErrIs error - switch { - case newScaling == 0: - wantErrIs = errTargetToExcessScalingZero - case newMinPrice == 0: - wantErrIs = errMinPriceZero - } - // Consuming gas increases the excess, which changes the price. - // We're only interested in invariance under changes in config. - const gasUsed = 0 - err := tm.AfterBlock(gasUsed, gas.Gas(newTarget), cfg) - require.ErrorIsf(t, err, wantErrIs, "AfterBlock(%d, [%+v])", newTarget, cfg) - if wantErrIs != nil { - return - } + require.Equalf(t, highMinPrice, control.Price(), "%T.Price()", control) + require.Equalf(t, highMinPrice, modified.Price(), "%T.Price()", modified) + + for i := range numBlocks { + require.NoErrorf(t, control.AfterBlock( + gasPerBlock, + target, + highPriceConfig, + ), "%T.AfterBlock(static)", control) + + oscillatingConfig := highPriceConfig + if i%2 == 0 { + oscillatingConfig = lowPriceConfig } + require.NoErrorf(t, modified.AfterBlock( + gasPerBlock, + target, + oscillatingConfig, + ), "%T.AfterBlock(oscillating)", modified) + } + + // Sanity check that price normally increases. + assert.Greater(t, control.Price(), highMinPrice, "control price must increase with sustained above-target usage") + assert.Equal(t, control.Price(), modified.Price(), "oscillating MinPrice must not impact price growth") +} - pr := message.NewPrinter(language.English) - log := func(desc string, from, to uint64) { - if from == to { - t.Log(pr.Sprintf("%s (unchanged): %d", desc, from)) - } else { - t.Log(pr.Sprintf("%s: %d -> %d", desc, from, to)) +func BenchmarkPriceExcess(b *testing.B) { + benchmarks := []struct { + name string + p gas.Price + k gas.Gas + }{ + {"p=1", 1, 87_000_000}, + {"small", 100, 87_000_000}, + {"medium", 1_000_000_000, 87_000_000}, + {"large", math.MaxUint64, 87_000_000}, + {"large_k", 1_000_000_000, math.MaxUint64}, + {"slowest", math.MaxUint64, 1 << 58}, + } + for _, bm := range benchmarks { + b.Run(bm.name, func(b *testing.B) { + for b.Loop() { + excessForPrice(bm.p, bm.k) } + }) + } +} + +func FuzzPriceExcess(f *testing.F) { + seeds := []struct { + p gas.Price + k gas.Gas + }{ + {1, 1}, + {2, 1}, + {2, 1_000_000_000}, + {1_000_000_000, 1}, + {2, math.MaxUint64}, + {math.MaxUint64, 1}, + {math.MaxUint64, math.MaxUint64}, + } + for _, s := range seeds { + f.Add(uint64(s.p), uint64(s.k)) + } + f.Fuzz(func(t *testing.T, pInt, kInt uint64) { + p, k := gas.Price(pInt), gas.Gas(kInt) + if p == 0 { + t.Skip("ln(0) is undefined") + } + if k == 0 { + t.Skip("div by zero is undefined") } - log("Target", initTarget, newTarget) - log("MinPrice", initMinPrice, newMinPrice) - log("TargetToExcessScaling", initScaling, newScaling) - t.Logf("StaticPricing: %t -> %t", initStaticPricing, newStaticPricing) - log("Excess", initExcess, uint64(tm.excess)) - log("Price (value under test)", uint64(initPrice), uint64(tm.Price())) - - switch minP := gas.Price(newMinPrice); { - case minP > initPrice: - require.Equal(t, minP, tm.Price(), "minimum price > initial price -> price == min") - - case newStaticPricing: - require.Equal(t, minP, tm.Price(), "static pricing -> price == min") - - case tm.config.equals(initConfig): - // Target-only changes keep the x/K exponent as close to equal as - // possible given the resolution of the denominator. - newExp := tm.exponent() - - diff := new(big.Rat).Sub(newExp, initExp) - diff.Abs(diff) - - tolerance := new(big.Rat).SetFrac( - big.NewInt(1), - newExp.Denom(), - ) - if diff.Cmp(tolerance) >= 0 { - t.Errorf("Exponent of price equation changed from %v to %v; diff = %v >= %v", initExp, newExp, diff, tolerance) - } - default: - // Due to integer arithmetic in binary search, exact price - // continuity isn't always achievable. [Time.findExcessForPrice] - // finds the lowest excess that results in >= the targeted price. - assert.GreaterOrEqual(t, tm.Price(), initPrice, "binary search on excess results in price >= initial") - if tm.excess > 0 { - tm.excess-- - assert.Less(t, tm.Price(), initPrice, "binary search on excess results in lowest price >= initial") - } + x := excessForPrice(p, k) + gotP := calculatePrice(x, k) + assert.LessOrEqual(t, gotP, p, "gotPrice <= wantPrice") + + if gotP < p && x != math.MaxUint64 { + require.Greater(t, calculatePrice(x+1, k), p, "calculatePrice(x+1) > wantPrice") + } + if gotP == p && x != 0 { + require.Less(t, calculatePrice(x-1, k), p, "calculatePrice(x-1) < wantPrice") } }) } - -// exponent returns x/K, the exponent of the gas price. For fixed M, equal -// exponents result in equal prices. However if scaling results in a new -// exponent with insufficient resolution (too low a denominator) to be identical -// then the price could be different. -func (tm *Time) exponent() *big.Rat { - return new(big.Rat).SetFrac( - new(big.Int).SetUint64(uint64(tm.excess)), - new(big.Int).SetUint64(uint64(tm.excessScalingFactor())), - ) -} diff --git a/vms/saevm/gastime/config.go b/vms/saevm/gastime/config.go index 2d64995c9d61..3f686efcba60 100644 --- a/vms/saevm/gastime/config.go +++ b/vms/saevm/gastime/config.go @@ -63,11 +63,3 @@ func (c *GasPriceConfig) Validate() error { } return nil } - -// equal returns true if the logical fields of c and other are equal. -// It ignores canoto internal fields. -func (c GasPriceConfig) equals(other GasPriceConfig) bool { - return c.TargetToExcessScaling == other.TargetToExcessScaling && - c.MinPrice == other.MinPrice && - c.StaticPricing == other.StaticPricing -} diff --git a/vms/saevm/gastime/gastime.go b/vms/saevm/gastime/gastime.go index a8d2f396e936..60420fbf07fe 100644 --- a/vms/saevm/gastime/gastime.go +++ b/vms/saevm/gastime/gastime.go @@ -42,8 +42,8 @@ type Time struct { // New returns a new [Time], derived from a [time.Time]. The consumption of // `target` * [TargetToRate] units of [gas.Gas] is equivalent to a tick of 1 // second. -func New(at time.Time, target, startingExcess gas.Gas, gasPriceConfig GasPriceConfig) (*Time, error) { - if err := gasPriceConfig.Validate(); err != nil { +func New(at time.Time, target, startingExcess gas.Gas, c GasPriceConfig) (*Time, error) { + if err := c.Validate(); err != nil { return nil, err } @@ -51,12 +51,20 @@ func New(at time.Time, target, startingExcess gas.Gas, gasPriceConfig GasPriceCo target = clampTarget(target) tm.SetRate(rateOf(target)) - return &Time{ + // TODO(StephenButtolph): startingExcess is pretty difficult for a caller to + // meaningfully provide. We should instead take in startingPrice. + if c.StaticPricing { + startingExcess = 0 + } + + t := &Time{ Time: tm, target: target, excess: startingExcess, - config: gasPriceConfig, - }, nil + config: c, + } + t.enforceMinExcess() + return t, nil } // MinTarget is the minimum allowable [Time.Target] to avoid division by zero. @@ -103,19 +111,19 @@ func (tm *Time) Excess() gas.Gas { } // Price returns the price of a unit of gas, i.e. the "base fee", determined by -// [gas.CalculatePrice]. However, when [GasPriceConfig.StaticPricing] is -// true, Price always returns [GasPriceConfig.MinPrice]. +// [gas.CalculatePrice]. func (tm *Time) Price() gas.Price { - if tm.config.StaticPricing { - return tm.config.MinPrice - } - // TODO (ceyonur): Consider omitting `MinPrice` in favor of `MinExcess`. - // https://github.com/ava-labs/strevm/issues/267 - return gas.CalculatePrice(tm.config.MinPrice, tm.excess, tm.excessScalingFactor()) + p := calculatePrice(tm.excess, tm.excessScalingFactor()) + // When minPrice can't be represented by e^(x/k), p may be too low. + return max(tm.config.MinPrice, p) } // excessScalingFactor returns the K variable of ACP-103/176, i.e. // [GasPriceConfig.TargetToExcessScaling] * T, capped at [math.MaxUint64]. +// +// TODO(StephenButtolph): Rather than capping this at MaxUint64, we should move +// the evaluation of T * K into the exponential calculation. This would allow us +// to never round any values during calculation of extreme inputs. func (tm *Time) excessScalingFactor() gas.Gas { return intmath.BoundedMultiply(tm.config.TargetToExcessScaling, tm.target, math.MaxUint64) } @@ -126,35 +134,16 @@ func (tm *Time) BaseFee() *uint256.Int { return uint256.NewInt(uint64(tm.Price())) } -// SetRate is equivalent to [Time.SetTarget] after (integer) division of `r` by -// [TargetToRate]. -func (tm *Time) SetRate(r gas.Gas) { - tm.SetTarget(r / TargetToRate) -} - -// SetTarget changes the target gas consumption per second, clamping the -// argument to the range [[MinTarget], [MaxTarget]]. If the [Time.Excess] were -// to overflow as a result of this scaling then it is silently capped at -// [math.MaxUint64]. -func (tm *Time) SetTarget(t gas.Gas) { - t = clampTarget(t) - r := rateOf(t) - - x, err := tm.Scale(tm.excess, r) - if err != nil { - x = math.MaxUint64 - } - - tm.Time.SetRate(r) - tm.excess = x - tm.target = t -} - // Tick is equivalent to [proxytime.Time.Tick] except that it also updates the // gas excess. func (tm *Time) Tick(g gas.Gas) { tm.Time.Tick(g) + // static pricing keeps excess at its minimum + if tm.config.StaticPricing { + return + } + R, T := tm.Rate(), tm.Target() //nolint:revive // unexported-naming: mathematical convention quo, _, _ := intmath.MulDiv(g, R-T, R) // overflow is impossible as (R-T)/R < 1 tm.excess = intmath.BoundedAdd(tm.excess, quo, math.MaxUint64) @@ -199,4 +188,6 @@ func (tm *Time) FastForwardTo(to uint64, toFrac gas.Gas) { // -fT/R quo, _, _ := intmath.MulDiv(frac.Numerator, T, R) // overflow is impossible as T/R < 1 tm.excess = intmath.BoundedSubtract(tm.excess, quo, 0) + + tm.enforceMinExcess() } diff --git a/vms/saevm/gastime/gastime_test.go b/vms/saevm/gastime/gastime_test.go index 21be2caacc7a..2b1a9e83a81f 100644 --- a/vms/saevm/gastime/gastime_test.go +++ b/vms/saevm/gastime/gastime_test.go @@ -12,11 +12,9 @@ import ( "github.com/arr4n/shed/testerr" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" - "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/ava-labs/avalanchego/vms/components/gas" - "github.com/ava-labs/avalanchego/vms/saevm/intmath" "github.com/ava-labs/avalanchego/vms/saevm/proxytime" ) @@ -53,6 +51,7 @@ type state struct { UnixTime uint64 ConsumedThisSecond proxytime.FractionalSecond[gas.Gas] Rate, Target, Excess gas.Gas + Config GasPriceConfig Price gas.Price } @@ -63,12 +62,14 @@ func (tm *Time) state() state { Rate: tm.Rate(), Target: tm.Target(), Excess: tm.Excess(), + Config: tm.config, Price: tm.Price(), } } func (tm *Time) requireState(tb testing.TB, desc string, want state, opts ...cmp.Option) { tb.Helper() + opts = append(opts, cmpopts.IgnoreTypes(canotoData_GasPriceConfig{})) if diff := cmp.Diff(want, tm.state(), opts...); diff != "" { tb.Fatalf("%s (-want +got):\n%s", desc, diff) } @@ -81,7 +82,7 @@ func TestNew(t *testing.T) { return } - ignore := cmpopts.IgnoreFields(state{}, "Rate", "Price") + ignore := cmpopts.IgnoreFields(state{}, "Rate", "Config", "Price") tests := []struct { name string @@ -124,82 +125,6 @@ func TestNew(t *testing.T) { } } -func TestScaling(t *testing.T) { - const initExcess = gas.Gas(1_234_567_890) - tm := mustNew(t, time.Unix(42, 0), 1.6e6, initExcess, DefaultGasPriceConfig()) - - // The initial price isn't important in this test; what we care about is - // that it's invariant under scaling of the target etc. - initPrice := tm.Price() - if initPrice == 1 { - t.Fatalf("Bad test setup: increase initial excess to achieve %T > 1", initPrice) - } - - ignore := cmpopts.IgnoreFields(state{}, "UnixTime", "ConsumedThisSecond") - - tm.requireState(t, "initial", state{ - Rate: 3.2e6, - Target: 1.6e6, - Excess: initExcess, - Price: initPrice, - }, ignore) - - tm.SetTarget(3.2e6) - tm.requireState(t, "after SetTarget()", state{ - Rate: 6.4e6, - Target: 3.2e6, - Excess: 2 * initExcess, - Price: initPrice, // unchanged - }, ignore) - - // SetRate is identical to setting via the target, as long as the rate is - // even. Although the documentation states that SetTarget is preferred, we - // still need to test SetRate. - const ( - wantTargetViaRate = 2e6 - wantRate = wantTargetViaRate * TargetToRate - ) - want := state{ - Rate: wantRate, - Target: wantTargetViaRate, - Excess: (func() gas.Gas { - // Scale the _initial_ excess relative to the new and _initial_ - // rates, not the most recent rate before scaling. - x, _, err := intmath.MulDivCeil(initExcess, wantRate, 3.2e6) - require.NoErrorf(t, err, "intmath.MulDivCeil(%d, %d, %d)", initExcess, 4e6, 3.2e6) - return x - })(), - Price: initPrice, // unchanged - } - for roundingError := range gas.Gas(TargetToRate) { - r := wantRate + roundingError - tm.SetRate(r) - tm.requireState(t, fmt.Sprintf("after SetRate(%d)", r), want, ignore) - } - - testPostClone := func(t *testing.T, cloned *Time) { - t.Helper() - want := want - cloned.requireState(t, "unchanged immediately after clone", want, ignore) - - cloned.SetRate(cloned.Rate() * 2) - tm.requireState(t, "original Time unchanged by setting clone's rate", want, ignore) - - want.Rate *= 2 - want.Target *= 2 - want.Excess *= 2 - cloned.requireState(t, "scaling after clone and then SetRate()", want, ignore) - } - - t.Run("clone", func(t *testing.T) { - testPostClone(t, tm.Clone()) - }) - - t.Run("canoto_roundtrip", func(t *testing.T) { - testPostClone(t, tm.cloneViaCanotoRoundTrip(t)) - }) -} - func TestExcess(t *testing.T) { const rate = gas.Gas(3.2e6) tm := mustNew(t, time.Unix(42, 0), rate/2, 0, DefaultGasPriceConfig()) @@ -210,7 +135,7 @@ func TestExcess(t *testing.T) { return f } - ignore := cmpopts.IgnoreFields(state{}, "Rate", "Target", "Price") + ignore := cmpopts.IgnoreFields(state{}, "Rate", "Target", "Config", "Price") tm.requireState(t, "initial", state{ UnixTime: 42, @@ -332,32 +257,43 @@ func TestExcess(t *testing.T) { } func TestMinAndStaticPrice(t *testing.T) { - const ( - target = 1e6 - excess = target * DefaultTargetToExcessScaling // i.e. Price == floor(e)*MinPrice - ) + const target = 1e6 tests := []struct { - name string - minPrice gas.Price - static bool - want gas.Price - wantErr testerr.Want + name string + minPrice gas.Price + static bool + startingExcess gas.Gas + want gas.Price + wantErr testerr.Want }{ { name: "min=1", minPrice: 1, - want: 2, + want: 1, + }, + { + name: "min=1_x=T*K", + minPrice: 1, + startingExcess: target * DefaultTargetToExcessScaling, + want: 2, // floor(e^1) }, { - name: "min=100", + name: "min=100_x=0", minPrice: 100, - want: 271, + want: 100, + }, + { + name: "min=100_x=T*K", + minPrice: 100, + startingExcess: target * DefaultTargetToExcessScaling, + want: 100, }, { - name: "high_min_no_overflow", - minPrice: math.MaxUint64 / 2, - want: math.MaxUint64, + name: "high_min_no_overflow", + minPrice: math.MaxUint64 / 2, + startingExcess: math.MaxUint64, + want: math.MaxUint64, }, { name: "zero_min_errors", @@ -365,10 +301,11 @@ func TestMinAndStaticPrice(t *testing.T) { wantErr: testerr.Is(errMinPriceZero), }, { - name: "static_pricing_returns_min", - minPrice: 123_456, - static: true, - want: 123_456, + name: "static_pricing_returns_min", + minPrice: 123_456, + static: true, + startingExcess: math.MaxUint64, + want: 123_456, }, } @@ -378,7 +315,7 @@ func TestMinAndStaticPrice(t *testing.T) { cfg.MinPrice = tt.minPrice cfg.StaticPricing = tt.static - tm, err := New(time.Unix(0, 0), target, excess, cfg) + tm, err := New(time.Unix(0, 0), target, tt.startingExcess, cfg) if diff := testerr.Diff(err, tt.wantErr); diff != "" { t.Fatalf("New(..., %+v) %s", cfg, diff) } @@ -386,41 +323,12 @@ func TestMinAndStaticPrice(t *testing.T) { return } if got := tm.Price(); got != tt.want { - t.Errorf("New(..., excess=%d, %+v).Price() got %d; want %d", gas.Gas(excess), cfg, got, tt.want) + t.Errorf("New(..., excess=%d, %+v).Price() got %d; want %d", tt.startingExcess, cfg, got, tt.want) } }) } } -func TestTargetClamping(t *testing.T) { - tm := mustNew(t, time.Unix(0, 0), MaxTarget+1, 0, DefaultGasPriceConfig()) - require.Equal(t, MaxTarget, tm.Target(), "tm.Target() clamped by constructor") - - tests := []struct { - setTo, want gas.Gas - }{ - {setTo: 0, want: MinTarget}, - {setTo: 10, want: 10}, - {setTo: MaxTarget + 1, want: MaxTarget}, - {setTo: 20, want: 20}, - {setTo: math.MaxUint64, want: MaxTarget}, - } - - for _, tt := range tests { - tm.SetTarget(tt.setTo) - assert.Equalf(t, tt.want, tm.Target(), "%T.Target() after setting to %#x", tm, tt.setTo) - assert.Equalf(t, tm.Target()*TargetToRate, tm.Rate(), "%T.Rate() == %d * %[1]T.Target()", tm, TargetToRate) - } -} - -func TestNoExcessOverflow(t *testing.T) { - tm := mustNew(t, time.Unix(0, 0), 1, math.MaxUint64-100, DefaultGasPriceConfig()) - tm.SetTarget(MaxTarget) - require.Equal(t, gas.Gas(math.MaxUint64), tm.Excess(), "Excess() after scaling") - tm.FastForwardTo(1, 0) - require.Less(t, tm.Excess(), gas.Gas(math.MaxUint64), "Excess() after capped and then fast-forwarding") -} - func TestTickExcessOverflow(t *testing.T) { const ( shortFall = 2 diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/031bf4654fdf1c5b b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/031bf4654fdf1c5b new file mode 100644 index 000000000000..9ad3e38cf0e6 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/031bf4654fdf1c5b @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(48) +uint64(999999939) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/0500c72ce16718f7 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/0500c72ce16718f7 new file mode 100644 index 000000000000..392c84bfbcdd --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/0500c72ce16718f7 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(45) +uint64(1000000069) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/1020b82e3aac1ae7 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/1020b82e3aac1ae7 new file mode 100644 index 000000000000..b7d11157b416 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/1020b82e3aac1ae7 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(39) +uint64(201) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/11ae0cb4ecea297a b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/11ae0cb4ecea297a new file mode 100644 index 000000000000..e67ee0f6b706 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/11ae0cb4ecea297a @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(92) +uint64(7) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/1c61f78b2bc4b776 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/1c61f78b2bc4b776 new file mode 100644 index 000000000000..45305c493220 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/1c61f78b2bc4b776 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(65) +uint64(1) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/1cb0ef5420114ce3 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/1cb0ef5420114ce3 new file mode 100644 index 000000000000..21ee542b6cd1 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/1cb0ef5420114ce3 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(39) +uint64(122) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/22dd18760835eb0b b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/22dd18760835eb0b new file mode 100644 index 000000000000..05d4bd64161b --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/22dd18760835eb0b @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(109) +uint64(1000000012) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/27f339f83ed49416 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/27f339f83ed49416 new file mode 100644 index 000000000000..1b7f5e63818d --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/27f339f83ed49416 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(53) +uint64(1000000000) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/2989c5a2fc1db283 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/2989c5a2fc1db283 new file mode 100644 index 000000000000..a23709a46fe0 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/2989c5a2fc1db283 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(186) +uint64(2) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/2b2a9382e1dea283 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/2b2a9382e1dea283 new file mode 100644 index 000000000000..54bf8cd65151 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/2b2a9382e1dea283 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(104) +uint64(999999980) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/3427c58a4943d617 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/3427c58a4943d617 new file mode 100644 index 000000000000..5a018f47b05b --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/3427c58a4943d617 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(32) +uint64(1000000000) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/38e80bff99a9fe50 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/38e80bff99a9fe50 new file mode 100644 index 000000000000..1cfa88bdbce8 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/38e80bff99a9fe50 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(79) +uint64(60) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/3a023bda4896abfe b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/3a023bda4896abfe new file mode 100644 index 000000000000..e8e15fab3f8a --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/3a023bda4896abfe @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(40) +uint64(20) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/3b14b10cb53cab9b b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/3b14b10cb53cab9b new file mode 100644 index 000000000000..2787ed3314fd --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/3b14b10cb53cab9b @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(107) +uint64(23) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/3bad6d731ee89ea5 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/3bad6d731ee89ea5 new file mode 100644 index 000000000000..9814bf3108a2 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/3bad6d731ee89ea5 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(28) +uint64(56) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/47b0f600b4c2eb48 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/47b0f600b4c2eb48 new file mode 100644 index 000000000000..fdd1e3f4d430 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/47b0f600b4c2eb48 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(213) +uint64(96) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/4b1a9c9351937173 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/4b1a9c9351937173 new file mode 100644 index 000000000000..141488dd8968 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/4b1a9c9351937173 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(39) +uint64(79) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/4df6eeac8018e087 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/4df6eeac8018e087 new file mode 100644 index 000000000000..f899f2d13144 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/4df6eeac8018e087 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(25) +uint64(31) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/548300b51cab14e9 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/548300b51cab14e9 new file mode 100644 index 000000000000..de511f931093 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/548300b51cab14e9 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(131) +uint64(1000000132) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/577ac355d4899e10 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/577ac355d4899e10 new file mode 100644 index 000000000000..a7928a69419c --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/577ac355d4899e10 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(8) +uint64(97) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/584f6241ec74f489 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/584f6241ec74f489 new file mode 100644 index 000000000000..76c975cdaf14 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/584f6241ec74f489 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(2) +uint64(5) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/59d029a291929afe b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/59d029a291929afe new file mode 100644 index 000000000000..17858294be16 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/59d029a291929afe @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(22) +uint64(1) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/5c75771f20e09057 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/5c75771f20e09057 new file mode 100644 index 000000000000..eea697c6d3d8 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/5c75771f20e09057 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(43) +uint64(26) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/5ec66f3c27f03744 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/5ec66f3c27f03744 new file mode 100644 index 000000000000..cc138dc471d9 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/5ec66f3c27f03744 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(104) +uint64(2) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/604d62d7700fa979 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/604d62d7700fa979 new file mode 100644 index 000000000000..dc85798dd561 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/604d62d7700fa979 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(204) +uint64(96) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/609f7d3362a9a716 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/609f7d3362a9a716 new file mode 100644 index 000000000000..0847f49da4c8 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/609f7d3362a9a716 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(3) +uint64(1000000015) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/663dbe238238ed02 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/663dbe238238ed02 new file mode 100644 index 000000000000..ab342687e377 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/663dbe238238ed02 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(8) +uint64(1) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/67aa269a94558066 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/67aa269a94558066 new file mode 100644 index 000000000000..f36351271116 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/67aa269a94558066 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(62) +uint64(1) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/68c03f16baf86c1a b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/68c03f16baf86c1a new file mode 100644 index 000000000000..a6193727e9d8 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/68c03f16baf86c1a @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(1000000000) +uint64(64) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/698173f5eb08f879 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/698173f5eb08f879 new file mode 100644 index 000000000000..79344a0cc492 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/698173f5eb08f879 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(1000000005) +uint64(1) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/73afdb72b40d0cdc b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/73afdb72b40d0cdc new file mode 100644 index 000000000000..92daf232f2b0 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/73afdb72b40d0cdc @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(187) +uint64(1) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/752715facc82c5c2 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/752715facc82c5c2 new file mode 100644 index 000000000000..d4a18e3ec98e --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/752715facc82c5c2 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(11) +uint64(999999892) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/79a990dae2f5be90 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/79a990dae2f5be90 new file mode 100644 index 000000000000..334c40ee2cba --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/79a990dae2f5be90 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(11) +uint64(63) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/7c32cfa31d5d4b34 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/7c32cfa31d5d4b34 new file mode 100644 index 000000000000..12449415279e --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/7c32cfa31d5d4b34 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(65) +uint64(1000000095) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/7e98ebf2238c9b00 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/7e98ebf2238c9b00 new file mode 100644 index 000000000000..8d8aea5deffd --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/7e98ebf2238c9b00 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(62) +uint64(92) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/816b3ce0eb71e75e b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/816b3ce0eb71e75e new file mode 100644 index 000000000000..ae0bffdacbbd --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/816b3ce0eb71e75e @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(8) +uint64(100) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/82c53ba4cd950f5a b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/82c53ba4cd950f5a new file mode 100644 index 000000000000..41539b1e78ea --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/82c53ba4cd950f5a @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(22) +uint64(26) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/830bf171fdb22c10 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/830bf171fdb22c10 new file mode 100644 index 000000000000..4ed79185e415 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/830bf171fdb22c10 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(32) +uint64(160) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/8573c49572c3b7b4 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/8573c49572c3b7b4 new file mode 100644 index 000000000000..cf06047eda26 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/8573c49572c3b7b4 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(17) +uint64(100) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/8d359c327912e5ea b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/8d359c327912e5ea new file mode 100644 index 000000000000..f8fc69e55a91 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/8d359c327912e5ea @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(81) +uint64(999999924) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/9235ccec184912a4 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/9235ccec184912a4 new file mode 100644 index 000000000000..2c291bb78a90 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/9235ccec184912a4 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(97) +uint64(26) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/92c3024084f2c1a6 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/92c3024084f2c1a6 new file mode 100644 index 000000000000..b5809c01cdea --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/92c3024084f2c1a6 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(73) +uint64(59) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/a4fa87954596f7e2 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/a4fa87954596f7e2 new file mode 100644 index 000000000000..e6a38f548560 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/a4fa87954596f7e2 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(999999973) +uint64(10) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/a9d85d415bb9697c b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/a9d85d415bb9697c new file mode 100644 index 000000000000..0089eb9417fd --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/a9d85d415bb9697c @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(7) +uint64(1000000000) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/acad5d2b5121d96c b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/acad5d2b5121d96c new file mode 100644 index 000000000000..aa9fcac1b3c7 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/acad5d2b5121d96c @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(25) +uint64(63) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/adc5993897a34e76 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/adc5993897a34e76 new file mode 100644 index 000000000000..756488a0f2ea --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/adc5993897a34e76 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(39) +uint64(185) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/b4accf486169d574 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/b4accf486169d574 new file mode 100644 index 000000000000..fa28319f1c53 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/b4accf486169d574 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(83) +uint64(1000000000) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/b95d605cc8fca667 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/b95d605cc8fca667 new file mode 100644 index 000000000000..035bb5db8b0e --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/b95d605cc8fca667 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(115) +uint64(1) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/bb286d918fae48e1 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/bb286d918fae48e1 new file mode 100644 index 000000000000..ede41afb66ee --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/bb286d918fae48e1 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(98) +uint64(1000000153) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/bf361ad45ff3a202 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/bf361ad45ff3a202 new file mode 100644 index 000000000000..27acfa838afc --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/bf361ad45ff3a202 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(0) +uint64(999999864) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/bf467b4744b90a13 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/bf467b4744b90a13 new file mode 100644 index 000000000000..4ccb7d24bd4b --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/bf467b4744b90a13 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(97) +uint64(999999892) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/bfac4d7680e7efa7 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/bfac4d7680e7efa7 new file mode 100644 index 000000000000..d1f09f5cb81b --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/bfac4d7680e7efa7 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(2) +uint64(23) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/c3d9203c8217d9d5 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/c3d9203c8217d9d5 new file mode 100644 index 000000000000..24bcf28f89d4 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/c3d9203c8217d9d5 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(1000000000) +uint64(44) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/c49812beb96cbec2 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/c49812beb96cbec2 new file mode 100644 index 000000000000..8d8781796b14 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/c49812beb96cbec2 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(11) +uint64(99) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/c8a7d6d1853dae00 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/c8a7d6d1853dae00 new file mode 100644 index 000000000000..6eb71a144318 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/c8a7d6d1853dae00 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(62) +uint64(4) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/ce3d297b731c511d b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/ce3d297b731c511d new file mode 100644 index 000000000000..4e6a942407f9 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/ce3d297b731c511d @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(18) +uint64(1000000072) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/d3614678538f6ffb b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/d3614678538f6ffb new file mode 100644 index 000000000000..92b3843ba53b --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/d3614678538f6ffb @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(3) +uint64(999999961) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/d6b5a316281b604c b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/d6b5a316281b604c new file mode 100644 index 000000000000..bec71296a594 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/d6b5a316281b604c @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(122) +uint64(160) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/d9ad4d2cb8cf85bf b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/d9ad4d2cb8cf85bf new file mode 100644 index 000000000000..e519dc550459 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/d9ad4d2cb8cf85bf @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(66) +uint64(23) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/d9fae5527c2fa718 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/d9fae5527c2fa718 new file mode 100644 index 000000000000..18bad31df44a --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/d9fae5527c2fa718 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(10) +uint64(75) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/db2bb41fdb1ea5ce b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/db2bb41fdb1ea5ce new file mode 100644 index 000000000000..1861d2f79fdd --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/db2bb41fdb1ea5ce @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(47) +uint64(1000000000) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/de234591ec887119 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/de234591ec887119 new file mode 100644 index 000000000000..054462d64b0f --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/de234591ec887119 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(73) +uint64(157) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/df65fa689b02e4bf b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/df65fa689b02e4bf new file mode 100644 index 000000000000..3a46211fb6da --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/df65fa689b02e4bf @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(174) +uint64(203) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/e328f5e822b88b3a b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/e328f5e822b88b3a new file mode 100644 index 000000000000..7e559a6695ad --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/e328f5e822b88b3a @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(73) +uint64(54) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/e78973edc494ccef b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/e78973edc494ccef new file mode 100644 index 000000000000..f9dca06b57a1 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/e78973edc494ccef @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(11) +uint64(1000000000) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/e7e3189cb9ca9176 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/e7e3189cb9ca9176 new file mode 100644 index 000000000000..51e4f09dd164 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/e7e3189cb9ca9176 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(45) +uint64(999999991) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/e7fc8a2b2e49f4f0 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/e7fc8a2b2e49f4f0 new file mode 100644 index 000000000000..787cefe20b69 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/e7fc8a2b2e49f4f0 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(259) +uint64(255) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/e9d007bb57e1ba5e b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/e9d007bb57e1ba5e new file mode 100644 index 000000000000..2e6eede687d1 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/e9d007bb57e1ba5e @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(1000000023) +uint64(97) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/eb56d7d2d33ea34f b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/eb56d7d2d33ea34f new file mode 100644 index 000000000000..3cf9d1a5995d --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/eb56d7d2d33ea34f @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(104) +uint64(999999924) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/ec0727d33e27819f b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/ec0727d33e27819f new file mode 100644 index 000000000000..0fc142be7711 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/ec0727d33e27819f @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(98) +uint64(4) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/f6006367bb98ee90 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/f6006367bb98ee90 new file mode 100644 index 000000000000..e70c697deb4f --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/f6006367bb98ee90 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(124) +uint64(48) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/fb59ebda92b32f31 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/fb59ebda92b32f31 new file mode 100644 index 000000000000..2a098a4ee5b2 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/fb59ebda92b32f31 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(1000000000) +uint64(196) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/fc45bf6da584914d b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/fc45bf6da584914d new file mode 100644 index 000000000000..e63de47f1f07 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/fc45bf6da584914d @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(103) +uint64(1000000058) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/ffc06bdad17d4d73 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/ffc06bdad17d4d73 new file mode 100644 index 000000000000..2206ba3a4793 --- /dev/null +++ b/vms/saevm/gastime/testdata/fuzz/FuzzPriceExcess/ffc06bdad17d4d73 @@ -0,0 +1,3 @@ +go test fuzz v1 +uint64(11) +uint64(999999949) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/010928f6808818da b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/010928f6808818da deleted file mode 100644 index 3c0d538081ae..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/010928f6808818da +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(1000000000) -uint64(1000000000000) -uint64(87) -bool(true) -uint64(1000000) -uint64(999999999974) -uint64(18446744073709551615) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/014a5ff89d08df1f b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/014a5ff89d08df1f deleted file mode 100644 index 69408a3f829b..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/014a5ff89d08df1f +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(2000000) -uint64(55) -uint64(18446744073709551615) -bool(false) -uint64(999903) -uint64(26) -uint64(18446744073709551615) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/0455240b3b0eb616 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/0455240b3b0eb616 deleted file mode 100644 index 6ed3b96118f4..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/0455240b3b0eb616 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(1000000000) -uint64(1) -uint64(180) -bool(false) -uint64(1000000) -uint64(1) -uint64(100) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/08f1a44c6b2f8930 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/08f1a44c6b2f8930 deleted file mode 100644 index 5c70d8478a7e..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/08f1a44c6b2f8930 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(1000000) -uint64(26) -uint64(9223372036854775707) -bool(false) -uint64(1000000) -uint64(3) -uint64(9223372036854775797) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/0a055b3ece8218b3 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/0a055b3ece8218b3 deleted file mode 100644 index ba870ca792ac..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/0a055b3ece8218b3 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(0) -uint64(1) -uint64(87) -bool(true) -uint64(1000000) -uint64(1) -uint64(50) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/10e12acb388d2d31 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/10e12acb388d2d31 deleted file mode 100644 index 62be7539669b..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/10e12acb388d2d31 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(999912) -uint64(1000000000) -uint64(70) -uint64(21) -bool(false) -uint64(1000000) -uint64(1) -uint64(110) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/11c74235f0090f40 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/11c74235f0090f40 deleted file mode 100644 index 9f93cd2c34cb..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/11c74235f0090f40 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(22) -uint64(1) -uint64(142) -bool(false) -uint64(1000000) -uint64(1) -uint64(121) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/1e9c0bdfb38ef71f b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/1e9c0bdfb38ef71f deleted file mode 100644 index 08e26e9debd5..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/1e9c0bdfb38ef71f +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(1000000000) -uint64(1) -uint64(32) -bool(false) -uint64(1000060) -uint64(1) -uint64(189) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/248739028c5a989b b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/248739028c5a989b deleted file mode 100644 index 21abcf0a327d..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/248739028c5a989b +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(2000000) -uint64(0) -uint64(18446744073709551520) -bool(false) -uint64(1000077) -uint64(1) -uint64(18446744073709551615) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/2868afca5c846e92 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/2868afca5c846e92 deleted file mode 100644 index a918e309dd08..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/2868afca5c846e92 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(0) -uint64(1) -uint64(87) -bool(false) -uint64(1000000) -uint64(1) -uint64(113) -bool(true) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/2fb443936a9309f8 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/2fb443936a9309f8 deleted file mode 100644 index 11da90275993..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/2fb443936a9309f8 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(2000000) -uint64(0) -uint64(18446744073709551615) -bool(false) -uint64(1000000) -uint64(1) -uint64(18446744073709551615) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/2ffbf3d540612e29 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/2ffbf3d540612e29 deleted file mode 100644 index b65fc682dae2..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/2ffbf3d540612e29 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(999812) -uint64(1000000000) -uint64(70) -uint64(180) -bool(false) -uint64(1000000) -uint64(113) -uint64(135) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/329716dc1f0262bb b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/329716dc1f0262bb deleted file mode 100644 index 9abda088ec42..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/329716dc1f0262bb +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000001) -uint64(1000000) -uint64(23) -uint64(9223372036854775726) -bool(true) -uint64(1000000) -uint64(10) -uint64(9223372036854775870) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/329c74d0314cf810 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/329c74d0314cf810 deleted file mode 100644 index a3b2eb1f97b3..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/329c74d0314cf810 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(1000000000) -uint64(1000000000000) -uint64(87) -bool(true) -uint64(1000000) -uint64(1000000000000) -uint64(18446744073709551615) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/357b8116928494c3 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/357b8116928494c3 deleted file mode 100644 index a9ba4a0daa3b..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/357b8116928494c3 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(5000000) -uint64(1000000067) -uint64(97) -bool(true) -uint64(999990) -uint64(1000000000) -uint64(50) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/3c4e1d8985e89606 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/3c4e1d8985e89606 deleted file mode 100644 index c75151cdbd64..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/3c4e1d8985e89606 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(2000000) -uint64(101) -uint64(87) -bool(false) -uint64(1000000) -uint64(100) -uint64(13) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/428326aeb87565fa b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/428326aeb87565fa deleted file mode 100644 index 95726e352325..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/428326aeb87565fa +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(99999989) -uint64(204) -uint64(92) -bool(false) -uint64(999990) -uint64(10) -uint64(106) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/432990e416fa3eaf b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/432990e416fa3eaf deleted file mode 100644 index 947b51424981..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/432990e416fa3eaf +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(2000000) -uint64(46) -uint64(18446744073709551615) -bool(false) -uint64(999903) -uint64(26) -uint64(18446744073709551615) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/461e6f54b2c92fe2 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/461e6f54b2c92fe2 deleted file mode 100644 index cc240d2b3f5a..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/461e6f54b2c92fe2 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(2000034) -uint64(1) -uint64(0) -bool(false) -uint64(1000001) -uint64(1) -uint64(0) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/4df908ad2f78d17d b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/4df908ad2f78d17d deleted file mode 100644 index cad3fb9bacb7..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/4df908ad2f78d17d +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(999911) -uint64(5000000) -uint64(100) -uint64(90) -bool(true) -uint64(1000000) -uint64(50) -uint64(37) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/5294480a68f7d3e8 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/5294480a68f7d3e8 deleted file mode 100644 index 05485c888468..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/5294480a68f7d3e8 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(999912) -uint64(1000000000) -uint64(70) -uint64(21) -bool(true) -uint64(1000000) -uint64(12) -uint64(110) -bool(true) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/5304009f2df27d7b b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/5304009f2df27d7b deleted file mode 100644 index 85872d3dde74..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/5304009f2df27d7b +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(1000068) -uint64(26) -uint64(9223372036854775639) -bool(false) -uint64(1000000) -uint64(3) -uint64(9223372036854775797) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/579cd3dfa72cac04 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/579cd3dfa72cac04 deleted file mode 100644 index cb9e37dabfc9..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/579cd3dfa72cac04 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(2000000) -uint64(61) -uint64(18446744073709551615) -bool(false) -uint64(1000000) -uint64(26) -uint64(18446744073709551615) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/5b730331bd1ae818 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/5b730331bd1ae818 deleted file mode 100644 index fe4236a0eb86..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/5b730331bd1ae818 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(1000000000) -uint64(1000000000000) -uint64(132) -bool(false) -uint64(1000000) -uint64(1000000000000) -uint64(18446744073709551615) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/5d85b5f0f0618e4f b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/5d85b5f0f0618e4f deleted file mode 100644 index 4e605b8ab632..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/5d85b5f0f0618e4f +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000059) -uint64(1000000000) -uint64(70) -uint64(237) -bool(false) -uint64(1000033) -uint64(35) -uint64(39) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/5e0bd0306d3ed645 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/5e0bd0306d3ed645 deleted file mode 100644 index c02a9d07aefb..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/5e0bd0306d3ed645 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(0) -uint64(1) -uint64(87) -bool(false) -uint64(999924) -uint64(1) -uint64(50) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/5f179d62c764d7b2 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/5f179d62c764d7b2 deleted file mode 100644 index 50a126157f8f..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/5f179d62c764d7b2 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(999953) -uint64(999990) -uint64(179) -uint64(87) -bool(false) -uint64(1000000) -uint64(19) -uint64(87) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/61a075a92ef45675 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/61a075a92ef45675 deleted file mode 100644 index 7fe48c21e999..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/61a075a92ef45675 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(999912) -uint64(1000000000) -uint64(37) -uint64(21) -bool(false) -uint64(1000000) -uint64(35) -uint64(35) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/65416a1cbbae82e2 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/65416a1cbbae82e2 deleted file mode 100644 index 18b42acd6ddb..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/65416a1cbbae82e2 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(999912) -uint64(1000000000) -uint64(70) -uint64(25) -bool(false) -uint64(1000000) -uint64(61) -uint64(202) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/68de14b91f450255 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/68de14b91f450255 deleted file mode 100644 index 251d2a043dc6..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/68de14b91f450255 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(999953) -uint64(999990) -uint64(179) -uint64(87) -bool(true) -uint64(1000000) -uint64(19) -uint64(87) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/6ccf9b8bbe29afdb b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/6ccf9b8bbe29afdb deleted file mode 100644 index 125ad6fb1cdc..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/6ccf9b8bbe29afdb +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(1000000000) -uint64(85) -uint64(29) -bool(false) -uint64(1000000) -uint64(69) -uint64(87) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/6ce64cf58ebf7715 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/6ce64cf58ebf7715 deleted file mode 100644 index db8ce2c7c7ec..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/6ce64cf58ebf7715 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(999982) -uint64(999990) -uint64(179) -uint64(87) -bool(false) -uint64(1000000) -uint64(19) -uint64(0) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/708f28e62091f51b b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/708f28e62091f51b deleted file mode 100644 index e0b8965dd019..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/708f28e62091f51b +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(5000000) -uint64(1000000000) -uint64(87) -bool(false) -uint64(1000000) -uint64(1000000000) -uint64(50) -bool(true) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/77c693ebdcd01b88 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/77c693ebdcd01b88 deleted file mode 100644 index 8d6b6111f7f5..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/77c693ebdcd01b88 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(999812) -uint64(1000000000) -uint64(70) -uint64(180) -bool(false) -uint64(1000000) -uint64(34) -uint64(135) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/78b90ef3887dd950 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/78b90ef3887dd950 deleted file mode 100644 index 23f59783faff..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/78b90ef3887dd950 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(999912) -uint64(1000000000) -uint64(70) -uint64(180) -bool(false) -uint64(1000000) -uint64(35) -uint64(100) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/7cd198a588d64cdd b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/7cd198a588d64cdd deleted file mode 100644 index a93bb42c5ac9..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/7cd198a588d64cdd +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(1000000000) -uint64(1) -uint64(29) -bool(false) -uint64(1000000) -uint64(1) -uint64(87) -bool(true) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/7d4a2740c88c61b9 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/7d4a2740c88c61b9 deleted file mode 100644 index d6ef75c52b0c..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/7d4a2740c88c61b9 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(999912) -uint64(1000000000) -uint64(70) -uint64(112) -bool(false) -uint64(1000000) -uint64(35) -uint64(81) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/80263f459f410fb5 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/80263f459f410fb5 deleted file mode 100644 index 94391a672308..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/80263f459f410fb5 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(5000000) -uint64(70) -uint64(87) -bool(true) -uint64(1000000) -uint64(50) -uint64(87) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/85634aa5be080777 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/85634aa5be080777 deleted file mode 100644 index 1019f5f15ffe..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/85634aa5be080777 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(0) -uint64(1) -uint64(87) -bool(false) -uint64(1000000) -uint64(1) -uint64(113) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/88661693f5399a42 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/88661693f5399a42 deleted file mode 100644 index 6321c0b7a049..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/88661693f5399a42 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(1000000000) -uint64(1) -uint64(32) -bool(false) -uint64(1000000) -uint64(1) -uint64(161) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/92ab299433919a24 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/92ab299433919a24 deleted file mode 100644 index 159894b479d7..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/92ab299433919a24 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(1000000000) -uint64(1000000000064) -uint64(54) -bool(false) -uint64(1000000) -uint64(1000000000021) -uint64(18446744073709551615) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/95e28d599078eff5 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/95e28d599078eff5 deleted file mode 100644 index 6a2f93f54658..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/95e28d599078eff5 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(999999910) -uint64(85) -uint64(29) -bool(false) -uint64(1000000) -uint64(154) -uint64(174) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/9d766bd743e2b114 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/9d766bd743e2b114 deleted file mode 100644 index d7e2783dc3f0..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/9d766bd743e2b114 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(999906) -uint64(1000126) -uint64(1) -uint64(87) -bool(true) -uint64(1000000) -uint64(126) -uint64(87) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/9f4b5d5df6594fee b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/9f4b5d5df6594fee deleted file mode 100644 index 88d51a3d816d..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/9f4b5d5df6594fee +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000059) -uint64(1000000000) -uint64(164) -uint64(237) -bool(false) -uint64(1000033) -uint64(35) -uint64(39) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/a09b134a75751be1 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/a09b134a75751be1 deleted file mode 100644 index f38300b1293c..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/a09b134a75751be1 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(100000000) -uint64(164) -uint64(92) -bool(false) -uint64(1000000) -uint64(10) -uint64(87) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/a0a446c03079a2bc b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/a0a446c03079a2bc deleted file mode 100644 index c178fd920c65..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/a0a446c03079a2bc +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000059) -uint64(1000000000) -uint64(101) -uint64(237) -bool(false) -uint64(999952) -uint64(35) -uint64(39) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/a21fe3fcc6d83d37 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/a21fe3fcc6d83d37 deleted file mode 100644 index 7c4e6e87dee3..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/a21fe3fcc6d83d37 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(999992) -uint64(1000000013) -uint64(1) -uint64(36) -bool(false) -uint64(1000000) -uint64(214) -uint64(1) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/a79cdbbb84e3447c b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/a79cdbbb84e3447c deleted file mode 100644 index 997b1c90f550..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/a79cdbbb84e3447c +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000019) -uint64(1000000) -uint64(26) -uint64(9223372036854775707) -bool(false) -uint64(1000000) -uint64(14) -uint64(9223372036854775797) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/aaaa635d525f899b b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/aaaa635d525f899b deleted file mode 100644 index 8c493ea5b538..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/aaaa635d525f899b +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000034) -uint64(1000000000) -uint64(1) -uint64(98) -bool(false) -uint64(1000000) -uint64(1) -uint64(112) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/abf0bb59060b539c b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/abf0bb59060b539c deleted file mode 100644 index 83e66158df87..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/abf0bb59060b539c +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(999926) -uint64(1000000013) -uint64(1) -uint64(1) -bool(false) -uint64(1000000) -uint64(134) -uint64(1) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/afa30fa9e26b7eaf b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/afa30fa9e26b7eaf deleted file mode 100644 index 98943c424b3b..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/afa30fa9e26b7eaf +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(1000000000) -uint64(101) -uint64(2) -bool(false) -uint64(1000000) -uint64(1) -uint64(100) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/afe7812f3ccd04b9 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/afe7812f3ccd04b9 deleted file mode 100644 index 26b95c74a2c4..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/afe7812f3ccd04b9 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(999928) -uint64(129) -uint64(87) -bool(false) -uint64(1000000) -uint64(44) -uint64(54) -bool(true) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/b10caa917ca4381c b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/b10caa917ca4381c deleted file mode 100644 index 9e3fcf54e90f..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/b10caa917ca4381c +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(999926) -uint64(1000000043) -uint64(1) -uint64(2) -bool(false) -uint64(1000000) -uint64(57) -uint64(18) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/b710a52848f2acce b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/b710a52848f2acce deleted file mode 100644 index 099b6c19b5a4..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/b710a52848f2acce +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(999911) -uint64(5000000) -uint64(100) -uint64(90) -bool(true) -uint64(1000000) -uint64(50) -uint64(36) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/b8b2ba3b5442a92f b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/b8b2ba3b5442a92f deleted file mode 100644 index 54c40803c6c5..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/b8b2ba3b5442a92f +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(999928) -uint64(129) -uint64(87) -bool(false) -uint64(1000000) -uint64(44) -uint64(54) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/beb9610c7dfda747 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/beb9610c7dfda747 deleted file mode 100644 index 19eae310d833..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/beb9610c7dfda747 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(999989) -uint64(1000000043) -uint64(1) -uint64(34) -bool(false) -uint64(1000000) -uint64(57) -uint64(18) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/c15cc2f646c46026 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/c15cc2f646c46026 deleted file mode 100644 index 2fbbece8220a..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/c15cc2f646c46026 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(22) -uint64(1) -uint64(187) -bool(false) -uint64(1000000) -uint64(1) -uint64(121) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/c979815189d559e3 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/c979815189d559e3 deleted file mode 100644 index 224dba1ada75..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/c979815189d559e3 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(1000000082) -uint64(1000000000064) -uint64(119) -bool(false) -uint64(999954) -uint64(1000000000021) -uint64(18446744073709551615) -bool(true) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/cc2a7edfe0161f60 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/cc2a7edfe0161f60 deleted file mode 100644 index 535ccc655882..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/cc2a7edfe0161f60 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(1000000043) -uint64(1) -uint64(116) -bool(false) -uint64(1000000) -uint64(1) -uint64(18) -bool(true) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/d0d750f8c1d5ad4a b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/d0d750f8c1d5ad4a deleted file mode 100644 index 4e390be49a54..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/d0d750f8c1d5ad4a +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(100000000) -uint64(77) -uint64(87) -bool(false) -uint64(1000000) -uint64(19) -uint64(87) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/d0e3318337dbef58 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/d0e3318337dbef58 deleted file mode 100644 index d8c80eed5309..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/d0e3318337dbef58 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000001) -uint64(1000000) -uint64(22) -uint64(9223372036854775726) -bool(false) -uint64(1000000) -uint64(102) -uint64(9223372036854775870) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/d15923499a696ae2 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/d15923499a696ae2 deleted file mode 100644 index efb2f70f6124..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/d15923499a696ae2 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(999924) -uint64(0) -uint64(15) -uint64(60) -bool(false) -uint64(1000000) -uint64(1) -uint64(92) -bool(true) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/d9240cf99465efea b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/d9240cf99465efea deleted file mode 100644 index 9e752d7c7ee4..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/d9240cf99465efea +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(1000000082) -uint64(1000000000064) -uint64(119) -bool(false) -uint64(999954) -uint64(1000000000021) -uint64(18446744073709551559) -bool(true) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/d9d72232852d44b3 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/d9d72232852d44b3 deleted file mode 100644 index 255926954292..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/d9d72232852d44b3 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(1000000000) -uint64(1) -uint64(84) -bool(false) -uint64(1000000) -uint64(1) -uint64(87) -bool(true) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/d9f03ef506779af2 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/d9f03ef506779af2 deleted file mode 100644 index 2db9a4104a16..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/d9f03ef506779af2 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(1000000000) -uint64(1000000000000) -uint64(70) -bool(false) -uint64(1000000) -uint64(1000000000000) -uint64(18446744073709551615) -bool(true) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/e1b4fd45a793a2a7 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/e1b4fd45a793a2a7 deleted file mode 100644 index 33541f191bd2..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/e1b4fd45a793a2a7 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(999912) -uint64(1000000000) -uint64(70) -uint64(21) -bool(false) -uint64(1000000) -uint64(35) -uint64(81) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/e6acaf707fdbcf4a b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/e6acaf707fdbcf4a deleted file mode 100644 index 5690c76f0bc2..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/e6acaf707fdbcf4a +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(1000000082) -uint64(85) -uint64(29) -bool(false) -uint64(1000000) -uint64(69) -uint64(87) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/e9cbebdae1041eb6 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/e9cbebdae1041eb6 deleted file mode 100644 index 44b13469e2ac..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/e9cbebdae1041eb6 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(999906) -uint64(1000064) -uint64(1) -uint64(87) -bool(true) -uint64(1000000) -uint64(50) -uint64(87) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/ed215875eeed1f60 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/ed215875eeed1f60 deleted file mode 100644 index 8ae39c3df79e..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/ed215875eeed1f60 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(999845) -uint64(1000000000) -uint64(70) -uint64(180) -bool(false) -uint64(999927) -uint64(113) -uint64(135) -bool(true) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/edca9584ad05eccb b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/edca9584ad05eccb deleted file mode 100644 index efe2ea4707ed..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/edca9584ad05eccb +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(999906) -uint64(1000000000) -uint64(1) -uint64(180) -bool(false) -uint64(1000000) -uint64(1) -uint64(48) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/f6fd085f975f36e5 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/f6fd085f975f36e5 deleted file mode 100644 index 9e2388222deb..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/f6fd085f975f36e5 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(999912) -uint64(1000000) -uint64(26) -uint64(9223372036854775726) -bool(false) -uint64(1000000) -uint64(13) -uint64(9223372036854775797) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/f7cefbd49d9b0448 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/f7cefbd49d9b0448 deleted file mode 100644 index ca5ecb9a2ecd..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/f7cefbd49d9b0448 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(1000000000) -uint64(70) -uint64(87) -bool(false) -uint64(1000000) -uint64(1) -uint64(100) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/f7e68543fd4b9b0a b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/f7e68543fd4b9b0a deleted file mode 100644 index 723d3675f9f8..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/f7e68543fd4b9b0a +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000084) -uint64(5000000) -uint64(1000000011) -uint64(87) -bool(true) -uint64(1000000) -uint64(1000000000) -uint64(145) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/f867746fcd2c2c27 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/f867746fcd2c2c27 deleted file mode 100644 index 7bcf8b6d6557..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/f867746fcd2c2c27 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000019) -uint64(1000000) -uint64(26) -uint64(9223372036854775707) -bool(true) -uint64(1000000) -uint64(14) -uint64(9223372036854775797) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/fc246b97c3fd2c4b b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/fc246b97c3fd2c4b deleted file mode 100644 index 94c1b2bb2a8e..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/fc246b97c3fd2c4b +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000034) -uint64(1000000000) -uint64(1) -uint64(133) -bool(false) -uint64(1000000) -uint64(1) -uint64(112) -bool(true) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/fd3e4758920c5ea4 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/fd3e4758920c5ea4 deleted file mode 100644 index 59a4323b102f..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/fd3e4758920c5ea4 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(1000000) -uint64(26) -uint64(9223372036854775707) -bool(false) -uint64(1000000) -uint64(1) -uint64(9223372036854775797) -bool(true) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/fe564ee3694f8250 b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/fe564ee3694f8250 deleted file mode 100644 index ea15f656ec7d..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/fe564ee3694f8250 +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(999912) -uint64(1000000) -uint64(26) -uint64(9223372036854775726) -bool(false) -uint64(1000000) -uint64(10) -uint64(9223372036854775797) -bool(false) diff --git a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/ff06cdc6b6a7f2cb b/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/ff06cdc6b6a7f2cb deleted file mode 100644 index ce84f15d09f4..000000000000 --- a/vms/saevm/gastime/testdata/fuzz/FuzzPriceInvarianceAfterBlock/ff06cdc6b6a7f2cb +++ /dev/null @@ -1,10 +0,0 @@ -go test fuzz v1 -uint64(1000000) -uint64(5000000) -uint64(1000000000) -uint64(87) -bool(false) -uint64(1000082) -uint64(1000000000) -uint64(50) -bool(true)