mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-27 07:06:42 +00:00
Merge pull request #1309 from maticnetwork/merge-master-develop
merge master into develop
This commit is contained in:
commit
50092672c1
23 changed files with 39 additions and 47 deletions
|
|
@ -379,8 +379,6 @@ func geth(ctx *cli.Context) error {
|
||||||
// it unlocks any requested accounts, and starts the RPC/IPC interfaces and the
|
// it unlocks any requested accounts, and starts the RPC/IPC interfaces and the
|
||||||
// miner.
|
// miner.
|
||||||
func startNode(ctx *cli.Context, stack *node.Node, backend ethapi.Backend, isConsole bool) {
|
func startNode(ctx *cli.Context, stack *node.Node, backend ethapi.Backend, isConsole bool) {
|
||||||
debug.Memsize.Add("node", stack)
|
|
||||||
|
|
||||||
// Start up the node itself
|
// Start up the node itself
|
||||||
utils.StartNode(ctx, stack, isConsole)
|
utils.StartNode(ctx, stack, isConsole)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ func NewHeimdallGRPCClient(address string) *HeimdallGRPCClient {
|
||||||
grpc_retry.WithCodes(codes.Internal, codes.Unavailable, codes.Aborted, codes.NotFound),
|
grpc_retry.WithCodes(codes.Internal, codes.Unavailable, codes.Aborted, codes.NotFound),
|
||||||
}
|
}
|
||||||
|
|
||||||
conn, err := grpc.Dial(address,
|
conn, err := grpc.NewClient(address,
|
||||||
grpc.WithStreamInterceptor(grpc_retry.StreamClientInterceptor(opts...)),
|
grpc.WithStreamInterceptor(grpc_retry.StreamClientInterceptor(opts...)),
|
||||||
grpc.WithUnaryInterceptor(grpc_retry.UnaryClientInterceptor(opts...)),
|
grpc.WithUnaryInterceptor(grpc_retry.UnaryClientInterceptor(opts...)),
|
||||||
grpc.WithTransportCredentials(insecure.NewCredentials()),
|
grpc.WithTransportCredentials(insecure.NewCredentials()),
|
||||||
|
|
|
||||||
|
|
@ -1084,7 +1084,7 @@ func (s *StateDB) createObject(addr common.Address) (newobj, prev *stateObject)
|
||||||
prevAccount, ok := s.accountsOrigin[prev.address]
|
prevAccount, ok := s.accountsOrigin[prev.address]
|
||||||
s.journal.append(resetObjectChange{
|
s.journal.append(resetObjectChange{
|
||||||
account: &addr,
|
account: &addr,
|
||||||
prev: prev,
|
prev: prev.deepCopy(s),
|
||||||
prevdestruct: prevdestruct,
|
prevdestruct: prevdestruct,
|
||||||
prevAccount: s.accounts[prev.addrHash],
|
prevAccount: s.accounts[prev.addrHash],
|
||||||
prevStorage: s.storages[prev.addrHash],
|
prevStorage: s.storages[prev.addrHash],
|
||||||
|
|
|
||||||
|
|
@ -109,7 +109,7 @@ func TestFilterTxConditional(t *testing.T) {
|
||||||
// and add to the list.
|
// and add to the list.
|
||||||
tx2 := transaction(1, 1000, key)
|
tx2 := transaction(1, 1000, key)
|
||||||
|
|
||||||
var options types.OptionsAA4337
|
var options types.OptionsPIP15
|
||||||
|
|
||||||
options.KnownAccounts = types.KnownAccounts{
|
options.KnownAccounts = types.KnownAccounts{
|
||||||
common.Address{19: 1}: &types.Value{
|
common.Address{19: 1}: &types.Value{
|
||||||
|
|
|
||||||
|
|
@ -189,8 +189,8 @@ func (h *Header) EmptyReceipts() bool {
|
||||||
return h.ReceiptHash == EmptyReceiptsHash
|
return h.ReceiptHash == EmptyReceiptsHash
|
||||||
}
|
}
|
||||||
|
|
||||||
// ValidateBlockNumberOptions4337 validates the block range passed as in the options parameter in the conditional transaction (EIP-4337)
|
// ValidateBlockNumberOptionsPIP15 validates the block range passed as in the options parameter in the conditional transaction (PIP-15)
|
||||||
func (h *Header) ValidateBlockNumberOptions4337(minBlockNumber *big.Int, maxBlockNumber *big.Int) error {
|
func (h *Header) ValidateBlockNumberOptionsPIP15(minBlockNumber *big.Int, maxBlockNumber *big.Int) error {
|
||||||
currentBlockNumber := h.Number
|
currentBlockNumber := h.Number
|
||||||
|
|
||||||
if minBlockNumber != nil {
|
if minBlockNumber != nil {
|
||||||
|
|
@ -208,8 +208,8 @@ func (h *Header) ValidateBlockNumberOptions4337(minBlockNumber *big.Int, maxBloc
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// ValidateBlockNumberOptions4337 validates the timestamp range passed as in the options parameter in the conditional transaction (EIP-4337)
|
// ValidateBlockNumberOptionsPIP15 validates the timestamp range passed as in the options parameter in the conditional transaction (PIP-15)
|
||||||
func (h *Header) ValidateTimestampOptions4337(minTimestamp *uint64, maxTimestamp *uint64) error {
|
func (h *Header) ValidateTimestampOptionsPIP15(minTimestamp *uint64, maxTimestamp *uint64) error {
|
||||||
currentBlockTime := h.Time
|
currentBlockTime := h.Time
|
||||||
|
|
||||||
if minTimestamp != nil {
|
if minTimestamp != nil {
|
||||||
|
|
|
||||||
|
|
@ -435,7 +435,7 @@ func TestRlpDecodeParentHash(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestValidateBlockNumberOptions4337(t *testing.T) {
|
func TestValidateBlockNumberOptionsPIP15(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
testsPass := []struct {
|
testsPass := []struct {
|
||||||
|
|
@ -503,19 +503,19 @@ func TestValidateBlockNumberOptions4337(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, test := range testsPass {
|
for _, test := range testsPass {
|
||||||
if err := test.header.ValidateBlockNumberOptions4337(test.minBlockNumber, test.maxBlockNumber); err != nil {
|
if err := test.header.ValidateBlockNumberOptionsPIP15(test.minBlockNumber, test.maxBlockNumber); err != nil {
|
||||||
t.Fatalf("test number %v should not have failed. err: %v", test.number, err)
|
t.Fatalf("test number %v should not have failed. err: %v", test.number, err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, test := range testsFail {
|
for _, test := range testsFail {
|
||||||
if err := test.header.ValidateBlockNumberOptions4337(test.minBlockNumber, test.maxBlockNumber); err == nil {
|
if err := test.header.ValidateBlockNumberOptionsPIP15(test.minBlockNumber, test.maxBlockNumber); err == nil {
|
||||||
t.Fatalf("test number %v should have failed. err is nil", test.number)
|
t.Fatalf("test number %v should have failed. err is nil", test.number)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestValidateTimestampOptions4337(t *testing.T) {
|
func TestValidateTimestampOptionsPIP15(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
u64Ptr := func(n uint64) *uint64 {
|
u64Ptr := func(n uint64) *uint64 {
|
||||||
|
|
@ -587,13 +587,13 @@ func TestValidateTimestampOptions4337(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, test := range testsPass {
|
for _, test := range testsPass {
|
||||||
if err := test.header.ValidateTimestampOptions4337(test.minTimestamp, test.maxTimestamp); err != nil {
|
if err := test.header.ValidateTimestampOptionsPIP15(test.minTimestamp, test.maxTimestamp); err != nil {
|
||||||
t.Fatalf("test number %v should not have failed. err: %v", test.number, err)
|
t.Fatalf("test number %v should not have failed. err: %v", test.number, err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, test := range testsFail {
|
for _, test := range testsFail {
|
||||||
if err := test.header.ValidateTimestampOptions4337(test.minTimestamp, test.maxTimestamp); err == nil {
|
if err := test.header.ValidateTimestampOptionsPIP15(test.minTimestamp, test.maxTimestamp); err == nil {
|
||||||
t.Fatalf("test number %v should have failed. err is nil", test.number)
|
t.Fatalf("test number %v should have failed. err is nil", test.number)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -57,8 +57,8 @@ type Transaction struct {
|
||||||
time time.Time // Time first seen locally (spam avoidance)
|
time time.Time // Time first seen locally (spam avoidance)
|
||||||
|
|
||||||
// BOR specific - DO NOT REMOVE
|
// BOR specific - DO NOT REMOVE
|
||||||
// knownAccounts (EIP-4337)
|
// knownAccounts (PIP-15)
|
||||||
optionsAA4337 *OptionsAA4337
|
optionsPIP15 *OptionsPIP15
|
||||||
|
|
||||||
// caches
|
// caches
|
||||||
hash atomic.Value
|
hash atomic.Value
|
||||||
|
|
@ -106,14 +106,14 @@ type TxData interface {
|
||||||
decode([]byte) error
|
decode([]byte) error
|
||||||
}
|
}
|
||||||
|
|
||||||
// PutOptions stores the optionsAA4337 field of the conditional transaction (EIP-4337)
|
// PutOptions stores the optionsPIP15 field of the conditional transaction (PIP-15)
|
||||||
func (tx *Transaction) PutOptions(options *OptionsAA4337) {
|
func (tx *Transaction) PutOptions(options *OptionsPIP15) {
|
||||||
tx.optionsAA4337 = options
|
tx.optionsPIP15 = options
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetOptions returns the optionsAA4337 field of the conditional transaction (EIP-4337)
|
// GetOptions returns the optionsPIP15 field of the conditional transaction (PIP-15)
|
||||||
func (tx *Transaction) GetOptions() *OptionsAA4337 {
|
func (tx *Transaction) GetOptions() *OptionsPIP15 {
|
||||||
return tx.optionsAA4337
|
return tx.optionsPIP15
|
||||||
}
|
}
|
||||||
|
|
||||||
// EncodeRLP implements rlp.Encoder
|
// EncodeRLP implements rlp.Encoder
|
||||||
|
|
|
||||||
|
|
@ -112,7 +112,7 @@ func InsertKnownAccounts[T common.Hash | map[common.Hash]common.Hash](accounts K
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
type OptionsAA4337 struct {
|
type OptionsPIP15 struct {
|
||||||
KnownAccounts KnownAccounts `json:"knownAccounts"`
|
KnownAccounts KnownAccounts `json:"knownAccounts"`
|
||||||
BlockNumberMin *big.Int `json:"blockNumberMin"`
|
BlockNumberMin *big.Int `json:"blockNumberMin"`
|
||||||
BlockNumberMax *big.Int `json:"blockNumberMax"`
|
BlockNumberMax *big.Int `json:"blockNumberMax"`
|
||||||
|
|
|
||||||
|
|
@ -83,7 +83,7 @@ func (p *Peer) broadcastTransactions() {
|
||||||
tx := p.txpool.Get(queue[i])
|
tx := p.txpool.Get(queue[i])
|
||||||
|
|
||||||
// BOR specific - DO NOT REMOVE
|
// BOR specific - DO NOT REMOVE
|
||||||
// Skip EIP-4337 bundled transactions
|
// Skip PIP-15 bundled transactions
|
||||||
if tx != nil && tx.GetOptions() == nil {
|
if tx != nil && tx.GetOptions() == nil {
|
||||||
txs = append(txs, tx)
|
txs = append(txs, tx)
|
||||||
size += common.StorageSize(tx.Size())
|
size += common.StorageSize(tx.Size())
|
||||||
|
|
@ -156,7 +156,7 @@ func (p *Peer) announceTransactions() {
|
||||||
for count = 0; count < len(queue) && size < maxTxPacketSize; count++ {
|
for count = 0; count < len(queue) && size < maxTxPacketSize; count++ {
|
||||||
tx := p.txpool.Get(queue[count])
|
tx := p.txpool.Get(queue[count])
|
||||||
// BOR specific - DO NOT REMOVE
|
// BOR specific - DO NOT REMOVE
|
||||||
// Skip EIP-4337 bundled transactions
|
// Skip PIP-15 bundled transactions
|
||||||
if tx != nil && tx.GetOptions() == nil {
|
if tx != nil && tx.GetOptions() == nil {
|
||||||
pending = append(pending, queue[count])
|
pending = append(pending, queue[count])
|
||||||
pendingTypes = append(pendingTypes, tx.Type())
|
pendingTypes = append(pendingTypes, tx.Type())
|
||||||
|
|
|
||||||
1
go.mod
1
go.mod
|
|
@ -30,7 +30,6 @@ require (
|
||||||
github.com/ethereum/c-kzg-4844 v0.4.3
|
github.com/ethereum/c-kzg-4844 v0.4.3
|
||||||
github.com/fatih/color v1.17.0
|
github.com/fatih/color v1.17.0
|
||||||
github.com/fjl/gencodec v0.0.0-20230517082657-f9840df7b83e
|
github.com/fjl/gencodec v0.0.0-20230517082657-f9840df7b83e
|
||||||
github.com/fjl/memsize v0.0.2
|
|
||||||
github.com/fsnotify/fsnotify v1.7.0
|
github.com/fsnotify/fsnotify v1.7.0
|
||||||
github.com/gballet/go-libpcsclite v0.0.0-20191108122812-4678299bea08
|
github.com/gballet/go-libpcsclite v0.0.0-20191108122812-4678299bea08
|
||||||
github.com/gballet/go-verkle v0.1.1-0.20231031103413-a67434b50f46
|
github.com/gballet/go-verkle v0.1.1-0.20231031103413-a67434b50f46
|
||||||
|
|
|
||||||
1
go.sum
1
go.sum
|
|
@ -1146,7 +1146,6 @@ github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2
|
||||||
github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
|
github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
|
||||||
github.com/fjl/gencodec v0.0.0-20230517082657-f9840df7b83e h1:bBLctRc7kr01YGvaDfgLbTwjFNW5jdp5y5rj8XXBHfY=
|
github.com/fjl/gencodec v0.0.0-20230517082657-f9840df7b83e h1:bBLctRc7kr01YGvaDfgLbTwjFNW5jdp5y5rj8XXBHfY=
|
||||||
github.com/fjl/gencodec v0.0.0-20230517082657-f9840df7b83e/go.mod h1:AzA8Lj6YtixmJWL+wkKoBGsLWy9gFrAzi4g+5bCKwpY=
|
github.com/fjl/gencodec v0.0.0-20230517082657-f9840df7b83e/go.mod h1:AzA8Lj6YtixmJWL+wkKoBGsLWy9gFrAzi4g+5bCKwpY=
|
||||||
github.com/fjl/memsize v0.0.2 h1:27txuSD9or+NZlnOWdKUxeBzTAUkWCVh+4Gf2dWFOzA=
|
|
||||||
github.com/fjl/memsize v0.0.2/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0=
|
github.com/fjl/memsize v0.0.2/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0=
|
||||||
github.com/flosch/pongo2/v4 v4.0.2/go.mod h1:B5ObFANs/36VwxxlgKpdchIJHMvHB562PW+BWPhwZD8=
|
github.com/flosch/pongo2/v4 v4.0.2/go.mod h1:B5ObFANs/36VwxxlgKpdchIJHMvHB562PW+BWPhwZD8=
|
||||||
github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
|
github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
|
||||||
|
|
|
||||||
|
|
@ -233,7 +233,7 @@ func (m *Meta2) NewFlagSet(n string) *flagset.Flagset {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Meta2) Conn() (*grpc.ClientConn, error) {
|
func (m *Meta2) Conn() (*grpc.ClientConn, error) {
|
||||||
conn, err := grpc.Dial(m.addr, grpc.WithTransportCredentials(insecure.NewCredentials()))
|
conn, err := grpc.NewClient(m.addr, grpc.WithTransportCredentials(insecure.NewCredentials()))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("failed to connect to server: %v", err)
|
return nil, fmt.Errorf("failed to connect to server: %v", err)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,6 @@ import (
|
||||||
"github.com/ethereum/go-ethereum/log"
|
"github.com/ethereum/go-ethereum/log"
|
||||||
"github.com/ethereum/go-ethereum/metrics"
|
"github.com/ethereum/go-ethereum/metrics"
|
||||||
"github.com/ethereum/go-ethereum/metrics/exp"
|
"github.com/ethereum/go-ethereum/metrics/exp"
|
||||||
"github.com/fjl/memsize/memsizeui"
|
|
||||||
"github.com/mattn/go-colorable"
|
"github.com/mattn/go-colorable"
|
||||||
"github.com/mattn/go-isatty"
|
"github.com/mattn/go-isatty"
|
||||||
"github.com/urfave/cli/v2"
|
"github.com/urfave/cli/v2"
|
||||||
|
|
@ -38,8 +37,6 @@ import (
|
||||||
"gopkg.in/natefinch/lumberjack.v2"
|
"gopkg.in/natefinch/lumberjack.v2"
|
||||||
)
|
)
|
||||||
|
|
||||||
var Memsize memsizeui.Handler
|
|
||||||
|
|
||||||
var (
|
var (
|
||||||
verbosityFlag = &cli.IntFlag{
|
verbosityFlag = &cli.IntFlag{
|
||||||
Name: "verbosity",
|
Name: "verbosity",
|
||||||
|
|
@ -323,7 +320,6 @@ func StartPProf(address string, withMetrics bool) {
|
||||||
if withMetrics {
|
if withMetrics {
|
||||||
exp.Exp(metrics.DefaultRegistry)
|
exp.Exp(metrics.DefaultRegistry)
|
||||||
}
|
}
|
||||||
http.Handle("/memsize/", http.StripPrefix("/memsize", &Memsize))
|
|
||||||
log.Info("Starting pprof server", "addr", fmt.Sprintf("http://%s/debug/pprof", address))
|
log.Info("Starting pprof server", "addr", fmt.Sprintf("http://%s/debug/pprof", address))
|
||||||
go func() {
|
go func() {
|
||||||
if err := http.ListenAndServe(address, nil); err != nil {
|
if err := http.ListenAndServe(address, nil); err != nil {
|
||||||
|
|
|
||||||
|
|
@ -67,7 +67,7 @@ func NewBorAPI(b Backend) *BorAPI {
|
||||||
|
|
||||||
// SendRawTransactionConditional will add the signed transaction to the transaction pool.
|
// SendRawTransactionConditional will add the signed transaction to the transaction pool.
|
||||||
// The sender/bundler is responsible for signing the transaction
|
// The sender/bundler is responsible for signing the transaction
|
||||||
func (api *BorAPI) SendRawTransactionConditional(ctx context.Context, input hexutil.Bytes, options types.OptionsAA4337) (common.Hash, error) {
|
func (api *BorAPI) SendRawTransactionConditional(ctx context.Context, input hexutil.Bytes, options types.OptionsPIP15) (common.Hash, error) {
|
||||||
tx := new(types.Transaction)
|
tx := new(types.Transaction)
|
||||||
if err := tx.UnmarshalBinary(input); err != nil {
|
if err := tx.UnmarshalBinary(input); err != nil {
|
||||||
return common.Hash{}, err
|
return common.Hash{}, err
|
||||||
|
|
@ -81,12 +81,12 @@ func (api *BorAPI) SendRawTransactionConditional(ctx context.Context, input hexu
|
||||||
}
|
}
|
||||||
|
|
||||||
// check block number range
|
// check block number range
|
||||||
if err := currentHeader.ValidateBlockNumberOptions4337(options.BlockNumberMin, options.BlockNumberMax); err != nil {
|
if err := currentHeader.ValidateBlockNumberOptionsPIP15(options.BlockNumberMin, options.BlockNumberMax); err != nil {
|
||||||
return common.Hash{}, &rpc.OptionsValidateError{Message: "out of block range. err: " + err.Error()}
|
return common.Hash{}, &rpc.OptionsValidateError{Message: "out of block range. err: " + err.Error()}
|
||||||
}
|
}
|
||||||
|
|
||||||
// check timestamp range
|
// check timestamp range
|
||||||
if err := currentHeader.ValidateTimestampOptions4337(options.TimestampMin, options.TimestampMax); err != nil {
|
if err := currentHeader.ValidateTimestampOptionsPIP15(options.TimestampMin, options.TimestampMax); err != nil {
|
||||||
return common.Hash{}, &rpc.OptionsValidateError{Message: "out of time range. err: " + err.Error()}
|
return common.Hash{}, &rpc.OptionsValidateError{Message: "out of time range. err: " + err.Error()}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -601,14 +601,14 @@ mainloop:
|
||||||
// not prioritising conditional transaction, yet.
|
// not prioritising conditional transaction, yet.
|
||||||
//nolint:nestif
|
//nolint:nestif
|
||||||
if options := tx.GetOptions(); options != nil {
|
if options := tx.GetOptions(); options != nil {
|
||||||
if err := env.header.ValidateBlockNumberOptions4337(options.BlockNumberMin, options.BlockNumberMax); err != nil {
|
if err := env.header.ValidateBlockNumberOptionsPIP15(options.BlockNumberMin, options.BlockNumberMax); err != nil {
|
||||||
log.Trace("Dropping conditional transaction", "from", from, "hash", tx.Hash(), "reason", err)
|
log.Trace("Dropping conditional transaction", "from", from, "hash", tx.Hash(), "reason", err)
|
||||||
txs.Pop()
|
txs.Pop()
|
||||||
|
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := env.header.ValidateTimestampOptions4337(options.TimestampMin, options.TimestampMax); err != nil {
|
if err := env.header.ValidateTimestampOptionsPIP15(options.TimestampMin, options.TimestampMax); err != nil {
|
||||||
log.Trace("Dropping conditional transaction", "from", from, "hash", tx.Hash(), "reason", err)
|
log.Trace("Dropping conditional transaction", "from", from, "hash", tx.Hash(), "reason", err)
|
||||||
txs.Pop()
|
txs.Pop()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1023,14 +1023,14 @@ mainloop:
|
||||||
// not prioritising conditional transaction, yet.
|
// not prioritising conditional transaction, yet.
|
||||||
//nolint:nestif
|
//nolint:nestif
|
||||||
if options := tx.GetOptions(); options != nil {
|
if options := tx.GetOptions(); options != nil {
|
||||||
if err := env.header.ValidateBlockNumberOptions4337(options.BlockNumberMin, options.BlockNumberMax); err != nil {
|
if err := env.header.ValidateBlockNumberOptionsPIP15(options.BlockNumberMin, options.BlockNumberMax); err != nil {
|
||||||
log.Trace("Dropping conditional transaction", "from", from, "hash", tx.Hash(), "reason", err)
|
log.Trace("Dropping conditional transaction", "from", from, "hash", tx.Hash(), "reason", err)
|
||||||
txs.Pop()
|
txs.Pop()
|
||||||
|
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := env.header.ValidateTimestampOptions4337(options.TimestampMin, options.TimestampMax); err != nil {
|
if err := env.header.ValidateTimestampOptionsPIP15(options.TimestampMin, options.TimestampMax); err != nil {
|
||||||
log.Trace("Dropping conditional transaction", "from", from, "hash", tx.Hash(), "reason", err)
|
log.Trace("Dropping conditional transaction", "from", from, "hash", tx.Hash(), "reason", err)
|
||||||
txs.Pop()
|
txs.Pop()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
Source: bor
|
Source: bor
|
||||||
Version: 1.3.4
|
Version: 1.3.7
|
||||||
Section: develop
|
Section: develop
|
||||||
Priority: standard
|
Priority: standard
|
||||||
Maintainer: Polygon <release-team@polygon.technology>
|
Maintainer: Polygon <release-team@polygon.technology>
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
Source: bor
|
Source: bor
|
||||||
Version: 1.3.4
|
Version: 1.3.7
|
||||||
Section: develop
|
Section: develop
|
||||||
Priority: standard
|
Priority: standard
|
||||||
Maintainer: Polygon <release-team@polygon.technology>
|
Maintainer: Polygon <release-team@polygon.technology>
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
Source: bor-profile
|
Source: bor-profile
|
||||||
Version: 1.3.4
|
Version: 1.3.7
|
||||||
Section: develop
|
Section: develop
|
||||||
Priority: standard
|
Priority: standard
|
||||||
Maintainer: Polygon <release-team@polygon.technology>
|
Maintainer: Polygon <release-team@polygon.technology>
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
Source: bor-profile
|
Source: bor-profile
|
||||||
Version: 1.3.4
|
Version: 1.3.7
|
||||||
Section: develop
|
Section: develop
|
||||||
Priority: standard
|
Priority: standard
|
||||||
Maintainer: Polygon <release-team@polygon.technology>
|
Maintainer: Polygon <release-team@polygon.technology>
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
Source: bor-profile
|
Source: bor-profile
|
||||||
Version: 1.3.4
|
Version: 1.3.7
|
||||||
Section: develop
|
Section: develop
|
||||||
Priority: standard
|
Priority: standard
|
||||||
Maintainer: Polygon <release-team@polygon.technology>
|
Maintainer: Polygon <release-team@polygon.technology>
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
Source: bor-profile
|
Source: bor-profile
|
||||||
Version: 1.3.4
|
Version: 1.3.7
|
||||||
Section: develop
|
Section: develop
|
||||||
Priority: standard
|
Priority: standard
|
||||||
Maintainer: Polygon <release-team@polygon.technology>
|
Maintainer: Polygon <release-team@polygon.technology>
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ import (
|
||||||
const (
|
const (
|
||||||
VersionMajor = 1 // Major version component of the current release
|
VersionMajor = 1 // Major version component of the current release
|
||||||
VersionMinor = 3 // Minor version component of the current release
|
VersionMinor = 3 // Minor version component of the current release
|
||||||
VersionPatch = 4 // Patch version component of the current release
|
VersionPatch = 7 // Patch version component of the current release
|
||||||
VersionMeta = "" // Version metadata to append to the version string
|
VersionMeta = "" // Version metadata to append to the version string
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue