// Code generated by MockGen. DO NOT EDIT.
// Source: subsidies.go
//
// Generated by this command:
//
//	mockgen -source=subsidies.go -destination=subsidies_mock.go -package=subsidies
//

// Package subsidies is a generated GoMock package.
package subsidies

import (
	reflect "reflect"

	common "github.com/ethereum/go-ethereum/common"
	uint256 "github.com/holiman/uint256"
	gomock "go.uber.org/mock/gomock"
)

// MockVirtualMachine is a mock of VirtualMachine interface.
type MockVirtualMachine struct {
	ctrl     *gomock.Controller
	recorder *MockVirtualMachineMockRecorder
	isgomock struct{}
}

// MockVirtualMachineMockRecorder is the mock recorder for MockVirtualMachine.
type MockVirtualMachineMockRecorder struct {
	mock *MockVirtualMachine
}

// NewMockVirtualMachine creates a new mock instance.
func NewMockVirtualMachine(ctrl *gomock.Controller) *MockVirtualMachine {
	mock := &MockVirtualMachine{ctrl: ctrl}
	mock.recorder = &MockVirtualMachineMockRecorder{mock}
	return mock
}

// EXPECT returns an object that allows the caller to indicate expected use.
func (m *MockVirtualMachine) EXPECT() *MockVirtualMachineMockRecorder {
	return m.recorder
}

// Call mocks base method.
func (m *MockVirtualMachine) Call(from, to common.Address, input []byte, gas uint64, value *uint256.Int) ([]byte, uint64, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Call", from, to, input, gas, value)
	ret0, _ := ret[0].([]byte)
	ret1, _ := ret[1].(uint64)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// Call indicates an expected call of Call.
func (mr *MockVirtualMachineMockRecorder) Call(from, to, input, gas, value any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Call", reflect.TypeOf((*MockVirtualMachine)(nil).Call), from, to, input, gas, value)
}

// MockNonceSource is a mock of NonceSource interface.
type MockNonceSource struct {
	ctrl     *gomock.Controller
	recorder *MockNonceSourceMockRecorder
	isgomock struct{}
}

// MockNonceSourceMockRecorder is the mock recorder for MockNonceSource.
type MockNonceSourceMockRecorder struct {
	mock *MockNonceSource
}

// NewMockNonceSource creates a new mock instance.
func NewMockNonceSource(ctrl *gomock.Controller) *MockNonceSource {
	mock := &MockNonceSource{ctrl: ctrl}
	mock.recorder = &MockNonceSourceMockRecorder{mock}
	return mock
}

// EXPECT returns an object that allows the caller to indicate expected use.
func (m *MockNonceSource) EXPECT() *MockNonceSourceMockRecorder {
	return m.recorder
}

// GetNonce mocks base method.
func (m *MockNonceSource) GetNonce(addr common.Address) uint64 {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetNonce", addr)
	ret0, _ := ret[0].(uint64)
	return ret0
}

// GetNonce indicates an expected call of GetNonce.
func (mr *MockNonceSourceMockRecorder) GetNonce(addr any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetNonce", reflect.TypeOf((*MockNonceSource)(nil).GetNonce), addr)
}
