Skip to content

Commit 6b74e98

Browse files
Merge branch 'master' into pmikolajczyk/nit-3121-uncompressed-batch-size-limit
2 parents c99cdb0 + f1a53d4 commit 6b74e98

File tree

192 files changed

+23692
-12604
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

192 files changed

+23692
-12604
lines changed

.gitea/workflows/release.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,27 @@ jobs:
122122
LINUX_SIGNING_KEY: ${{ secrets.LINUX_SIGNING_KEY }}
123123
AZURE_BLOBSTORE_TOKEN: ${{ secrets.AZURE_BLOBSTORE_TOKEN }}
124124

125+
keeper:
126+
name: Keeper Build
127+
runs-on: ubuntu-latest
128+
steps:
129+
- uses: actions/checkout@v4
130+
131+
- name: Set up Go
132+
uses: actions/setup-go@v5
133+
with:
134+
go-version: 1.24
135+
cache: false
136+
137+
- name: Install cross toolchain
138+
run: |
139+
apt-get update
140+
apt-get -yq --no-install-suggests --no-install-recommends install gcc-multilib
141+
142+
- name: Build (amd64)
143+
run: |
144+
go run build/ci.go keeper -dlgo
145+
125146
windows:
126147
name: Windows Build
127148
runs-on: "win-11"

.github/workflows/go.yml

Lines changed: 44 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
lint:
1212
if: false # not supported on OffchainLabs fork, ci.yml is used instead
1313
name: Lint
14-
runs-on: self-hosted-ghr
14+
runs-on: [self-hosted-ghr, size-s-x64]
1515
steps:
1616
- uses: actions/checkout@v4
1717
with:
@@ -35,11 +35,52 @@ jobs:
3535
go run build/ci.go check_generate
3636
go run build/ci.go check_baddeps
3737
38+
keeper:
39+
name: Keeper Builds
40+
needs: test
41+
runs-on: [self-hosted-ghr, size-l-x64]
42+
steps:
43+
- uses: actions/checkout@v4
44+
with:
45+
submodules: true
46+
47+
- name: Set up Go
48+
uses: actions/setup-go@v5
49+
with:
50+
go-version: '1.25'
51+
cache: false
52+
53+
- name: Build
54+
run: go run build/ci.go keeper
55+
56+
test-32bit:
57+
name: "32bit tests"
58+
needs: test
59+
runs-on: [self-hosted-ghr, size-l-x64]
60+
steps:
61+
- uses: actions/checkout@v4
62+
with:
63+
submodules: false
64+
65+
- name: Set up Go
66+
uses: actions/setup-go@v5
67+
with:
68+
go-version: '1.25'
69+
cache: false
70+
71+
- name: Install cross toolchain
72+
run: |
73+
apt-get update
74+
apt-get -yq --no-install-suggests --no-install-recommends install gcc-multilib
75+
76+
- name: Build
77+
run: go run build/ci.go test -arch 386 -short -p 8
78+
3879
test:
3980
if: false # not supported on OffchainLabs fork, ci.yml is used instead
4081
name: Test
4182
needs: lint
42-
runs-on: self-hosted-ghr
83+
runs-on: [self-hosted-ghr, size-l-x64]
4384
strategy:
4485
matrix:
4586
go:
@@ -57,4 +98,4 @@ jobs:
5798
cache: false
5899

59100
- name: Run tests
60-
run: go run build/ci.go test
101+
run: go run build/ci.go test -p 8

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,4 +55,5 @@ cmd/ethkey/ethkey
5555
cmd/evm/evm
5656
cmd/geth/geth
5757
cmd/rlpdump/rlpdump
58-
cmd/workload/workload
58+
cmd/workload/workload
59+
cmd/keeper/keeper

accounts/abi/abigen/bind_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -485,13 +485,13 @@ var bindTests = []struct {
485485
contract Defaulter {
486486
address public caller;
487487
488-
function() {
488+
fallback() external payable {
489489
caller = msg.sender;
490490
}
491491
}
492492
`,
493-
[]string{`6060604052606a8060106000396000f360606040523615601d5760e060020a6000350463fc9c8d3981146040575b605e6000805473ffffffffffffffffffffffffffffffffffffffff191633179055565b606060005473ffffffffffffffffffffffffffffffffffffffff1681565b005b6060908152602090f3`},
494-
[]string{`[{"constant":true,"inputs":[],"name":"caller","outputs":[{"name":"","type":"address"}],"type":"function"}]`},
493+
[]string{`608060405234801561000f575f80fd5b5061013d8061001d5f395ff3fe608060405260043610610021575f3560e01c8063fc9c8d391461006257610022565b5b335f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055005b34801561006d575f80fd5b5061007661008c565b60405161008391906100ee565b60405180910390f35b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100d8826100af565b9050919050565b6100e8816100ce565b82525050565b5f6020820190506101015f8301846100df565b9291505056fea26469706673582212201e9273ecfb1f534644c77f09a25c21baaba81cf1c444ebc071e12a225a23c72964736f6c63430008140033`},
494+
[]string{`[{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"caller","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]`},
495495
`
496496
"math/big"
497497

accounts/abi/bind/v2/base.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -321,8 +321,10 @@ func (c *BoundContract) RawCreationTransact(opts *TransactOpts, calldata []byte)
321321
// Transfer initiates a plain transaction to move funds to the contract, calling
322322
// its default method if one is available.
323323
func (c *BoundContract) Transfer(opts *TransactOpts) (*types.Transaction, error) {
324-
// todo(rjl493456442) check the payable fallback or receive is defined
325-
// or not, reject invalid transaction at the first place
324+
// Check if payable fallback or receive is defined
325+
if !c.abi.HasReceive() && !(c.abi.HasFallback() && c.abi.Fallback.IsPayable()) {
326+
return nil, fmt.Errorf("contract does not have a payable fallback or receive function")
327+
}
326328
return c.transact(opts, &c.address, nil)
327329
}
328330

accounts/abi/bind/v2/util_test.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -144,10 +144,9 @@ func TestWaitDeployedCornerCases(t *testing.T) {
144144
done := make(chan struct{})
145145
go func() {
146146
defer close(done)
147-
want := errors.New("context canceled")
148147
_, err := bind.WaitDeployed(ctx, backend.Client(), tx.Hash())
149-
if err == nil || errors.Is(want, err) {
150-
t.Errorf("error mismatch: want %v, got %v", want, err)
148+
if !errors.Is(err, context.Canceled) {
149+
t.Errorf("error mismatch: want %v, got %v", context.Canceled, err)
151150
}
152151
}()
153152

appveyor.yml

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ clone_depth: 5
22
version: "{branch}.{build}"
33

44
image:
5-
- Ubuntu
65
- Visual Studio 2019
76

87
environment:
@@ -17,25 +16,6 @@ install:
1716
- go version
1817

1918
for:
20-
# Linux has its own script without -arch and -cc.
21-
# The linux builder also runs lint.
22-
- matrix:
23-
only:
24-
- image: Ubuntu
25-
build_script:
26-
- go run build/ci.go lint
27-
- go run build/ci.go check_generate
28-
- go run build/ci.go check_baddeps
29-
- go run build/ci.go install -dlgo
30-
test_script:
31-
- go run build/ci.go test -dlgo -short
32-
33-
# linux/386 is disabled.
34-
- matrix:
35-
exclude:
36-
- image: Ubuntu
37-
GETH_ARCH: 386
38-
3919
# Windows builds for amd64 + 386.
4020
- matrix:
4121
only:

arbitrum/apibackend.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,14 @@ type APIBackend struct {
5252
sync SyncProgressBackend
5353
}
5454

55+
func (a *APIBackend) RPCTxSyncDefaultTimeout() time.Duration {
56+
return a.b.config.TxSyncDefaultTimeout
57+
}
58+
59+
func (a *APIBackend) RPCTxSyncMaxTimeout() time.Duration {
60+
return a.b.config.TxSyncMaxTimeout
61+
}
62+
5563
type errorFilteredFallbackClient struct {
5664
impl types.FallbackClient
5765
url string

arbitrum/config.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,10 @@ type Config struct {
4343

4444
BlockRedirects []BlockRedirectConfig `koanf:"block-redirects"`
4545
BlockRedirectsList string `koanf:"block-redirects-list"`
46+
47+
// EIP-7966: eth_sendRawTransactionSync timeouts
48+
TxSyncDefaultTimeout time.Duration `koanf:"tx-sync-default-timeout"`
49+
TxSyncMaxTimeout time.Duration `koanf:"tx-sync-max-timeout"`
4650
}
4751

4852
type BlockRedirectConfig struct {
@@ -87,6 +91,8 @@ func ConfigAddOptions(prefix string, f *flag.FlagSet) {
8791
f.Uint64(prefix+".arbdebug.block-range-bound", arbDebug.BlockRangeBound, "bounds the number of blocks arbdebug calls may return")
8892
f.Uint64(prefix+".arbdebug.timeout-queue-bound", arbDebug.TimeoutQueueBound, "bounds the length of timeout queues arbdebug calls may return")
8993
f.String(prefix+".block-redirects-list", DefaultConfig.BlockRedirectsList, "array of node configs to redirect block requests given as a json string. time duration should be supplied in number indicating nanoseconds")
94+
f.Duration(prefix+".tx-sync-default-timeout", DefaultConfig.TxSyncDefaultTimeout, "default timeout for eth_sendRawTransactionSync")
95+
f.Duration(prefix+".tx-sync-max-timeout", DefaultConfig.TxSyncMaxTimeout, "maximum allowed timeout for eth_sendRawTransactionSync ")
9096
}
9197

9298
const (
@@ -113,4 +119,7 @@ var DefaultConfig = Config{
113119
TimeoutQueueBound: 512,
114120
},
115121
BlockRedirectsList: "default",
122+
// EIP-7966: eth_sendRawTransactionSync timeouts
123+
TxSyncDefaultTimeout: ethconfig.Defaults.TxSyncDefaultTimeout,
124+
TxSyncMaxTimeout: ethconfig.Defaults.TxSyncMaxTimeout,
116125
}

0 commit comments

Comments
 (0)