Skip to content
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

Nitro 2 1 1 merge #173

Closed
wants to merge 349 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
349 commits
Select commit Hold shift + click to select a range
5ce0f81
Disable wait-for-l1-finality on L3 data posters
PlasmaPower Aug 30, 2023
751e99c
Merge branch 'master' into seq-coordinator-manager
ganeshvanahalli Aug 30, 2023
83147d4
Merge pull request #1846 from OffchainLabs/l3-poster-no-finality
Tristan-Wilson Aug 30, 2023
370ac23
Fix off by 1 in validator logging
PlasmaPower Aug 31, 2023
a7e26b2
Drop normalize method in koanf.go, ignore case when comparing tag and…
anodar Aug 31, 2023
5e3c67a
Merge branch 'koanf' into koanf-cont
anodar Aug 31, 2023
0c11341
Merge branch 'koanf-cont' of github.com:OffchainLabs/nitro into koanf…
anodar Aug 31, 2023
4d21186
drop tag normalization in koanf.go
anodar Aug 31, 2023
ad7c38f
Merge branch 'master' of github.com:OffchainLabs/nitro into dataposte…
anodar Aug 31, 2023
8cb2606
add new type Uint64OrHex
ganeshvanahalli Aug 31, 2023
1f6ddc4
Change warning to debug when decoding queued transaction fails, add a…
anodar Aug 31, 2023
50b3b09
Merge branch 'master' into fix-poll-for-reverts
anodar Aug 31, 2023
0e350fb
Merge branch 'master' into koanf
anodar Aug 31, 2023
352fcb2
Merge branch 'koanf' into koanf-cont
anodar Aug 31, 2023
8f3f816
reuse type math.HexOrDecimal64
ganeshvanahalli Aug 31, 2023
95440a0
Merge branch 'master' into fix-send-sync-clippy
PlasmaPower Aug 31, 2023
c14beca
Merge pull request #1843 from OffchainLabs/fix-send-sync-clippy
PlasmaPower Aug 31, 2023
f45fa61
Merge branch 'master' into seq-coordinator-manager
ganeshvanahalli Aug 31, 2023
d23602f
Fix batch poster fixAccErr not resetting when the error stops
PlasmaPower Sep 1, 2023
053e13a
Rename firstAccErr to firstEphemeralError
PlasmaPower Sep 1, 2023
fb6542a
Merge pull request #1849 from OffchainLabs/fix-first-acc-err
PlasmaPower Sep 1, 2023
f110e13
Merge branch 'master' into fix-poll-for-reverts
PlasmaPower Sep 1, 2023
5f2a324
Merge pull request #1845 from OffchainLabs/fix-poll-for-reverts
PlasmaPower Sep 1, 2023
24eb00b
Merge branch 'master' into fix-val-log-off-by-1
PlasmaPower Sep 1, 2023
781af49
Merge pull request #1847 from OffchainLabs/fix-val-log-off-by-1
PlasmaPower Sep 1, 2023
e51f441
Merge branch 'master' into upgrade-type-conditionaloptions
PlasmaPower Sep 1, 2023
8252c29
Merge pull request #1848 from OffchainLabs/upgrade-type-conditionalop…
PlasmaPower Sep 1, 2023
a645527
Merge branch 'master' into koanf
anodar Sep 1, 2023
8230708
Merge branch 'koanf' into koanf-cont
anodar Sep 1, 2023
4fb396d
Merge branch 'koanf-cont' into koanf-cont-cont
anodar Sep 1, 2023
0157df8
Merge branch 'koanf-cont-cont' into structinit-linter
anodar Sep 1, 2023
2f9db18
Compare correct encodings in redis storage, drop nil rlp tag from que…
anodar Sep 1, 2023
beea4fb
Merge pull request #1817 from OffchainLabs/koanf
anodar Sep 1, 2023
7ed666f
Merge branch 'master' into koanf-cont
anodar Sep 1, 2023
0bf724b
Fix incorrect merge with base pr
anodar Sep 1, 2023
293ed4c
Specify folders of linters instead of separate go files in CI yml
anodar Sep 1, 2023
8b66217
Merge branch 'koanf-cont' of github.com:OffchainLabs/nitro into koanf…
anodar Sep 1, 2023
7863f71
Merge branch 'koanf-cont-cont' of github.com:OffchainLabs/nitro into …
anodar Sep 1, 2023
6ea676b
Merge branch 'koanf-cont-cont' into structinit-linter
anodar Sep 1, 2023
6f2397b
Merge branch 'master' into dataposter-legacy-storage-support
anodar Sep 1, 2023
1182da1
Fix changing the basefee in non-mutating calls
PlasmaPower Sep 1, 2023
73a9c8a
Merge branch 'master' into fix-non-mutating-basefee
PlasmaPower Sep 1, 2023
9d6f7ba
Merge pull request #1850 from OffchainLabs/fix-non-mutating-basefee
PlasmaPower Sep 1, 2023
f55f66f
Merge branch 'master' into koanf-cont
anodar Sep 1, 2023
74b806a
Merge branch 'koanf-cont' into koanf-cont-cont
anodar Sep 1, 2023
a760127
Merge pull request #1825 from OffchainLabs/koanf-cont
anodar Sep 1, 2023
75d4cc6
Merge branch 'master' into dataposter-legacy-storage-support
anodar Sep 1, 2023
9a65598
Merge pull request #1844 from OffchainLabs/dataposter-legacy-storage-…
PlasmaPower Sep 1, 2023
4be9bbb
remove precompilesgen dependency from headerreader
ganeshvanahalli Sep 1, 2023
57f25ac
modify implementation to handle CodeAt errors in lb
ganeshvanahalli Sep 1, 2023
fdcb21b
Merge branch 'master' into remove-precompilesgen-dependency
ganeshvanahalli Sep 1, 2023
1117ce5
Merge branch 'master' into koanf-cont-cont
anodar Sep 4, 2023
cd13aa1
Merge branch 'koanf-cont-cont' into enable-custom-linter-ci
anodar Sep 4, 2023
a53ab1d
Merge branch 'koanf-cont-cont' into structinit-linter
anodar Sep 4, 2023
800c0a4
Run linters by specifying linter folder rather than go files
anodar Sep 4, 2023
3be771f
Merge branch 'koanf-cont-cont' of github.com:OffchainLabs/nitro into …
anodar Sep 4, 2023
0e29494
Merge branch 'koanf-cont-cont' into enable-custom-linter-ci
anodar Sep 4, 2023
f9a2c4f
Merge branch 'koanf-cont-cont' of github.com:OffchainLabs/nitro into …
anodar Sep 4, 2023
c2a6a54
address PR comments
ganeshvanahalli Sep 5, 2023
482c1d6
Merge branch 'master' into seq-coordinator-manager
ganeshvanahalli Sep 5, 2023
5af5d4f
check for valid inputs for setting pendingWasmModuleRoot
ganeshvanahalli Sep 6, 2023
3eee2fa
Merge pull request #1853 from OffchainLabs/handle-pendingwasmmodroot-…
PlasmaPower Sep 6, 2023
3c4ba0a
update geth
magicxyyz Sep 7, 2023
295c90d
Merge branch 'master' into dont-save-every-state
magicxyyz Sep 7, 2023
8e9d787
remove not used parameter of stackConfigForTest
magicxyyz Sep 7, 2023
0b42d1f
make sure that each test tx is included in next block
magicxyyz Sep 7, 2023
68c0039
simplify test params
magicxyyz Sep 7, 2023
eba6785
Fix Start/Stop of the staker wallet's data poster
PlasmaPower Sep 7, 2023
c67b318
shorten state saving skipping test
magicxyyz Sep 7, 2023
20b213a
clean extra return values form prepareNodeWithHistory
magicxyyz Sep 7, 2023
a1a8b9e
Merge pull request #1854 from OffchainLabs/fix-staker-data-poster-start
PlasmaPower Sep 8, 2023
f238cda
Improve batch size and tx size limit defaults for L3s
PlasmaPower Sep 8, 2023
0e0fe26
refactor setting cache config in tests
magicxyyz Sep 8, 2023
cc58fbb
fix staker test
magicxyyz Sep 8, 2023
97c0ec5
Merge branch 'master' into dont-save-every-state
magicxyyz Sep 8, 2023
d0cf2f1
Merge branch 'master' into delayed-sequencer-safe
PlasmaPower Sep 8, 2023
2f24e29
Ensure the parent chain has enough space for our batches
PlasmaPower Sep 8, 2023
b8cc8d2
Merge pull request #1804 from OffchainLabs/delayed-sequencer-safe
PlasmaPower Sep 8, 2023
4ef8f70
Merge branch 'master' into l3-batch-size-default
PlasmaPower Sep 8, 2023
0a198b7
Merge pull request #1855 from OffchainLabs/l3-batch-size-default
PlasmaPower Sep 8, 2023
db2eff3
Make the default data poster storage backend LevelDB
PlasmaPower Sep 8, 2023
6d473af
Use a separate prefix for the staker data poster
PlasmaPower Sep 8, 2023
38ad1f1
Merge pull request #1856 from OffchainLabs/data-poster-leveldb-default
PlasmaPower Sep 8, 2023
8e4c931
Handle block "not found" case in batch revert polling
PlasmaPower Sep 10, 2023
e9dd36a
Don't confirmDataPosterIsReady if watchtower
PlasmaPower Sep 12, 2023
dd00ab3
fix db error checking taking pebble into account
magicxyyz Sep 13, 2023
4dab051
Merge branch 'master' into koanf-cont-cont
anodar Sep 13, 2023
efc4fc1
add new RPC GetL2BlockRangeForL1 to fetch L2 block range for L1 block…
ganeshvanahalli Sep 13, 2023
ff04750
add persistent.db-engine config option
magicxyyz Sep 13, 2023
824f451
Merge pull request #1858 from OffchainLabs/fix-watchtower-dp
PlasmaPower Sep 13, 2023
a7ef0aa
Merge branch 'master' into batch-revert-poll-improvement
PlasmaPower Sep 13, 2023
176d7be
Make batch revert nextToCheck a field
PlasmaPower Sep 13, 2023
559940c
Merge pull request #1857 from OffchainLabs/batch-revert-poll-improvement
PlasmaPower Sep 13, 2023
39480a0
Reorder prechecker balance and conditional options checks
PlasmaPower Sep 13, 2023
ad8cfe5
Merge pull request #1862 from OffchainLabs/reorder-prechecker
PlasmaPower Sep 13, 2023
abeec66
Merge branch 'master' into remove-precompilesgen-dependency
ganeshvanahalli Sep 13, 2023
2dc3009
rename .data-poster.use-leveldb to .use-db-storage, rename dataposter…
magicxyyz Sep 13, 2023
bf0c01a
fix failing test
ganeshvanahalli Sep 13, 2023
042edea
Merge branch 'master' into pebble-support
magicxyyz Sep 13, 2023
6a9fd71
revert impl
ganeshvanahalli Sep 14, 2023
89d4a99
Merge pull request #1851 from OffchainLabs/remove-precompilesgen-depe…
PlasmaPower Sep 14, 2023
4d72f53
Merge branch 'master' into koanf-cont-cont
anodar Sep 14, 2023
2193385
Merge branch 'master' into next-revert-check-field
PlasmaPower Sep 14, 2023
accb342
Merge pull request #1861 from OffchainLabs/next-revert-check-field
PlasmaPower Sep 14, 2023
67dbfa9
Merge branch 'master' into seq-coordinator-manager
PlasmaPower Sep 14, 2023
c3bd8ec
Merge pull request #1822 from OffchainLabs/seq-coordinator-manager
PlasmaPower Sep 14, 2023
aa3023e
Allow using different redis keys for dataposter
anodar Sep 15, 2023
70b883a
Merge branch 'master' into koanf-cont-cont
anodar Sep 15, 2023
e2ed2e8
Fix chain id logged in missing field warning
PlasmaPower Sep 15, 2023
60fdd40
Merge pull request #1838 from OffchainLabs/koanf-cont-cont
anodar Sep 15, 2023
e8c44f6
Merge branch 'koanf-cont-cont' into enable-custom-linter-ci
anodar Sep 15, 2023
c08e377
Merge branch 'master' into enable-custom-linter-ci
anodar Sep 15, 2023
98fd07e
Merge branch 'koanf-cont-cont' into structinit-linter
anodar Sep 15, 2023
5f8d8aa
Merge pull request #1839 from OffchainLabs/enable-custom-linter-ci
anodar Sep 15, 2023
fdfefb6
Merge branch 'master' into structinit-linter
anodar Sep 15, 2023
6228940
add methods to configure brotli compression level in ArbOS 12
ganeshvanahalli Sep 15, 2023
d188de9
Merge branch 'master' into add-l2rangeforl1-rpc
ganeshvanahalli Sep 15, 2023
3941ebc
fix overflow possibility
ganeshvanahalli Sep 15, 2023
8b7db54
Merge pull request #1842 from OffchainLabs/structinit-linter
anodar Sep 15, 2023
bc52aad
fix error
ganeshvanahalli Sep 15, 2023
4d1850a
Merge branch 'master' into using-different-keys-in-redis
anodar Sep 18, 2023
fa69b19
Factor out validator wallets and transaction builder into separate pa…
anodar Sep 18, 2023
921ca50
Rename wallet structs to reduce verbosity at call sites
anodar Sep 18, 2023
f58c9eb
Implement noop validator wallet and use it for watchtwer steker strategy
anodar Sep 18, 2023
3215020
fix failing test
ganeshvanahalli Sep 18, 2023
d1552d5
Merge branch 'master' into add-brotlilevel-methods
ganeshvanahalli Sep 18, 2023
2894e69
Return errors from noop validator wallet when trying to execute trans…
anodar Sep 18, 2023
b5379b9
address PR comments
ganeshvanahalli Sep 18, 2023
a331cba
Merge branch 'master' into add-l2rangeforl1-rpc
ganeshvanahalli Sep 18, 2023
0e444b0
Add flag to dataposter and clear leveldb when that flag is set
anodar Sep 19, 2023
9fd0ff5
Pass context to batch poster
anodar Sep 19, 2023
cfb72dc
Merge branch 'master' into pebble-support
magicxyyz Sep 19, 2023
d0aac0f
Merge branch 'master' into dont-save-every-state
magicxyyz Sep 19, 2023
2aa15ad
Add an optional limit to the maximum size of the relay catchup buffer
PlasmaPower Sep 19, 2023
724e82a
Make constants in test clearer
PlasmaPower Sep 19, 2023
b359dbc
Merge pull request #1873 from OffchainLabs/relay-max-catchup
PlasmaPower Sep 20, 2023
25f9cda
Merge branch 'master' into using-different-keys-in-redis
anodar Sep 20, 2023
d70a005
Merge branch 'master' into factor-out-validator-wallets
anodar Sep 20, 2023
4e7d25d
Merge branch 'factor-out-validator-wallets' into noop-validator-wallet
anodar Sep 20, 2023
11a2a3c
Merge branch 'master' into flag-for-clearing-leveldb
anodar Sep 20, 2023
9b2788f
address PR comments
ganeshvanahalli Sep 20, 2023
5bc414f
Merge branch 'master' into add-l2rangeforl1-rpc
ganeshvanahalli Sep 20, 2023
0979ae8
Add DAS error when 1 error away from failure
Tristan-Wilson Sep 21, 2023
994d0b5
code refactor
ganeshvanahalli Sep 21, 2023
b5c02f9
Merge pull request #1875 from OffchainLabs/das-warn-to-err
Tristan-Wilson Sep 21, 2023
56a6f11
Merge remote-tracking branch 'origin/master' into cgroupsv2-resourcem…
Tristan-Wilson Sep 21, 2023
cb10050
code refactor
ganeshvanahalli Sep 22, 2023
53b7183
Merge branch 'master' into add-l2rangeforl1-rpc
ganeshvanahalli Sep 22, 2023
affaf25
Merge pull request #1744 from OffchainLabs/cgroupsv2-resourcemanager
Tristan-Wilson Sep 22, 2023
9580c4d
Add test for sequencer inbox refunder
anodar Sep 22, 2023
27ee887
Fixed memory limits rather than percentage based
Tristan-Wilson Sep 22, 2023
5bd76f3
add documentation
ganeshvanahalli Sep 25, 2023
39ce1b4
Merge branch 'master' into add-l2rangeforl1-rpc
ganeshvanahalli Sep 25, 2023
1cb88fb
Use staker address as part of redis key for dataposter
Sep 25, 2023
4646251
Merge branch 'master' into using-different-keys-in-redis
anodar Sep 25, 2023
502b7ac
Merge branch 'master' into using-different-keys-in-redis
anodar Sep 25, 2023
0d7a15f
Drop nil comparison since it's already checked
anodar Sep 25, 2023
c86cf05
Merge pull request #1860 from OffchainLabs/add-l2rangeforl1-rpc
ganeshvanahalli Sep 25, 2023
4ad21f6
Simplify resourcemanager.parseMemLimit
Tristan-Wilson Sep 25, 2023
84a511a
Merge remote-tracking branch 'origin/master' into fixed-memory-limit
Tristan-Wilson Sep 25, 2023
cfa5dae
Merge branch 'master' into using-different-keys-in-redis
anodar Sep 25, 2023
000a97b
Fix nil pointer dereference in BlockNum precompile
anodar Sep 26, 2023
ee5e7ac
Update go-ethereum pin
anodar Sep 26, 2023
8f89a85
Merge pull request #1881 from OffchainLabs/fix-blocknum-in-nodeinterface
anodar Sep 26, 2023
64b4ddc
Merge branch 'master' into preimage-type-support
PlasmaPower Sep 26, 2023
6863c7d
Merge branch 'master' into fix-deserialize
joshuacolvin0 Sep 26, 2023
e022338
Merge pull request #1882 from OffchainLabs/fix-deserialize
joshuacolvin0 Sep 26, 2023
ef96d4f
Merge branch 'master' into fix-chain-id-log
joshuacolvin0 Sep 26, 2023
91ff77f
update contracts pin
ganeshvanahalli Sep 26, 2023
b5aa75f
Merge pull request #1864 from OffchainLabs/fix-chain-id-log
joshuacolvin0 Sep 26, 2023
3bf7dd0
update geth
magicxyyz Sep 26, 2023
90a2599
Merge branch 'master' into dont-save-every-state
magicxyyz Sep 26, 2023
4d2ddce
Merge branch 'master' into dont-save-every-state
magicxyyz Sep 26, 2023
ee46be1
Merge branch 'master' into using-different-keys-in-redis
joshuacolvin0 Sep 26, 2023
5534bc6
Merge pull request #1542 from OffchainLabs/dont-save-every-state
joshuacolvin0 Sep 27, 2023
f5f9f6c
Merge branch 'master' into fixed-memory-limit
Tristan-Wilson Sep 27, 2023
53c1c33
mem-limit: count active pages as maybe freeable
Tristan-Wilson Sep 27, 2023
37b1667
Merge pull request #1878 from OffchainLabs/fixed-memory-limit
Tristan-Wilson Sep 27, 2023
9e3a8de
Fix nits from PR#1878
Tristan-Wilson Sep 27, 2023
0fe4de9
Merge branch 'master' into mem-limit-count-active-pages
Tristan-Wilson Sep 27, 2023
0b32e88
Update arb1 and nova feed URLs to new domain
PlasmaPower Sep 27, 2023
5971115
Merge branch 'master' into flag-for-clearing-leveldb
anodar Sep 27, 2023
461369d
Merge pull request #1872 from OffchainLabs/flag-for-clearing-leveldb
anodar Sep 27, 2023
f1639ef
Merge branch 'master' into pebble-support
magicxyyz Sep 27, 2023
2a3131f
Merge branch 'master' into factor-out-validator-wallets
anodar Sep 27, 2023
a683c2c
Merge branch 'master' into mem-limit-count-active-pages
anodar Sep 27, 2023
cbeb930
Merge branch 'master' of github.com:OffchainLabs/nitro into using-dif…
anodar Sep 27, 2023
839b2a2
Merge branch 'master' into add-brotlilevel-methods
ganeshvanahalli Sep 27, 2023
8072030
Merge branch 'master' into add-brotlilevel-methods
ganeshvanahalli Sep 27, 2023
a70b6ad
Merge pull request #1868 from OffchainLabs/factor-out-validator-wallets
anodar Sep 27, 2023
19f7b89
Merge branch 'master' into noop-validator-wallet
anodar Sep 27, 2023
efba003
Merge pull request #1869 from OffchainLabs/noop-validator-wallet
anodar Sep 27, 2023
70a12ec
Merge branch 'master' into using-different-keys-in-redis
anodar Sep 27, 2023
70dc48f
Merge branch 'master' into update-feed-urls
PlasmaPower Sep 27, 2023
cf809ef
Return RollupAddress from NoOp validator wallet
PlasmaPower Sep 27, 2023
099fe72
Use NoOp validator wallet in watchtower test
PlasmaPower Sep 27, 2023
777bd01
Merge branch 'master' into mem-limit-count-active-pages
Tristan-Wilson Sep 27, 2023
32c9760
Merge pull request #1885 from OffchainLabs/mem-limit-count-active-pages
Tristan-Wilson Sep 27, 2023
0d3958a
Merge branch 'master' into using-different-keys-in-redis
anodar Sep 27, 2023
14d630c
Merge branch 'master' into noop-wallet-rollup
PlasmaPower Sep 27, 2023
8b9bffc
Merge branch 'master' into update-feed-urls
PlasmaPower Sep 27, 2023
af87220
Merge pull request #1887 from OffchainLabs/noop-wallet-rollup
PlasmaPower Sep 27, 2023
1cd6812
Merge branch 'master' into update-feed-urls
anodar Sep 27, 2023
aafa426
Merge pull request #1886 from OffchainLabs/update-feed-urls
PlasmaPower Sep 27, 2023
6eb1fb4
Metrics for memory limit and usage
Tristan-Wilson Sep 27, 2023
85ffd9e
Fix capitalization of log messages
Tristan-Wilson Sep 27, 2023
01ee1f3
Merge branch 'master' into add-brotlilevel-methods
joshuacolvin0 Sep 27, 2023
72ccc0c
Merge pull request #1888 from OffchainLabs/memory-metrics
Tristan-Wilson Sep 27, 2023
c5bcb6e
Add `merge_group` to workflows to prepare for merge queues
joshuacolvin0 Sep 27, 2023
48b69aa
Merge branch 'master' into using-different-keys-in-redis
anodar Sep 27, 2023
d665734
Update contracts pin
joshuacolvin0 Sep 27, 2023
b306c7c
Merge branch 'master' into sequencer-gas-refunder-test
joshuacolvin0 Sep 27, 2023
f2e6aa2
Merge pull request #1890 from OffchainLabs/merge-queue
joshuacolvin0 Sep 27, 2023
3e4b587
Merge branch 'master' into using-different-keys-in-redis
joshuacolvin0 Sep 27, 2023
1d2f2de
Merge branch 'master' into pebble-support
magicxyyz Sep 27, 2023
1c4810e
improve error fmt
magicxyyz Sep 27, 2023
be91de7
Only warn if we hit an issue polling for batch reverts
PlasmaPower Sep 27, 2023
7bf3e05
Update logo on README
fionnachan Sep 28, 2023
8c8ee4d
Merge pull request #1892 from OffchainLabs/revert-poll-only-warn
PlasmaPower Sep 28, 2023
30af75b
Merge branch 'master' into readme-logo
PlasmaPower Sep 28, 2023
5b259d2
Merge pull request #1893 from fionnachan/readme-logo
PlasmaPower Sep 28, 2023
cc2e377
Merge branch 'master' into sequencer-gas-refunder-test
joshuacolvin0 Sep 28, 2023
be635cf
Merge pull request #1877 from OffchainLabs/sequencer-gas-refunder-test
joshuacolvin0 Sep 28, 2023
900223e
Merge master into is-sequencer-feed
joshuacolvin0 Sep 28, 2023
d573fb4
Merge branch 'master' into using-different-keys-in-redis
anodar Sep 28, 2023
eb54048
Merge pull request #1630 from OffchainLabs/is-sequencer-feed
joshuacolvin0 Sep 28, 2023
8fe6b46
Merge branch 'master' into using-different-keys-in-redis
joshuacolvin0 Sep 28, 2023
15ea478
Merge pull request #1863 from OffchainLabs/using-different-keys-in-redis
joshuacolvin0 Sep 28, 2023
291f889
address PR comments
ganeshvanahalli Sep 28, 2023
356564a
update contracts pin
ganeshvanahalli Sep 28, 2023
ed7c0fc
update contracts pin
ganeshvanahalli Sep 28, 2023
a986345
Merge branch 'master' into add-brotlilevel-methods
ganeshvanahalli Sep 28, 2023
3234af9
fix error message
ganeshvanahalli Sep 28, 2023
520bdb9
Update header_reader.go
ganeshvanahalli Sep 28, 2023
bbc046f
Merge branch 'master' into log-connection-error
ganeshvanahalli Sep 28, 2023
88b10f1
Merge pull request #1865 from OffchainLabs/add-brotlilevel-methods
joshuacolvin0 Sep 28, 2023
3a48bd8
Merge branch 'master' into log-connection-error
joshuacolvin0 Sep 28, 2023
55da7ba
Merge pull request #1783 from OffchainLabs/log-connection-error
joshuacolvin0 Sep 28, 2023
826813e
Update dependancies to make dependabot happy
joshuacolvin0 Sep 28, 2023
01e37ec
Merge pull request #1897 from OffchainLabs/update-deps
PlasmaPower Sep 28, 2023
5fab976
Merge branch 'master' into pebble-support
magicxyyz Sep 28, 2023
7562d6a
Merge pull request #1859 from OffchainLabs/pebble-support
joshuacolvin0 Sep 28, 2023
470ed2a
Bump go-ethereum pin to latest master
PlasmaPower Sep 29, 2023
4b170f7
Merge pull request #1898 from OffchainLabs/bump-geth-2023-09-28
PlasmaPower Sep 29, 2023
6ecadc3
Add wavmio preimage test to go prover test
PlasmaPower Sep 29, 2023
d8fa192
Merge branch 'master' into preimage-type-support
PlasmaPower Sep 29, 2023
6d85d4a
Merge pull request #1814 from OffchainLabs/preimage-type-support
PlasmaPower Sep 29, 2023
8c1b55e
Disable skipping saving state in archive node by default
PlasmaPower Sep 30, 2023
e9d8842
Merge pull request #1900 from OffchainLabs/disable-archive-skip
joshuacolvin0 Sep 30, 2023
a6c938e
Merge nitro 2.1.1 into stylus
joshuacolvin0 Nov 2, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/arbitrator-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ on:
description: 'Enable tmate'
required: false
default: false
merge_group:
pull_request:
paths:
- 'arbitrator/**'
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/arbitrator-skip-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ name: Arbitrator skip CI
run-name: Arbitrator skip CI triggered from @${{ github.actor }} of ${{ github.head_ref }}

on:
merge_group:
pull_request:
paths-ignore:
- 'arbitrator/**'
Expand Down
5 changes: 5 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ run-name: Go tests CI triggered from @${{ github.actor }} of ${{ github.head_ref

on:
workflow_dispatch:
merge_group:
pull_request:
push:
branches:
Expand Down Expand Up @@ -131,6 +132,10 @@ jobs:
version: latest
skip-go-installation: true
skip-pkg-cache: true
- name: Custom Lint
run: |
go run ./linter/koanf ./...
go run ./linter/pointercheck ./...

- name: Set environment variables
run: |
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ name: "CodeQL"
on:
push:
branches: [ "master" ]
merge_group:
branches: [ "master" ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ "master" ]
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ run-name: Docker build CI triggered from @${{ github.actor }} of ${{ github.head

on:
workflow_dispatch:
merge_group:
pull_request:
push:
branches:
Expand Down
2 changes: 2 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ RUN apt-get install -y clang=1:11.0-51+nmu5 lld=1:11.0-51+nmu5 wabt
# pinned rust 1.65.0
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain 1.68.2 --target x86_64-unknown-linux-gnu wasm32-unknown-unknown wasm32-wasi
COPY ./Makefile ./
COPY arbitrator/arbutil arbitrator/arbutil
COPY arbitrator/prover arbitrator/prover
COPY arbitrator/wasm-libraries arbitrator/wasm-libraries
COPY arbitrator/tools/wasmer arbitrator/tools/wasmer
Expand Down Expand Up @@ -223,6 +224,7 @@ WORKDIR /home/user
COPY --from=node-builder /workspace/target/bin/nitro /usr/local/bin/
COPY --from=node-builder /workspace/target/bin/relay /usr/local/bin/
COPY --from=node-builder /workspace/target/bin/nitro-val /usr/local/bin/
COPY --from=node-builder /workspace/target/bin/seq-coordinator-manager /usr/local/bin/
COPY --from=machine-versions /workspace/machines /home/user/target/machines
USER root
RUN export DEBIAN_FRONTEND=noninteractive && \
Expand Down
49 changes: 26 additions & 23 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ precompile_names = AddressTable Aggregator BLS Debug FunctionTable GasInfo Info
precompiles = $(patsubst %,./solgen/generated/%.go, $(precompile_names))

output_root=target
output_latest=$(output_root)/machines/latest

repo_dirs = arbos arbnode arbutil arbstate cmd das precompiles solgen system_tests util validator wavmio
go_source.go = $(wildcard $(patsubst %,%/*.go, $(repo_dirs)) $(patsubst %,%/*/*.go, $(repo_dirs)))
Expand All @@ -49,7 +48,7 @@ done = "%bdone!%b\n" $(color_pink) $(color_reset)

replay_deps=arbos wavmio arbstate arbcompress solgen/go/node-interfacegen blsSignatures cmd/replay

replay_wasm=$(output_latest)/replay.wasm
replay_wasm=$(output_root)/machines/latest/replay.wasm

arbitrator_generated_header=$(output_root)/include/arbitrator.h
arbitrator_wasm_libs_nogo=$(patsubst %, $(output_root)/machines/latest/%.wasm, wasi_stub host_io soft-float)
Expand Down Expand Up @@ -78,7 +77,7 @@ arbitrator_wasm_lib_flags=$(patsubst %, -l %, $(arbitrator_wasm_libs))

rust_arbutil_files = $(wildcard arbitrator/arbutil/src/*.* arbitrator/arbutil/src/*/*.* arbitrator/arbutil/*.toml)

prover_direct_includes = $(patsubst %,$(output_latest)/%.wasm, forward forward_stub)
prover_direct_includes = $(patsubst %,$(output_root)/machines/latest/%.wasm, forward forward_stub)
prover_src = arbitrator/prover/src
rust_prover_files = $(wildcard $(prover_src)/*.* $(prover_src)/*/*.* arbitrator/prover/*.toml) $(rust_arbutil_files) $(prover_direct_includes)

Expand Down Expand Up @@ -145,7 +144,7 @@ push: lint test-go .make/fmt
all: build build-replay-env test-gen-proofs
@touch .make/all

build: $(patsubst %,$(output_root)/bin/%, nitro deploy relay daserver datool seq-coordinator-invalidate nitro-val)
build: $(patsubst %,$(output_root)/bin/%, nitro deploy relay daserver datool seq-coordinator-invalidate nitro-val seq-coordinator-manager)
@printf $(done)

build-node-deps: $(go_source) build-prover-header build-prover-lib build-jit .make/solgen .make/cbrotli-lib
Expand All @@ -164,7 +163,7 @@ build-prover-bin: $(prover_bin)

build-jit: $(arbitrator_jit)

build-replay-env: $(prover_bin) $(arbitrator_jit) $(arbitrator_wasm_libs) $(replay_wasm) $(output_latest)/machine.wavm.br
build-replay-env: $(prover_bin) $(arbitrator_jit) $(arbitrator_wasm_libs) $(replay_wasm) $(output_root)/machines/latest/machine.wavm.br

build-wasm-libs: $(arbitrator_wasm_libs)

Expand Down Expand Up @@ -206,7 +205,7 @@ test-gen-proofs: \
$(patsubst $(arbitrator_cases)/rust/src/bin/%.rs,contracts/test/prover/proofs/rust-%.json, $(arbitrator_tests_rust)) \
contracts/test/prover/proofs/go.json

wasm-ci-build: $(arbitrator_wasm_libs) $(arbitrator_test_wasms) $(stylus_test_wasms) $(output_latest)/user_test.wasm
wasm-ci-build: $(arbitrator_wasm_libs) $(arbitrator_test_wasms) $(stylus_test_wasms) $(output_root)/machines/latest/user_test.wasm
@printf $(done)

clean:
Expand Down Expand Up @@ -254,6 +253,9 @@ $(output_root)/bin/seq-coordinator-invalidate: $(DEP_PREDICATE) build-node-deps
$(output_root)/bin/nitro-val: $(DEP_PREDICATE) build-node-deps
go build $(GOLANG_PARAMS) -o $@ "$(CURDIR)/cmd/nitro-val"

$(output_root)/bin/seq-coordinator-manager: $(DEP_PREDICATE) build-node-deps
go build $(GOLANG_PARAMS) -o $@ "$(CURDIR)/cmd/seq-coordinator-manager"

# recompile wasm, but don't change timestamp unless files differ
$(replay_wasm): $(DEP_PREDICATE) $(go_source) .make/solgen
mkdir -p `dirname $(replay_wasm)`
Expand Down Expand Up @@ -286,7 +288,7 @@ $(arbitrator_generated_header): $(DEP_PREDICATE) $(stylus_files)
cd arbitrator/stylus && cbindgen --config cbindgen.toml --crate stylus --output ../../$(arbitrator_generated_header)
@touch -c $@ # cargo might decide to not rebuild the header

$(output_latest)/wasi_stub.wasm: $(DEP_PREDICATE) $(call wasm_lib_deps,wasi-stub)
$(output_root)/machines/latest/wasi_stub.wasm: $(DEP_PREDICATE) $(call wasm_lib_deps,wasi-stub)
cargo build --manifest-path arbitrator/wasm-libraries/Cargo.toml --release --target wasm32-unknown-unknown --package wasi-stub
install arbitrator/wasm-libraries/$(wasm32_unknown)/wasi_stub.wasm $@

Expand All @@ -305,7 +307,7 @@ arbitrator/wasm-libraries/soft-float/bindings32.o: $(DEP_PREDICATE) arbitrator/w
arbitrator/wasm-libraries/soft-float/bindings64.o: $(DEP_PREDICATE) arbitrator/wasm-libraries/soft-float/bindings64.c
clang arbitrator/wasm-libraries/soft-float/bindings64.c --sysroot $(WASI_SYSROOT) -I arbitrator/wasm-libraries/soft-float/SoftFloat/source/include -target wasm32-wasi -Wconversion -c -o $@

$(output_latest)/soft-float.wasm: $(DEP_PREDICATE) \
$(output_root)/machines/latest/soft-float.wasm: $(DEP_PREDICATE) \
arbitrator/wasm-libraries/soft-float/bindings32.o \
arbitrator/wasm-libraries/soft-float/bindings64.o \
arbitrator/wasm-libraries/soft-float/SoftFloat/build/Wasm-Clang/softfloat.a \
Expand All @@ -328,35 +330,35 @@ $(output_latest)/soft-float.wasm: $(DEP_PREDICATE) \
--export wavm__f32_demote_f64 \
--export wavm__f64_promote_f32

$(output_latest)/go_stub.wasm: $(DEP_PREDICATE) $(call wasm_lib_deps,go-stub) $(wasm_lib_go_abi)
$(output_root)/machines/latest/go_stub.wasm: $(DEP_PREDICATE) $(call wasm_lib_deps,go-stub) $(wasm_lib_go_abi)
cargo build --manifest-path arbitrator/wasm-libraries/Cargo.toml --release --target wasm32-wasi --package go-stub
install arbitrator/wasm-libraries/$(wasm32_wasi)/go_stub.wasm $@

$(output_latest)/host_io.wasm: $(DEP_PREDICATE) $(call wasm_lib_deps,host-io) $(wasm_lib_go_abi)
$(output_root)/machines/latest/host_io.wasm: $(DEP_PREDICATE) $(call wasm_lib_deps,host-io) $(wasm_lib_go_abi)
cargo build --manifest-path arbitrator/wasm-libraries/Cargo.toml --release --target wasm32-wasi --package host-io
install arbitrator/wasm-libraries/$(wasm32_wasi)/host_io.wasm $@

$(output_latest)/user_host.wasm: $(DEP_PREDICATE) $(call wasm_lib_deps,user-host) $(rust_prover_files) $(output_latest)/forward_stub.wasm .make/machines
$(output_root)/machines/latest/user_host.wasm: $(DEP_PREDICATE) $(call wasm_lib_deps,user-host) $(rust_prover_files) $(output_root)/machines/latest/forward_stub.wasm .make/machines
cargo build --manifest-path arbitrator/wasm-libraries/Cargo.toml --release --target wasm32-wasi --package user-host
install arbitrator/wasm-libraries/$(wasm32_wasi)/user_host.wasm $@

$(output_latest)/user_test.wasm: $(DEP_PREDICATE) $(call wasm_lib_deps,user-test) $(rust_prover_files) .make/machines
$(output_root)/machines/latest/user_test.wasm: $(DEP_PREDICATE) $(call wasm_lib_deps,user-test) $(rust_prover_files) .make/machines
cargo build --manifest-path arbitrator/wasm-libraries/Cargo.toml --release --target wasm32-wasi --package user-test
install arbitrator/wasm-libraries/$(wasm32_wasi)/user_test.wasm $@

$(output_latest)/brotli.wasm: $(DEP_PREDICATE) $(call wasm_lib_deps,brotli) $(wasm_lib_go_abi) .make/cbrotli-wasm
$(output_root)/machines/latest/brotli.wasm: $(DEP_PREDICATE) $(call wasm_lib_deps,brotli) $(wasm_lib_go_abi) .make/cbrotli-wasm
cargo build --manifest-path arbitrator/wasm-libraries/Cargo.toml --release --target wasm32-wasi --package brotli
install arbitrator/wasm-libraries/$(wasm32_wasi)/brotli.wasm $@

$(output_latest)/forward.wasm: $(DEP_PREDICATE) $(wasm_lib)/user-host/forward.wat .make/machines
$(output_root)/machines/latest/forward.wasm: $(DEP_PREDICATE) $(wasm_lib)/user-host/forward.wat .make/machines
wat2wasm $(wasm_lib)/user-host/forward.wat -o $@

$(output_latest)/forward_stub.wasm: $(DEP_PREDICATE) $(wasm_lib)/user-host/forward_stub.wat .make/machines
$(output_root)/machines/latest/forward_stub.wasm: $(DEP_PREDICATE) $(wasm_lib)/user-host/forward_stub.wat .make/machines
wat2wasm $(wasm_lib)/user-host/forward_stub.wat -o $@

$(output_latest)/machine.wavm.br: $(DEP_PREDICATE) $(prover_bin) $(arbitrator_wasm_libs) $(replay_wasm)
$(prover_bin) $(replay_wasm) --generate-binaries $(output_latest) \
$(patsubst %,-l $(output_latest)/%.wasm, forward soft-float wasi_stub go_stub host_io user_host brotli)
$(output_root)/machines/latest/machine.wavm.br: $(DEP_PREDICATE) $(prover_bin) $(arbitrator_wasm_libs) $(replay_wasm)
$(prover_bin) $(replay_wasm) --generate-binaries $(output_root)/machines/latest \
$(patsubst %,-l $(output_root)/machines/latest/%.wasm, forward soft-float wasi_stub go_stub host_io user_host brotli)

$(arbitrator_cases)/%.wasm: $(arbitrator_cases)/%.wat
wat2wasm $< -o $@
Expand Down Expand Up @@ -408,8 +410,8 @@ $(stylus_test_erc20_wasm): $(stylus_test_erc20_src)
$(cargo_nightly) --manifest-path $< --release --config $(stylus_cargo)
@touch -c $@ # cargo might decide to not rebuild the binary

contracts/test/prover/proofs/float%.json: $(arbitrator_cases)/float%.wasm $(prover_bin) $(output_latest)/soft-float.wasm
$(prover_bin) $< -l $(output_latest)/soft-float.wasm -o $@ -b --allow-hostapi --require-success --always-merkleize
contracts/test/prover/proofs/float%.json: $(arbitrator_cases)/float%.wasm $(prover_bin) $(output_root)/machines/latest/soft-float.wasm
$(prover_bin) $< -l $(output_root)/machines/latest/soft-float.wasm -o $@ -b --allow-hostapi --require-success --always-merkleize

contracts/test/prover/proofs/no-stack-pollution.json: $(arbitrator_cases)/no-stack-pollution.wasm $(prover_bin)
$(prover_bin) $< -o $@ --allow-hostapi --require-success --always-merkleize
Expand All @@ -418,7 +420,7 @@ contracts/test/prover/proofs/rust-%.json: $(arbitrator_cases)/rust/$(wasm32_wasi
$(prover_bin) $< $(arbitrator_wasm_lib_flags_nogo) -o $@ -b --allow-hostapi --require-success --inbox-add-stub-headers --inbox $(arbitrator_cases)/rust/data/msg0.bin --inbox $(arbitrator_cases)/rust/data/msg1.bin --delayed-inbox $(arbitrator_cases)/rust/data/msg0.bin --delayed-inbox $(arbitrator_cases)/rust/data/msg1.bin --preimages $(arbitrator_cases)/rust/data/preimages.bin

contracts/test/prover/proofs/go.json: $(arbitrator_cases)/go/main $(prover_bin) $(arbitrator_wasm_libs)
$(prover_bin) $< $(arbitrator_wasm_lib_flags) -o $@ -i 5000000 --require-success
$(prover_bin) $< $(arbitrator_wasm_lib_flags) -o $@ -i 5000000 --require-success --preimages $(arbitrator_cases)/rust/data/preimages.bin

# avoid testing read-inboxmsg-10 in onestepproofs. It's used for go challenge testing.
contracts/test/prover/proofs/read-inboxmsg-10.json:
Expand All @@ -445,7 +447,8 @@ contracts/test/prover/proofs/%.json: $(arbitrator_cases)/%.wasm $(prover_bin)
# strategic rules to minimize dependency building

.make/lint: $(DEP_PREDICATE) build-node-deps $(ORDER_ONLY_PREDICATE) .make
go run linter/pointercheck/pointer.go ./...
go run ./linter/koanf ./...
go run ./linter/pointercheck ./...
golangci-lint run --fix
yarn --cwd contracts solhint
@touch $@
Expand Down Expand Up @@ -495,7 +498,7 @@ contracts/test/prover/proofs/%.json: $(arbitrator_cases)/%.wasm $(prover_bin)
@touch $@

.make/machines: $(DEP_PREDICATE) $(ORDER_ONLY_PREDICATE) .make
mkdir -p $(output_latest)
mkdir -p $(output_root)/machines/latest
touch $@

.make:
Expand Down
2 changes: 1 addition & 1 deletion arbcompress/compress_cgo.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ func Decompress(input []byte, maxSize int) ([]byte, error) {
return outbuf[:outsize], nil
}

func compressLevel(input []byte, level int) ([]byte, error) {
func compressLevel(input []byte, level uint32) ([]byte, error) {
maxOutSize := compressedBufferSizeFor(len(input))
outbuf := make([]byte, maxOutSize)
outSize := C.size_t(maxOutSize)
Expand Down
5 changes: 2 additions & 3 deletions arbcompress/compress_common.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,13 @@ const (
BrotliSuccess
)

const LEVEL_FAST = 0
const LEVEL_WELL = 11
const WINDOW_SIZE = 22 // BROTLI_DEFAULT_WINDOW

func compressedBufferSizeFor(length int) int {
return length + (length>>10)*8 + 64 // actual limit is: length + (length >> 14) * 4 + 6
}

func CompressFast(input []byte) ([]byte, error) {
return compressLevel(input, LEVEL_FAST)
func CompressLevel(input []byte, level int) ([]byte, error) {
return compressLevel(input, uint32(level))
}
2 changes: 1 addition & 1 deletion arbcompress/compress_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ func testCompressDecompress(t *testing.T, data []byte) {
}
testDecompress(t, compressedWell, data)

compressedFast, err := CompressFast(data)
compressedFast, err := CompressLevel(data, 0)
if err != nil {
t.Fatal(err)
}
Expand Down
Loading
Loading