-
Notifications
You must be signed in to change notification settings - Fork 857
Add ACP-224 Fee Manager Precompile #4872
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
joshua-kim
merged 106 commits into
master
from
JonathanOppenheimer/acp224-add-precompile
May 6, 2026
Merged
Changes from 102 commits
Commits
Show all changes
106 commits
Select commit
Hold shift + click to select a range
a620a92
refactor: use slices for precompile config test tables
JonathanOppenheimer f9588d3
build: add precompile interface and build
JonathanOppenheimer fcf11e7
feat: add acp224 precompile
JonathanOppenheimer c103b0f
fix: collisions and non zero
JonathanOppenheimer bc3cf91
refactor: use new spec
JonathanOppenheimer 0b0f4ba
chore: new test error
JonathanOppenheimer 7f1e2db
chore: unexport errors
JonathanOppenheimer ba6971d
chore: lint
JonathanOppenheimer ba9166f
chore: copilot review comments
JonathanOppenheimer fe02d3d
chore: lint
JonathanOppenheimer ab3cb77
chore: further hardcode address
JonathanOppenheimer 9519ce0
chore: more address
JonathanOppenheimer b4138c6
chore: build bazel
JonathanOppenheimer 786ade2
test: add tests
JonathanOppenheimer 320adb2
chore: bazel
JonathanOppenheimer 680e6f2
fix: remove invalid validation check
JonathanOppenheimer add6e93
Update graft/subnet-evm/commontype/fee_config.go
JonathanOppenheimer a0138f6
refactor: Cey feedback
JonathanOppenheimer 3d440a2
chore: bazel
JonathanOppenheimer 1fae150
chore: lint
JonathanOppenheimer 317ca7f
refactor: tests + copilot feedback
JonathanOppenheimer 446203c
fix: nil
JonathanOppenheimer 24a7788
chore: claude nits
JonathanOppenheimer 734067a
fix: nil fee config
JonathanOppenheimer a56e576
chore: revert
JonathanOppenheimer cfac83d
docs: godoc
JonathanOppenheimer 1e0b887
chore: organize contract.go
JonathanOppenheimer 4721e0d
test: use table
JonathanOppenheimer 9eaaf02
chore: remove duplication verification
JonathanOppenheimer 83763bc
chore: Cey review
JonathanOppenheimer 316f2e8
fix: tests
JonathanOppenheimer c6d91d2
test: don't use init()
JonathanOppenheimer a27af0f
Revert "refactor: use slices for precompile config test tables"
JonathanOppenheimer b7c27a5
Merge branch 'master' into JonathanOppenheimer/acp224-add-precompile
JonathanOppenheimer 4e08c51
Merge branch 'master' into JonathanOppenheimer/acp224-add-precompile
JonathanOppenheimer 49691d4
chore: Cey review
JonathanOppenheimer d469314
Update graft/subnet-evm/precompile/contracts/acp224feemanager/config.go
JonathanOppenheimer de42e5d
Merge branch 'master' into JonathanOppenheimer/acp224-add-precompile
JonathanOppenheimer bf26095
refactor: fall back to default config
JonathanOppenheimer 14de17d
Merge branch 'master' into JonathanOppenheimer/acp224-add-precompile
JonathanOppenheimer 1ad2df6
chore: lint
JonathanOppenheimer ecad503
chore: lint
JonathanOppenheimer dc3a8e1
Merge branch 'master' into JonathanOppenheimer/acp224-add-precompile
JonathanOppenheimer 816351e
docs: add uint comment
JonathanOppenheimer 79cd64e
docs: document per uint
JonathanOppenheimer 23c83fa
Merge branch 'master' into JonathanOppenheimer/acp224-add-precompile
JonathanOppenheimer 4a0d14f
Update graft/subnet-evm/commontype/acp224_fee_config.go
JonathanOppenheimer 095aa9b
Update graft/subnet-evm/commontype/acp224_fee_config.go
JonathanOppenheimer fb88e4d
Update graft/subnet-evm/commontype/acp224_fee_config.go
JonathanOppenheimer bf97714
chore: Austin review
JonathanOppenheimer da32c31
chore: bazel
JonathanOppenheimer 5293c45
Merge branch 'master' into JonathanOppenheimer/acp224-add-precompile
JonathanOppenheimer 13bd5a4
chore: lint
JonathanOppenheimer 01cd7ce
chore: revert one Austin suggestion
JonathanOppenheimer a7d2595
chore: Austin comments
JonathanOppenheimer 428e5a3
fix: nolint
JonathanOppenheimer b6c0ada
Update graft/subnet-evm/precompile/contracts/acp224feemanager/module.go
JonathanOppenheimer 99067b2
chore: Arran feedback
JonathanOppenheimer eda0e76
Merge branch 'master' into JonathanOppenheimer/acp224-add-precompile
JonathanOppenheimer 4f3b020
fix: use uint64 directly
JonathanOppenheimer c2d66e0
chore: remove abi bridge code
JonathanOppenheimer 3eb9e0c
chore: un-inline error
JonathanOppenheimer a4e1ab9
docs: precompile comments
JonathanOppenheimer 42faaff
Update graft/subnet-evm/precompile/contracts/acp224feemanager/contrac…
JonathanOppenheimer c323071
Merge branch 'master' into JonathanOppenheimer/acp224-add-precompile
JonathanOppenheimer c135ec5
Merge branch 'JonathanOppenheimer/acp224-add-precompile' of github.co…
JonathanOppenheimer 2ac9012
Update graft/subnet-evm/commontype/acp224_fee_config_test.go
JonathanOppenheimer 2e3d644
Merge branch 'JonathanOppenheimer/acp224-add-precompile' of github.co…
JonathanOppenheimer d089ed2
Merge branch 'master' into JonathanOppenheimer/acp224-add-precompile
JonathanOppenheimer d465d46
Update graft/subnet-evm/commontype/acp224_fee_config_test.go
JonathanOppenheimer 2a9bd38
Update graft/subnet-evm/commontype/acp224_fee_config_test.go
JonathanOppenheimer d0dbc94
Update graft/subnet-evm/commontype/acp224_fee_config_test.go
JonathanOppenheimer e30a9ed
Update graft/subnet-evm/precompile/contracts/acp224feemanager/config.go
JonathanOppenheimer 6fd3b7f
chore: Arran review
JonathanOppenheimer 2b7770a
Merge branch 'master' into JonathanOppenheimer/acp224-add-precompile
JonathanOppenheimer 4142b2f
chore: fix auto-apply
JonathanOppenheimer 78d2129
fix: ordering + lint
JonathanOppenheimer 09c8d2b
Merge branch 'master' into JonathanOppenheimer/acp224-add-precompile
JonathanOppenheimer abbdb71
style: take 2
JonathanOppenheimer b074422
chore: Cey review
JonathanOppenheimer 9d11237
Merge branch 'master' into JonathanOppenheimer/acp224-add-precompile
JonathanOppenheimer ccd5efb
test: convert fuzz to table test
JonathanOppenheimer fd16177
chore: bazel
JonathanOppenheimer 886df70
Merge branch 'master' into JonathanOppenheimer/acp224-add-precompile
JonathanOppenheimer 906252a
chore: lint
JonathanOppenheimer 5e99002
test: properly fuzz graft targets
JonathanOppenheimer 6d21d50
Merge branch 'master' into JonathanOppenheimer/acp224-add-precompile
JonathanOppenheimer 1f262ee
Merge branch 'master' into JonathanOppenheimer/acp224-add-precompile
JonathanOppenheimer b990bb5
test: add fuzz corpora
JonathanOppenheimer 6e293fe
Merge branch 'master' into JonathanOppenheimer/acp224-add-precompile
ceyonur 570a4d0
Merge branch 'master' into JonathanOppenheimer/acp224-add-precompile
JonathanOppenheimer 30cf7f9
chore: bazel metadata
JonathanOppenheimer b32f61d
Update graft/subnet-evm/commontype/acp224_fee_config.go
JonathanOppenheimer 77b0c6f
Update graft/subnet-evm/precompile/contracts/acp224feemanager/config.go
JonathanOppenheimer 7f927ef
Apply suggestions from code review
JonathanOppenheimer e0c6473
fix: suggestion
JonathanOppenheimer 2f052cb
Merge branch 'master' into JonathanOppenheimer/acp224-add-precompile
JonathanOppenheimer f2bdf43
chore: Austin feedback
JonathanOppenheimer dd1ad0f
chore: lint
JonathanOppenheimer 5a8a0e4
Merge branch 'master' into JonathanOppenheimer/acp224-add-precompile
JonathanOppenheimer 414fd7a
style: call gas price manager
JonathanOppenheimer e07e7d1
style: reorder contract.go file
JonathanOppenheimer 497500a
chore: austin comments
JonathanOppenheimer d5156f4
Merge branch 'master' into JonathanOppenheimer/acp224-add-precompile
JonathanOppenheimer aa8c530
Merge branch 'master' into JonathanOppenheimer/acp224-add-precompile
JonathanOppenheimer c2911ab
chore: revert go mod changes
JonathanOppenheimer File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,112 @@ | ||
| // Copyright (C) 2019, Ava Labs, Inc. All rights reserved. | ||
| // See the file LICENSE for licensing terms. | ||
|
|
||
| package commontype | ||
|
|
||
| import ( | ||
| "encoding/binary" | ||
| "errors" | ||
|
|
||
| "github.com/ava-labs/libevm/common" | ||
| ) | ||
|
|
||
| const MinTargetGas uint64 = 1_000_000 | ||
|
|
||
| // DefaultGasPriceConfig returns a default gas price config for the dynamic | ||
| // gas limit mechanism. | ||
| // | ||
| // The default values are: | ||
| // - TargetGas: 1_000_000 | ||
| // - MinGasPrice: 1 | ||
| // - TimeToDouble: 60 | ||
| func DefaultGasPriceConfig() GasPriceConfig { | ||
| return GasPriceConfig{ | ||
| TargetGas: 1_000_000, | ||
| MinGasPrice: 1, | ||
| TimeToDouble: 60, | ||
| } | ||
| } | ||
|
|
||
| var ( | ||
| ErrMinGasPriceTooLow = errors.New("minGasPrice must be greater than 0") | ||
|
|
||
| errTargetGasMustBeZero = errors.New("targetGas must be 0 when validatorTargetGas is true") | ||
| errTargetGasBelowMin = errors.New("targetGas must be at least MinTargetGas") | ||
| errTimeToDoubleTooLow = errors.New("timeToDouble must be greater than 0") | ||
| errTimeToDoubleMustBeZero = errors.New("timeToDouble must be 0 when staticPricing is true") | ||
| ) | ||
|
|
||
| // GasPriceConfig specifies the parameters for the dynamic gas limit and | ||
| // gas price mechanism. | ||
| // See [GasPriceConfig.Verify] for validation constraints between fields. | ||
| type GasPriceConfig struct { | ||
| ValidatorTargetGas bool `json:"validatorTargetGas"` // when true, validators control targetGas via node preferences | ||
| TargetGas uint64 `json:"targetGas"` // target gas consumption per second | ||
| StaticPricing bool `json:"staticPricing"` // when true, gas price is always minGasPrice | ||
| MinGasPrice uint64 `json:"minGasPrice"` // minimum gas price in wei | ||
| TimeToDouble uint64 `json:"timeToDouble"` // seconds for gas price to double at max capacity | ||
| } | ||
|
|
||
| // Verify returns an error if the config violates any field constraints. | ||
| func (a *GasPriceConfig) Verify() error { | ||
| switch { | ||
| case a.MinGasPrice == 0: | ||
| return ErrMinGasPriceTooLow | ||
| case a.ValidatorTargetGas && a.TargetGas != 0: | ||
| return errTargetGasMustBeZero | ||
| case !a.ValidatorTargetGas && a.TargetGas < MinTargetGas: | ||
| return errTargetGasBelowMin | ||
| case a.StaticPricing && a.TimeToDouble != 0: | ||
| return errTimeToDoubleMustBeZero | ||
| case !a.StaticPricing && a.TimeToDouble == 0: | ||
| return errTimeToDoubleTooLow | ||
| default: | ||
| return nil | ||
| } | ||
| } | ||
|
|
||
| // Pack encodes the gas price config into a single common.Hash (32 bytes). | ||
| // | ||
| // Layout (26 bytes used, 6 bytes padding): | ||
| // | ||
| // h[0] ValidatorTargetGas (bool) | ||
| // h[1:9] TargetGas (uint64) | ||
| // h[9] StaticPricing (bool) | ||
| // h[10:18] MinGasPrice (uint64) | ||
| // h[18:26] TimeToDouble (uint64) | ||
| func (a *GasPriceConfig) Pack() common.Hash { | ||
| var h common.Hash | ||
| put := binary.BigEndian.PutUint64 | ||
|
|
||
| if a.ValidatorTargetGas { | ||
| h[0] = 1 | ||
| } | ||
| put(h[1:], a.TargetGas) | ||
| if a.StaticPricing { | ||
| h[9] = 1 | ||
| } | ||
| put(h[10:], a.MinGasPrice) | ||
| put(h[18:], a.TimeToDouble) | ||
| return h | ||
| } | ||
|
|
||
| // UnpackFrom decodes a packed common.Hash into the gas price config fields. | ||
| // See [GasPriceConfig.Pack] for the byte layout. | ||
| func (a *GasPriceConfig) UnpackFrom(h common.Hash) { | ||
| u64 := binary.BigEndian.Uint64 | ||
|
|
||
| a.ValidatorTargetGas = h[0] != 0 | ||
| a.TargetGas = u64(h[1:]) | ||
| a.StaticPricing = h[9] != 0 | ||
| a.MinGasPrice = u64(h[10:]) | ||
| a.TimeToDouble = u64(h[18:]) | ||
| } | ||
|
|
||
| // Equal returns true if both configs are nil or have identical field values. | ||
| func (a *GasPriceConfig) Equal(other *GasPriceConfig) bool { | ||
| if a == nil || other == nil { | ||
| return a == other | ||
| } | ||
|
|
||
| return *a == *other | ||
| } | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,220 @@ | ||
| // Copyright (C) 2019, Ava Labs, Inc. All rights reserved. | ||
| // See the file LICENSE for licensing terms. | ||
|
|
||
| package commontype | ||
|
|
||
| import ( | ||
| "math" | ||
| "testing" | ||
|
|
||
| "github.com/ava-labs/libevm/common" | ||
| "github.com/stretchr/testify/require" | ||
|
|
||
| "github.com/ava-labs/avalanchego/utils" | ||
| ) | ||
|
|
||
| func TestGasPriceConfigVerify(t *testing.T) { | ||
| tests := []struct { | ||
| name string | ||
| config GasPriceConfig | ||
| want error | ||
| }{ | ||
| { | ||
| name: "valid config", | ||
| config: DefaultGasPriceConfig(), | ||
| }, | ||
| { | ||
| name: "valid with validatorTargetGas", | ||
| config: GasPriceConfig{ | ||
| ValidatorTargetGas: true, | ||
| MinGasPrice: 1, | ||
| TimeToDouble: 60, | ||
| }, | ||
| }, | ||
| { | ||
| name: "valid with staticPricing", | ||
| config: GasPriceConfig{ | ||
| TargetGas: MinTargetGas, | ||
| StaticPricing: true, | ||
| MinGasPrice: 1, | ||
| }, | ||
| }, | ||
| { | ||
| name: "valid with both validatorTargetGas and staticPricing", | ||
| config: GasPriceConfig{ | ||
| ValidatorTargetGas: true, | ||
| StaticPricing: true, | ||
| MinGasPrice: 1, | ||
| }, | ||
| }, | ||
| { | ||
| name: "minGasPrice zero", | ||
| config: GasPriceConfig{ | ||
| TargetGas: MinTargetGas, | ||
| TimeToDouble: 60, | ||
| }, | ||
| want: ErrMinGasPriceTooLow, | ||
| }, | ||
| { | ||
| name: "targetGas must be zero when validatorTargetGas is true", | ||
| config: GasPriceConfig{ | ||
| ValidatorTargetGas: true, | ||
| TargetGas: MinTargetGas, | ||
| MinGasPrice: 1, | ||
| TimeToDouble: 60, | ||
| }, | ||
| want: errTargetGasMustBeZero, | ||
| }, | ||
| { | ||
| name: "targetGas below minimum", | ||
| config: GasPriceConfig{ | ||
| TargetGas: MinTargetGas - 1, | ||
| MinGasPrice: 1, | ||
| TimeToDouble: 60, | ||
| }, | ||
| want: errTargetGasBelowMin, | ||
| }, | ||
| { | ||
| name: "targetGas at minimum boundary", | ||
| config: GasPriceConfig{ | ||
| TargetGas: MinTargetGas, | ||
| MinGasPrice: 1, | ||
| TimeToDouble: 1, | ||
| }, | ||
| }, | ||
| { | ||
| name: "timeToDouble must be zero when staticPricing is true", | ||
| config: GasPriceConfig{ | ||
| TargetGas: MinTargetGas, | ||
| StaticPricing: true, | ||
| MinGasPrice: 1, | ||
| TimeToDouble: 60, | ||
| }, | ||
| want: errTimeToDoubleMustBeZero, | ||
| }, | ||
| { | ||
| name: "timeToDouble must be positive when staticPricing is false", | ||
| config: GasPriceConfig{ | ||
| TargetGas: MinTargetGas, | ||
| MinGasPrice: 1, | ||
| }, | ||
| want: errTimeToDoubleTooLow, | ||
| }, | ||
| } | ||
|
|
||
| for _, tt := range tests { | ||
| t.Run(tt.name, func(t *testing.T) { | ||
| err := tt.config.Verify() | ||
| require.ErrorIs(t, err, tt.want, "Verify") | ||
| }) | ||
| } | ||
| } | ||
|
|
||
| // TestGasPriceConfigPackFormat asserts exact packed bytes for known configs. | ||
| // This catches backward-incompatible format changes that round-trip tests miss. | ||
| func TestGasPriceConfigPackFormat(t *testing.T) { | ||
| tests := []struct { | ||
| name string | ||
| config GasPriceConfig | ||
| want common.Hash | ||
| }{ | ||
| { | ||
| name: "default config", | ||
| config: DefaultGasPriceConfig(), | ||
| want: common.HexToHash("0x0000000000000f4240000000000000000001000000000000003c000000000000"), | ||
| }, | ||
| { | ||
| name: "all flags true and max uint64", | ||
| config: GasPriceConfig{ | ||
| ValidatorTargetGas: true, | ||
| TargetGas: math.MaxUint64, | ||
| StaticPricing: true, | ||
| MinGasPrice: math.MaxUint64, | ||
| TimeToDouble: math.MaxUint64, | ||
| }, | ||
| want: common.HexToHash("0x01ffffffffffffffff01ffffffffffffffffffffffffffffffff000000000000"), | ||
| }, | ||
| { | ||
| name: "validatorTargetGas mode", | ||
| config: GasPriceConfig{ | ||
| ValidatorTargetGas: true, | ||
| MinGasPrice: 1, | ||
| TimeToDouble: 60, | ||
| }, | ||
| want: common.HexToHash("0x010000000000000000000000000000000001000000000000003c000000000000"), | ||
| }, | ||
| } | ||
|
|
||
| for _, tt := range tests { | ||
| t.Run(tt.name, func(t *testing.T) { | ||
| require.Equal(t, tt.want, tt.config.Pack(), "Pack") | ||
| }) | ||
| } | ||
| } | ||
|
|
||
| func FuzzGasPriceConfigPacking(f *testing.F) { | ||
| f.Add(false, false, uint64(0), uint64(0), uint64(0)) | ||
| f.Add(true, true, uint64(math.MaxUint64), uint64(math.MaxUint64), uint64(math.MaxUint64)) | ||
| f.Add(false, false, MinTargetGas, uint64(1), uint64(60)) | ||
| f.Add(true, false, uint64(0), uint64(1), uint64(60)) | ||
| f.Add(false, true, MinTargetGas, uint64(1), uint64(0)) | ||
| f.Add(true, true, uint64(0), uint64(1), uint64(0)) | ||
|
|
||
| f.Fuzz(func(t *testing.T, validator, static bool, target, minGas, double uint64) { | ||
| in := &GasPriceConfig{validator, target, static, minGas, double} | ||
| got := new(GasPriceConfig) | ||
| got.UnpackFrom(in.Pack()) | ||
|
JonathanOppenheimer marked this conversation as resolved.
|
||
| require.Equalf(t, *in, *got, "%T.UnpackFrom(%[1]T.Pack()) round trip", in) | ||
| require.Truef(t, got.Equal(in), "%T.Equal([packed original])", got) | ||
| }) | ||
| } | ||
|
|
||
| func TestGasPriceConfigEqual(t *testing.T) { | ||
| tests := []struct { | ||
| name string | ||
| a *GasPriceConfig | ||
| b *GasPriceConfig | ||
| want bool | ||
| }{ | ||
| { | ||
| name: "both equal", | ||
| a: utils.PointerTo(DefaultGasPriceConfig()), | ||
| b: utils.PointerTo(DefaultGasPriceConfig()), | ||
| want: true, | ||
| }, | ||
| { | ||
| name: "different targetGas", | ||
| a: utils.PointerTo(DefaultGasPriceConfig()), | ||
| b: func() *GasPriceConfig { | ||
| c := DefaultGasPriceConfig() | ||
| c.TargetGas++ | ||
| return &c | ||
| }(), | ||
| want: false, | ||
| }, | ||
| { | ||
| name: "other nil", | ||
| a: utils.PointerTo(DefaultGasPriceConfig()), | ||
| b: nil, | ||
| want: false, | ||
| }, | ||
| { | ||
| name: "receiver nil", | ||
| a: nil, | ||
| b: utils.PointerTo(DefaultGasPriceConfig()), | ||
| want: false, | ||
| }, | ||
| { | ||
| name: "both nil", | ||
| a: nil, | ||
| b: nil, | ||
| want: true, | ||
| }, | ||
| } | ||
|
|
||
| for _, tt := range tests { | ||
| t.Run(tt.name, func(t *testing.T) { | ||
| require.Equalf(t, tt.want, tt.a.Equal(tt.b), "%T(%+v).Equal(%+v)", tt.a, tt.a, tt.b) | ||
| }) | ||
| } | ||
| } | ||
6 changes: 6 additions & 0 deletions
6
graft/subnet-evm/commontype/testdata/fuzz/FuzzGasPriceConfigPacking/03eeae4f73409617
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| go test fuzz v1 | ||
| bool(true) | ||
| bool(false) | ||
| uint64(6148914691236517205) | ||
| uint64(12297829382473034410) | ||
| uint64(6148914691236517205) |
6 changes: 6 additions & 0 deletions
6
graft/subnet-evm/commontype/testdata/fuzz/FuzzGasPriceConfigPacking/6148d56c0c7926ba
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| go test fuzz v1 | ||
| bool(true) | ||
| bool(true) | ||
| uint64(9223372036854775808) | ||
| uint64(9223372036854775807) | ||
| uint64(4294967296) |
6 changes: 6 additions & 0 deletions
6
graft/subnet-evm/commontype/testdata/fuzz/FuzzGasPriceConfigPacking/913ddfe768f28110
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| go test fuzz v1 | ||
| bool(true) | ||
| bool(false) | ||
| uint64(1) | ||
| uint64(1) | ||
| uint64(1) |
6 changes: 6 additions & 0 deletions
6
graft/subnet-evm/commontype/testdata/fuzz/FuzzGasPriceConfigPacking/b727bde1998d0574
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| go test fuzz v1 | ||
| bool(false) | ||
| bool(false) | ||
| uint64(1000002) | ||
| uint64(1) | ||
| uint64(60) |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.