Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
310 commits
Select commit Hold shift + click to select a range
e1ce7d6
remove reflection
rachel-bousfield May 31, 2022
aa160a4
fix l1 estimation
rachel-bousfield May 31, 2022
c58693d
Merge branch 'master' into gas-estimate-components
rachel-bousfield May 31, 2022
0b6bcda
lower GethBlockGasLimit to 2^50
rachel-bousfield May 31, 2022
00b2aef
add ignoreTo field
rachel-bousfield May 31, 2022
dd20dba
Implement new batch fetching scheme for automatic L1 gas pricing
PlasmaPower May 31, 2022
7cb27c0
Rotate CI docker cache key
PlasmaPower May 31, 2022
cb99312
change cache key for CI
rachel-bousfield Jun 1, 2022
4551ef6
change cache key for CI
rachel-bousfield Jun 1, 2022
4e00b40
touch up math
rachel-bousfield Jun 1, 2022
5fac5de
time deltas
rachel-bousfield Jun 1, 2022
86222fa
update CI cache key
rachel-bousfield Jun 1, 2022
24bed53
Merge branch 'master' into wasm-testsuite
rachel-bousfield Jun 1, 2022
6c21818
Merge pull request #650 from OffchainLabs/auto-l1-gas-batch-reading
edfelten Jun 1, 2022
9542ab3
Change retryable refund calculation
PlasmaPower Jun 1, 2022
93e50e5
Rotate CI docker cache key
PlasmaPower Jun 1, 2022
5c3ae7b
Merge pull request #651 from OffchainLabs/automatic-l1-gas-pricing-ar…
edfelten Jun 2, 2022
01b594c
Remove unneeded version check
edfelten Jun 2, 2022
fcd6049
Don't attempt to refund more than From balance
PlasmaPower Jun 2, 2022
d0f071b
Address some code review comments
edfelten Jun 2, 2022
d9360b3
Merge branch 'master' into automatic-l1-gas-pricing
edfelten Jun 2, 2022
3a8bcd4
Merge branch 'master' into automatic-l1-gas-pricing
edfelten Jun 3, 2022
3042af3
Fix bug
edfelten Jun 3, 2022
81e86cf
Refactor and rename
edfelten Jun 4, 2022
655c0c1
Use AddressSet in BatchPosterTable
edfelten Jun 4, 2022
ffde9e8
Add ArbOwner methods to control params
edfelten Jun 4, 2022
aab358f
Merge branch 'master' into automatic-l1-gas-pricing
edfelten Jun 4, 2022
b20b70f
Merge branch 'devnet-reinit-1' into automatic-l1-gas-pricing
edfelten Jun 4, 2022
62f40ab
Add test and fix bugs
edfelten Jun 4, 2022
af563be
Send report message from L1
edfelten Jun 4, 2022
7b45d03
Update submodule pin
edfelten Jun 6, 2022
eb0aacb
Debugging WIP
edfelten Jun 6, 2022
dd1cf9a
commit to make PR possible
rachel-bousfield Jun 6, 2022
05c9da1
Merge branch 'devnet-reinit-1' into lower-geth-block-gas-limit
hkalodner Jun 9, 2022
7967be3
remove tips
rachel-bousfield Jun 9, 2022
cba2b95
update docs
rachel-bousfield Jun 9, 2022
a0dc784
Don't post a batch if the only contents are a batch posting report
PlasmaPower Jun 9, 2022
01ffb2a
Merge branch 'master' into redo-devnet-reinit-1
rachel-bousfield Jun 9, 2022
6702794
Merge branch 'redo-devnet-reinit-1' into remove-tips
rachel-bousfield Jun 9, 2022
97d67e3
Fix batch posting receipt preimage resolution when preimages disabled
PlasmaPower Jun 9, 2022
79b672d
Wait for only the last useful block in block validator test
PlasmaPower Jun 9, 2022
0975aef
use 4 byte method selectors instead of internaltx subtypes
rachel-bousfield Jun 9, 2022
0de60c1
misc math tweak
rachel-bousfield Jun 9, 2022
48b70be
Restore erroneously commented-out code
edfelten Jun 9, 2022
80f77b3
Remove old ArbOS versions and their behaviors
PlasmaPower Jun 10, 2022
9e485bd
update geth pin
rachel-bousfield Jun 10, 2022
6ee205b
Merge branch 'devnet-reinit-1' into wasm-testsuite
rachel-bousfield Jun 10, 2022
1597d71
Remove BLS key registration functionality
edfelten Jun 10, 2022
97af495
Remove all methods from ArbBLS precompile
edfelten Jun 10, 2022
c1866db
address review comments
rachel-bousfield Jun 10, 2022
2a09343
Merge pull request #684 from OffchainLabs/remove-bls-key-registration
rachel-bousfield Jun 10, 2022
edd1c1d
Merge pull request #681 from OffchainLabs/remove-internaltx-subtype
edfelten Jun 10, 2022
8f90620
Merge pull request #680 from OffchainLabs/dont-post-forever
rachel-bousfield Jun 10, 2022
ffb27e7
fix tests
rachel-bousfield Jun 10, 2022
c1c88a6
Merge branch 'devnet-reinit-1' into missing-copy
fredlacs Jun 10, 2022
9ddde5a
Remove unused WAVM opcodes
PlasmaPower Jun 10, 2022
6538243
Merge branch 'redo-devnet-reinit-1' into missing-copy
PlasmaPower Jun 10, 2022
b03117f
Merge pull request #636 from OffchainLabs/missing-copy
yahgwai Jun 10, 2022
36cfb20
Improve test and fix bug
edfelten Jun 13, 2022
93a29e1
end-to-end test & TestSequencerFeePaid + fix
rachel-bousfield Jun 13, 2022
ce0106d
Merge pull request #649 from OffchainLabs/lower-geth-block-gas-limit
PlasmaPower Jun 13, 2022
a817101
Merge branch 'master' into gas-estimate-components
PlasmaPower Jun 13, 2022
63111d1
Fix math import (broken in merge)
PlasmaPower Jun 13, 2022
ebbd284
automatically add posters & fix SetPricePerUnit bug
rachel-bousfield Jun 13, 2022
874ec66
Correct regression in this branch
edfelten Jun 14, 2022
6d8c634
store genesisblocknumber
tsahee May 31, 2022
d865a33
format fix
tsahee Jun 14, 2022
89fc658
fix ts tests
tsahee May 31, 2022
931dce5
update geth
rachel-bousfield Jun 14, 2022
9fe2fd0
Merge branch 'master' into redo-devnet-reinit-1
rachel-bousfield Jun 14, 2022
a69ff1a
cliptopostnitro fix
tsahee Jun 14, 2022
8b0e289
geth update
tsahee Jun 14, 2022
b399647
Merge branch 'redo-devnet-reinit-1' into remove-tips
rachel-bousfield Jun 14, 2022
cd87672
bugfix: chainConfig on init
tsahee Jun 14, 2022
e0006d2
Merge pull request #678 from OffchainLabs/remove-tips
rachel-bousfield Jun 14, 2022
08546d4
Merge branch 'redo-devnet-reinit-1' into rm-old-arbos
PlasmaPower Jun 14, 2022
888e08f
Merge branch 'master' into redo-devnet-reinit-1
PlasmaPower Jun 14, 2022
d1f9d12
Debugging and fixes WIP
edfelten Jun 14, 2022
837dec9
refactor: tag delayed inbox explicitly as delayed in bridge variables
fredlacs Jun 15, 2022
641b2fd
refactor: move sequencer accumulator to bridge contract
fredlacs Jun 15, 2022
8195ef8
refactor: handle batch spending report in bridge contract after seque…
fredlacs Jun 15, 2022
7e4f471
cleanup and add affordances for handling sequencer inbox in bridge
fredlacs Jun 15, 2022
ab72ad6
reference only bridge contract for accumulators in OSP
fredlacs Jun 15, 2022
fe28a47
add rollup admin setter
fredlacs Jun 15, 2022
cbb31c0
Merge pull request #690 from OffchainLabs/l1-gas-pricing-e2e-test
edfelten Jun 15, 2022
b53c73e
Merge branch 'redo-devnet-reinit-1' into automatic-l1-gas-pricing
edfelten Jun 15, 2022
c14f7af
Merge branch 'master' into redo-devnet-reinit-1
PlasmaPower Jun 15, 2022
0a1905a
Merge integration
edfelten Jun 15, 2022
4d05038
Add wasmModuleRoot to rollup node hash
PlasmaPower Jun 15, 2022
1bf907f
feat: emit delayed message delivered event in sequencer inbox
fredlacs Jun 15, 2022
420b95a
fix: don't submit batch spending when batch not submitted from origin
fredlacs Jun 15, 2022
e66dda7
fix: undo breaking change to delayed inbox event
fredlacs Jun 15, 2022
782d1aa
Add ArbOS version to header mix digest field
PlasmaPower Jun 15, 2022
2702bb4
Merge branch 'master' into redo-devnet-reinit-1
PlasmaPower Jun 15, 2022
5743c5d
Fix test
edfelten Jun 15, 2022
5e8fd92
remove genesisblocknum from initmsg
tsahee Jun 15, 2022
5ad5fdf
Merge branch 'redo-devnet-reinit-1' into genesisblock
PlasmaPower Jun 15, 2022
5e37723
update variable name references
fredlacs Jun 15, 2022
58ebb9b
Merge pull request #691 from OffchainLabs/genesisblock
PlasmaPower Jun 15, 2022
d2d6bcd
Remove outdated comment in GetGenesisBlockNumber
PlasmaPower Jun 15, 2022
536639b
add useful misc contract addresses to rollup
fredlacs Jun 15, 2022
909f6bc
update go node smart contract references
fredlacs Jun 15, 2022
b735bea
fix hardhat tests
fredlacs Jun 15, 2022
95ac76b
Update bridge contract natspec
fredlacs Jun 15, 2022
5febfe1
Merge branch 'automatic-l1-gas-pricing' into refactor-accumulator-flow
PlasmaPower Jun 16, 2022
b8f66e1
Fix sequencer inbox reader test
PlasmaPower Jun 16, 2022
adfc003
Move address aliasing from L2 to L1
PlasmaPower Jun 16, 2022
2f5b441
refactor: avoid calldata to memory copy in sequencer inbox when not a…
fredlacs Jun 16, 2022
5dfc6f6
refactor: use modifier to validate batch correctness for das
fredlacs Jun 16, 2022
99a1371
refactor: track das keysets in struct
fredlacs Jun 16, 2022
be47f36
fix das byte check and add other batch validation logic to modifier
fredlacs Jun 16, 2022
9e9a313
add data length check
fredlacs Jun 16, 2022
aa4f18e
remove overflow check not needed in solc >=0.8
fredlacs Jun 16, 2022
d57e4a4
fix error name
fredlacs Jun 16, 2022
960ea5c
synchronize deletion of creation block
fredlacs Jun 16, 2022
07339b9
fix length check
fredlacs Jun 16, 2022
a1284d1
refactor das block creation to list every block a keyset was updated
fredlacs Jun 16, 2022
c03848c
docs: comment around 33 magic value
fredlacs Jun 16, 2022
a32123c
Revert "refactor das block creation to list every block a keyset was …
fredlacs Jun 16, 2022
6c84471
Revert "synchronize deletion of creation block"
fredlacs Jun 16, 2022
23e4530
add comments explaining code expectations
fredlacs Jun 16, 2022
9d956c0
use high level solidity for concat of bytes
fredlacs Jun 16, 2022
77923a0
clarify docs
fredlacs Jun 16, 2022
7d2e549
refactor inbox aliasing
fredlacs Jun 16, 2022
aa84e89
fix force inclusion test
fredlacs Jun 16, 2022
a7aff1f
Merge branch 'alias-on-l1' into refcactor-apply-alias
fredlacs Jun 16, 2022
8dee167
Merge pull request #693 from OffchainLabs/node-hash-wasm-root
PlasmaPower Jun 16, 2022
77b0eef
Merge pull request #699 from OffchainLabs/refcactor-apply-alias
PlasmaPower Jun 16, 2022
2fe1374
Merge pull request #697 from OffchainLabs/alias-on-l1
PlasmaPower Jun 16, 2022
e7b3d85
Merge pull request #698 from OffchainLabs/refactor-sequencer-das
PlasmaPower Jun 16, 2022
c81e911
Use coinbase to determine reimbursability
edfelten Jun 16, 2022
51a2d8d
Remove spurious _reportBatchSpending
edfelten Jun 16, 2022
0ab910c
Refactor
edfelten Jun 16, 2022
807c6ed
Merge branch 'redo-devnet-reinit-1' into arbos-version-in-header
PlasmaPower Jun 16, 2022
7691541
Merge pull request #694 from OffchainLabs/arbos-version-in-header
PlasmaPower Jun 16, 2022
d934588
address review comments
rachel-bousfield Jun 17, 2022
c5fb345
Merge branch 'wasm-testsuite' into rm-unused-opcodes
rachel-bousfield Jun 17, 2022
dddde4b
remove wavm blocks
rachel-bousfield Jun 17, 2022
13b907d
Merge pull request #686 from OffchainLabs/rm-unused-opcodes
rachel-bousfield Jun 17, 2022
c9f17af
Merge pull request #700 from OffchainLabs/rm-wavm-blocks
PlasmaPower Jun 17, 2022
13baf87
use remote types
rachel-bousfield Jun 17, 2022
d7ac453
Merge pull request #696 from OffchainLabs/rm-outdated-comment
rachel-bousfield Jun 17, 2022
c38ed79
Address PR comments
PlasmaPower Jun 17, 2022
06155c6
Merge branch 'redo-devnet-reinit-1' into rm-old-arbos
PlasmaPower Jun 17, 2022
4c888fe
Merge branch 'master' into redo-devnet-reinit-1
PlasmaPower Jun 17, 2022
bab3696
Merge branch 'redo-devnet-reinit-1' into rm-old-arbos
PlasmaPower Jun 17, 2022
1125114
Merge pull request #701 from OffchainLabs/arbitrator-remote-type-todos
PlasmaPower Jun 17, 2022
8032aed
Merge branch 'redo-devnet-reinit-1' into automatic-l1-gas-pricing
PlasmaPower Jun 17, 2022
db44509
Fix merge
PlasmaPower Jun 17, 2022
b7cf8e9
Merge branch 'automatic-l1-gas-pricing' into refactor-accumulator-flow
PlasmaPower Jun 17, 2022
ac2031e
update geth
rachel-bousfield Jun 17, 2022
d76dd08
Remove unused DropTip method (was used before merge)
PlasmaPower Jun 17, 2022
101c211
Merge pull request #683 from OffchainLabs/rm-old-arbos
rachel-bousfield Jun 17, 2022
067558b
Merge branch 'redo-devnet-reinit-1' into automatic-l1-gas-pricing
PlasmaPower Jun 17, 2022
291bcbd
Fix sequencer inbox force include test
PlasmaPower Jun 17, 2022
025636f
Merge branch 'automatic-l1-gas-pricing' into refactor-accumulator-flow
PlasmaPower Jun 17, 2022
72680ae
Fix sequencer inbox force include test from merge
PlasmaPower Jun 17, 2022
16cb33f
Merge remote-tracking branch 'origin/redo-devnet-reinit-1' into wasm-…
rachel-bousfield Jun 17, 2022
2d2593b
address review commetns
rachel-bousfield Jun 17, 2022
1105cd4
fix osp type
rachel-bousfield Jun 17, 2022
0783c83
Merge pull request #586 from OffchainLabs/wasm-testsuite
PlasmaPower Jun 17, 2022
1e6f138
Commit for merge
edfelten Jun 17, 2022
1c3883b
Merge branch 'automatic-l1-gas-pricing' of github.com:OffchainLabs/ni…
edfelten Jun 17, 2022
502b79c
update geth pin
edfelten Jun 17, 2022
6332df5
Don't create poster based on untrusted call
edfelten Jun 17, 2022
82a1de9
Fixes from code review
edfelten Jun 17, 2022
830bf09
Merge branch 'redo-devnet-reinit-1' into retryable-refund-changes
PlasmaPower Jun 17, 2022
1381b76
Merge branch 'redo-devnet-reinit-1' into automatic-l1-gas-pricing
edfelten Jun 17, 2022
209ee9b
Backport sequencer inbox reader test flakiness fix
PlasmaPower Jun 16, 2022
1cb2b9e
Charge L1 gas for eth_calls
PlasmaPower Jun 17, 2022
d54f53e
Fix one step proof tests with inbox changes
PlasmaPower Jun 17, 2022
3f4939d
Merge pull request #585 from OffchainLabs/automatic-l1-gas-pricing
PlasmaPower Jun 18, 2022
a0e6fc5
Document the L1 pricing algorithm
edfelten Jun 18, 2022
19b6715
Merge branch 'redo-devnet-reinit-1' into retryable-refund-changes
PlasmaPower Jun 18, 2022
7ea1a9e
respond to pr comments
fredlacs Jun 20, 2022
6f6c340
Merge branch 'redo-devnet-reinit-1' into refactor-accumulator-flow
PlasmaPower Jun 20, 2022
61182a3
Charge retryable L1 deposit before L2 balance
PlasmaPower Jun 20, 2022
1397c53
Fix geth submodule pin
PlasmaPower Jun 20, 2022
6ce8e94
Fix retryable test flakiness with batch posting reports
PlasmaPower Jun 21, 2022
0dc2975
Update blockscout pin for new ABIs
PlasmaPower Jun 21, 2022
ac12a6b
minor documentation tweaks
rachel-bousfield Jun 21, 2022
ffe898f
Merge pull request #702 from OffchainLabs/update-l1-pricing-documenta…
rachel-bousfield Jun 21, 2022
6c6d20c
Add getCurrentRedeemer method and test for it
PlasmaPower Jun 21, 2022
756ed4f
Merge branch 'redo-devnet-reinit-1' into retryable-refund-changes
PlasmaPower Jun 21, 2022
80c8f9d
Optimize retryable deposit check
PlasmaPower Jun 21, 2022
2851588
Add info to BadSequencerNumber error
PlasmaPower Jun 21, 2022
84542a0
Implement enqueueSequencerMessage in BridgeStub
PlasmaPower Jun 21, 2022
51e9b97
Merge branch 'redo-devnet-reinit-1' into refactor-accumulator-flow
PlasmaPower Jun 21, 2022
3e81710
Fix one step proof JS test with parameter changes
PlasmaPower Jun 21, 2022
28681aa
Merge branch 'master' into redo-devnet-reinit-1
PlasmaPower Jun 21, 2022
f598b4f
Merge branch 'redo-devnet-reinit-1' into retryable-refund-changes
PlasmaPower Jun 21, 2022
9d24814
Fix retryable test race condition
PlasmaPower Jun 21, 2022
4b3577f
Merge remote-tracking branch 'origin/redo-devnet-reinit-1' into gas-e…
rachel-bousfield Jun 22, 2022
d5acf17
use msg fields
rachel-bousfield Jun 22, 2022
d37a2a7
add batch posting report overhead
rachel-bousfield Jun 22, 2022
52e0614
Merge branch 'redo-devnet-reinit-1' into refactor-accumulator-flow
hkalodner Jun 22, 2022
1503847
Merge pull request #692 from OffchainLabs/refactor-accumulator-flow
PlasmaPower Jun 22, 2022
f6c7f7f
Merge branch 'redo-devnet-reinit-1' into retryable-refund-changes
PlasmaPower Jun 22, 2022
a491e29
Fix solidity formatting
PlasmaPower Jun 22, 2022
5463a81
reintroduce To and make method payable
rachel-bousfield Jun 22, 2022
738d272
padding constant & return uint256's
rachel-bousfield Jun 22, 2022
d1de7b0
eth_call vs eth_gasEstimate comments
rachel-bousfield Jun 22, 2022
95cfba7
Merge branch 'redo-devnet-reinit-1' into gas-estimate-components
rachel-bousfield Jun 22, 2022
2112526
update geth
rachel-bousfield Jun 22, 2022
b62f795
Merge branch 'master' into redo-devnet-reinit-1
PlasmaPower Jun 22, 2022
2a3eec1
Merge branch 'redo-devnet-reinit-1' into retryable-refund-changes
PlasmaPower Jun 22, 2022
6ab38aa
Merge pull request #704 from OffchainLabs/batch-posting-report-overhead
PlasmaPower Jun 22, 2022
4734639
Merge branch 'redo-devnet-reinit-1' into retryable-refund-changes
PlasmaPower Jun 22, 2022
c96a6e0
Refund submission fee on successful auto-redeems
PlasmaPower Jun 22, 2022
f6478dc
Disable parallel tests in CI to reduce race conditions
PlasmaPower Jun 22, 2022
9de86b9
Use consistent syntax in test options (and test CI again)
PlasmaPower Jun 22, 2022
99887cd
fix typo
rachel-bousfield Jun 22, 2022
6fb3241
Merge pull request #648 from OffchainLabs/gas-estimate-components
PlasmaPower Jun 22, 2022
c5173f0
Merge branch 'redo-devnet-reinit-1' into retryable-refund-changes
PlasmaPower Jun 22, 2022
340162a
Update geth pin
PlasmaPower Jun 22, 2022
1229712
Increase EnsureTxSucceeded timeout
PlasmaPower Jun 22, 2022
81e068a
Address PR comments
PlasmaPower Jun 22, 2022
6f6dd89
Merge branch 'master' into merge-master-reinit
PlasmaPower Jun 22, 2022
613c4da
Add comment describing GetPosterInfo return values
PlasmaPower Jun 22, 2022
067883e
Merge pull request #708 from OffchainLabs/merge-master-reinit
PlasmaPower Jun 22, 2022
b8d46ac
Merge branch 'redo-devnet-reinit-1' into retryable-refund-changes
PlasmaPower Jun 22, 2022
44c38da
Update geth pin
PlasmaPower Jun 22, 2022
4822d8a
restrict component estimation
rachel-bousfield Jun 23, 2022
e2737f2
add txTimeout option
rachel-bousfield Jun 23, 2022
584f0d5
Track the rollup address in the bridge
PlasmaPower Jun 23, 2022
99ef8ee
Merge pull request #654 from OffchainLabs/retryable-refund-changes
rachel-bousfield Jun 23, 2022
c7537a5
Merge branch 'redo-devnet-reinit-1' into bridge-knows-rollup
PlasmaPower Jun 23, 2022
1289451
Fix sequencerInboxForceInclude test
PlasmaPower Jun 23, 2022
69381ca
Merge pull request #710 from OffchainLabs/deploy-txtimeout-config
PlasmaPower Jun 23, 2022
b90f606
Temporarily disable unsafe retryable entrypoints
PlasmaPower Jun 23, 2022
cb6d406
Add transaction sender whitelist to sequencer
PlasmaPower Jun 23, 2022
c0aa4dd
Merge branch 'redo-devnet-reinit-1' into sequencer-whitelist
PlasmaPower Jun 23, 2022
2fbd391
Merge pull request #709 from OffchainLabs/restrict-component-estimation
PlasmaPower Jun 23, 2022
9df3b13
Merge branch 'redo-devnet-reinit-1' into sequencer-whitelist
PlasmaPower Jun 23, 2022
1f48948
Fix outbox optimization test
PlasmaPower Jun 23, 2022
14c33ea
add cli flags for sequencer and rollup owner addresses
rachel-bousfield Jun 23, 2022
9ca654e
Merge pull request #711 from OffchainLabs/bridge-knows-rollup
PlasmaPower Jun 23, 2022
ee423df
Merge pull request #712 from OffchainLabs/disable-unsafe-retryables
PlasmaPower Jun 23, 2022
bcbc8af
Add sequencer whitelist test
PlasmaPower Jun 23, 2022
80bcb0e
Merge branch 'redo-devnet-reinit-1' into sequencer-whitelist
PlasmaPower Jun 23, 2022
ae60bc6
Merge pull request #714 from OffchainLabs/sequencer-and-owner-flags
PlasmaPower Jun 23, 2022
8cc6c27
Merge branch 'redo-devnet-reinit-1' into sequencer-whitelist
PlasmaPower Jun 23, 2022
f96577b
Merge pull request #713 from OffchainLabs/sequencer-whitelist
rachel-bousfield Jun 23, 2022
ce55183
Update go-ethereum
hkalodner Jun 23, 2022
1950aab
Merge pull request #715 from OffchainLabs/add-chain-config
PlasmaPower Jun 23, 2022
6c5de66
test retries
rachel-bousfield Jun 23, 2022
a0eba8d
fix sequencer bug
rachel-bousfield Jun 23, 2022
327c1ab
remove NOT_STAKED loop
rachel-bousfield Jun 23, 2022
f419338
Fix test retry condition
PlasmaPower Jun 24, 2022
9b1c701
Merge pull request #716 from OffchainLabs/staker-test-fixes
PlasmaPower Jun 24, 2022
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
2 changes: 1 addition & 1 deletion .github/workflows/arbitrator-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ jobs:
uses: actions-rs/cargo@v1
with:
command: clippy
args: --all --manifest-path arbitrator/Cargo.toml
args: --all --manifest-path arbitrator/Cargo.toml -- -D warnings

- name: Run rust tests
uses: actions-rs/cargo@v1
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ jobs:
skip-pkg-cache: true

- name: run tests with race detection
run: gotestsum --format short-verbose --jsonfile test-output-withrace.json -- -race ./...
run: gotestsum --format short-verbose --jsonfile test-output-withrace.json -- ./... -race -parallel=1

- name: Annotate tests with race detection
if: always()
Expand All @@ -146,7 +146,7 @@ jobs:

- name: run tests without race detection
if: always()
run: gotestsum --format short-verbose --jsonfile test-output.json -- ./... -coverprofile=coverage.txt -covermode=atomic -coverpkg=./...,./go-ethereum/...
run: gotestsum --format short-verbose --jsonfile test-output.json -- ./... -coverprofile=coverage.txt -covermode=atomic -coverpkg=./...,./go-ethereum/... -parallel=1

- name: Annotate tests without race detection
if: always()
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ contracts/cache/
solgen/go/
contracts/deployments/
contracts/test/prover/proofs/*.json
contracts/test/prover/spec-proofs/*.json
.make/
/cmd/statetransfer/statetransfer
/reproducible-wasm/*.wasm
Expand Down
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,6 @@
[submodule "blockscout"]
path = blockscout
url = https://github.com/OffchainLabs/blockscout.git
[submodule "arbitrator/wasm-testsuite/testsuite"]
path = arbitrator/wasm-testsuite/testsuite
url = https://github.com/WebAssembly/testsuite.git
1 change: 1 addition & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
apt-get install -y make && \
cargo install --force cbindgen
COPY arbitrator/Cargo.* arbitrator/cbindgen.toml arbitrator/
COPY arbitrator/prover/Cargo.toml arbitrator/prover/
COPY ./Makefile ./
COPY arbitrator/prover arbitrator/prover
RUN NITRO_BUILD_IGNORE_TIMESTAMPS=1 make build-prover-header
Expand Down
70 changes: 13 additions & 57 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -118,8 +118,9 @@ clean:
rm -rf arbitrator/prover/test-cases/rust/target
rm -f arbitrator/prover/test-cases/*.wasm
rm -f arbitrator/prover/test-cases/go/main
rm -rf arbitrator/wasm-testsuite/tests
rm -rf $(output_root)
rm -f contracts/test/prover/proofs/*.json
rm -f contracts/test/prover/proofs/*.json contracts/test/prover/spec-proofs/*.json
rm -rf arbitrator/target
rm -rf arbitrator/wasm-libraries/target
rm -f arbitrator/wasm-libraries/soft-float/soft-float.wasm
Expand Down Expand Up @@ -214,62 +215,16 @@ $(output_root)/machines/latest/soft-float.wasm: $(DEP_PREDICATE) \
arbitrator/wasm-libraries/soft-float/bindings64.o \
arbitrator/wasm-libraries/soft-float/SoftFloat/build/Wasm-Clang/*.o \
--no-entry -o $@ \
--export wavm__f32_abs \
--export wavm__f32_neg \
--export wavm__f32_ceil \
--export wavm__f32_floor \
--export wavm__f32_trunc \
--export wavm__f32_nearest \
--export wavm__f32_sqrt \
--export wavm__f32_add \
--export wavm__f32_sub \
--export wavm__f32_mul \
--export wavm__f32_div \
--export wavm__f32_min \
--export wavm__f32_max \
--export wavm__f32_copysign \
--export wavm__f32_eq \
--export wavm__f32_ne \
--export wavm__f32_lt \
--export wavm__f32_le \
--export wavm__f32_gt \
--export wavm__f32_ge \
--export wavm__i32_trunc_f32_s \
--export wavm__i32_trunc_f32_u \
--export wavm__i64_trunc_f32_s \
--export wavm__i64_trunc_f32_u \
--export wavm__f32_convert_i32_s \
--export wavm__f32_convert_i32_u \
--export wavm__f32_convert_i64_s \
--export wavm__f32_convert_i64_u \
--export wavm__f64_abs \
--export wavm__f64_neg \
--export wavm__f64_ceil \
--export wavm__f64_floor \
--export wavm__f64_trunc \
--export wavm__f64_nearest \
--export wavm__f64_sqrt \
--export wavm__f64_add \
--export wavm__f64_sub \
--export wavm__f64_mul \
--export wavm__f64_div \
--export wavm__f64_min \
--export wavm__f64_max \
--export wavm__f64_copysign \
--export wavm__f64_eq \
--export wavm__f64_ne \
--export wavm__f64_lt \
--export wavm__f64_le \
--export wavm__f64_gt \
--export wavm__f64_ge \
--export wavm__i32_trunc_f64_s \
--export wavm__i32_trunc_f64_u \
--export wavm__i64_trunc_f64_s \
--export wavm__i64_trunc_f64_u \
--export wavm__f64_convert_i32_s \
--export wavm__f64_convert_i32_u \
--export wavm__f64_convert_i64_s \
--export wavm__f64_convert_i64_u \
$(patsubst %,--export wavm__f32_%, abs neg ceil floor trunc nearest sqrt add sub mul div min max) \
$(patsubst %,--export wavm__f32_%, copysign eq ne lt le gt ge) \
$(patsubst %,--export wavm__f64_%, abs neg ceil floor trunc nearest sqrt add sub mul div min max) \
$(patsubst %,--export wavm__f64_%, copysign eq ne lt le gt ge) \
$(patsubst %,--export wavm__i32_trunc_%, f32_s f32_u f64_s f64_u) \
$(patsubst %,--export wavm__i32_trunc_sat_%, f32_s f32_u f64_s f64_u) \
$(patsubst %,--export wavm__i64_trunc_%, f32_s f32_u f64_s f64_u) \
$(patsubst %,--export wavm__i64_trunc_sat_%, f32_s f32_u f64_s f64_u) \
$(patsubst %,--export wavm__f32_convert_%, i32_s i32_u i64_s i64_u) \
$(patsubst %,--export wavm__f64_convert_%, i32_s i32_u i64_s i64_u) \
--export wavm__f32_demote_f64 \
--export wavm__f64_promote_f32

Expand Down Expand Up @@ -323,6 +278,7 @@ contracts/test/prover/proofs/%.json: arbitrator/prover/test-cases/%.wasm $(arbit
.make/fmt: $(DEP_PREDICATE) build-node-deps .make/yarndeps $(ORDER_ONLY_PREDICATE) .make
golangci-lint run --disable-all -E gofmt --fix
cargo fmt --all --manifest-path arbitrator/Cargo.toml -- --check
cargo fmt --all --manifest-path arbitrator/wasm-testsuite/Cargo.toml -- --check
yarn --cwd contracts prettier:solidity
@touch $@

Expand Down
2 changes: 1 addition & 1 deletion arbitrator/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[workspace]
members = [
"prover",
"prover",
]

[profile.release]
Expand Down
1 change: 1 addition & 0 deletions arbitrator/prover/fuzz/fuzz_targets/osp.rs
Original file line number Diff line number Diff line change
Expand Up @@ -187,6 +187,7 @@ fn fuzz_impl(data: &[u8]) -> Result<()> {
&[],
wavm_binary,
true,
true,
false,
GlobalState::default(),
Default::default(),
Expand Down
15 changes: 8 additions & 7 deletions arbitrator/prover/src/binary.rs
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,8 @@ pub enum FloatInstruction {
UnOp(FloatType, FloatUnOp),
BinOp(FloatType, FloatBinOp),
RelOp(FloatType, FloatRelOp),
TruncIntOp(IntegerValType, FloatType, bool),
/// The bools represent (saturating, signed)
TruncIntOp(IntegerValType, FloatType, bool, bool),
ConvertIntOp(FloatType, IntegerValType, bool),
F32DemoteF64,
F64PromoteF32,
Expand All @@ -80,7 +81,7 @@ impl FloatInstruction {
FloatInstruction::RelOp(t, _) => {
FunctionType::new(vec![t.into(); 2], vec![ArbValueType::I32])
}
FloatInstruction::TruncIntOp(i, f, _) => {
FloatInstruction::TruncIntOp(i, f, ..) => {
FunctionType::new(vec![f.into()], vec![i.into()])
}
FloatInstruction::ConvertIntOp(f, i, _) => {
Expand Down Expand Up @@ -171,12 +172,15 @@ impl FromStr for FloatInstruction {
map(
all_consuming(tuple((
parse_int_type,
tag("_trunc_"),
alt((
value(true, tag("_trunc_sat_")),
value(false, tag("_trunc_")),
)),
parse_fp_type,
tag("_"),
parse_signedness,
))),
|(i, _, f, _, s)| FloatInstruction::TruncIntOp(i, f, s),
|(i, sat, f, _, s)| FloatInstruction::TruncIntOp(i, f, sat, s),
),
map(
all_consuming(tuple((
Expand Down Expand Up @@ -230,9 +234,6 @@ pub struct Local {
pub struct NameCustomSection {
pub module: String,
pub functions: HashMap<u32, String>,
// TODO: remove this when re-initializing the rollup
// this is kept around to deserialize old binaries
pub _locals_removed: HashMap<u32, HashMap<u32, String>>,
}

#[derive(Clone, Default)]
Expand Down
85 changes: 85 additions & 0 deletions arbitrator/prover/src/console.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
// Copyright 2021-2022, Offchain Labs, Inc.
// For license information, see https://github.com/nitro/blob/master/LICENSE

#![allow(dead_code)]

use std::fmt;

pub struct Color;

impl Color {
pub const RED: &'static str = "\x1b[31;1m";
pub const BLUE: &'static str = "\x1b[34;1m";
pub const YELLOW: &'static str = "\x1b[33;1m";
pub const PINK: &'static str = "\x1b[38;5;161;1m";
pub const MINT: &'static str = "\x1b[38;5;48;1m";
pub const GREY: &'static str = "\x1b[90m";
pub const RESET: &'static str = "\x1b[0;0m";

pub const LIME: &'static str = "\x1b[38;5;119;1m";
pub const LAVENDER: &'static str = "\x1b[38;5;183;1m";
pub const MAROON: &'static str = "\x1b[38;5;124;1m";
pub const ORANGE: &'static str = "\x1b[38;5;202;1m";

pub fn color<S: fmt::Display>(color: &str, text: S) -> String {
format!("{}{}{}", color, text, Color::RESET)
}

/// Colors text red.
pub fn red<S: fmt::Display>(text: S) -> String {
Color::color(Color::RED, text)
}

/// Colors text blue.
pub fn blue<S: fmt::Display>(text: S) -> String {
Color::color(Color::BLUE, text)
}

/// Colors text yellow.
pub fn yellow<S: fmt::Display>(text: S) -> String {
Color::color(Color::YELLOW, text)
}

/// Colors text pink.
pub fn pink<S: fmt::Display>(text: S) -> String {
Color::color(Color::PINK, text)
}

/// Colors text grey.
pub fn grey<S: fmt::Display>(text: S) -> String {
Color::color(Color::GREY, text)
}

/// Colors text lavender.
pub fn lavender<S: fmt::Display>(text: S) -> String {
Color::color(Color::LAVENDER, text)
}

/// Colors text mint.
pub fn mint<S: fmt::Display>(text: S) -> String {
Color::color(Color::MINT, text)
}

/// Colors text lime.
pub fn lime<S: fmt::Display>(text: S) -> String {
Color::color(Color::LIME, text)
}

/// Colors text orange.
pub fn orange<S: fmt::Display>(text: S) -> String {
Color::color(Color::ORANGE, text)
}

/// Colors text maroon.
pub fn maroon<S: fmt::Display>(text: S) -> String {
Color::color(Color::MAROON, text)
}

/// Color a bool one of two colors depending on its value.
pub fn color_if(cond: bool, true_color: &str, false_color: &str) -> String {
match cond {
true => Color::color(true_color, &format!("{}", cond)),
false => Color::color(false_color, &format!("{}", cond)),
}
}
}
7 changes: 5 additions & 2 deletions arbitrator/prover/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
// Copyright 2021-2022, Offchain Labs, Inc.
// For license information, see https://github.com/nitro/blob/master/LICENSE

#![allow(clippy::missing_safety_doc)] // We have a lot of unsafe ABI
#![allow(clippy::missing_safety_doc, clippy::too_many_arguments)]

pub mod binary;
/// cbindgen:ignore
pub mod console;
mod host;
pub mod machine;
/// cbindgen:ignore
mod memory;
mod merkle;
mod reinterpret;
pub mod utils;
mod value;
pub mod value;
pub mod wavm;

use crate::machine::{argument_data_to_inbox, Machine};
Expand Down Expand Up @@ -77,6 +79,7 @@ unsafe fn arbitrator_load_machine_impl(
let mach = Machine::from_paths(
&libraries,
binary_path,
true,
false,
false,
Default::default(),
Expand Down
Loading