Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
N
nebula
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
exchain
nebula
Commits
426df5e8
Commit
426df5e8
authored
Nov 10, 2023
by
Juan C
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add dummy verification
parent
4d6bb0db
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
128 additions
and
0 deletions
+128
-0
foundry.toml
packages/contracts-bedrock/foundry.toml
+18
-0
Counter.t.sol
packages/contracts-bedrock/test/kontrol/Counter.t.sol
+23
-0
pausability-lemmas.k
...ntracts-bedrock/test/kontrol/kontrol/pausability-lemmas.k
+12
-0
run-kontrol.sh
...ges/contracts-bedrock/test/kontrol/kontrol/run-kontrol.sh
+74
-0
verify
packages/contracts-bedrock/verify
+1
-0
No files found.
packages/contracts-bedrock/foundry.toml
View file @
426df5e8
...
...
@@ -59,3 +59,21 @@ runs = 512
[profile.lite]
optimizer
=
false
################################################################
# PROFILE: KONTROL #
################################################################
[profile.kontrol]
src
=
'src/L
1
'
out
=
'kout'
test
=
'test/kontrol'
script
=
'scripts-kontrol'
remappings
=
[
'@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts'
,
'@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts'
,
'@rari-capital/solmate/=lib/solmate'
,
'@cwia/=lib/clones-with-immutable-args/src'
,
'forge-std/=lib/forge-std/src'
,
'ds-test/=lib/forge-std/lib/ds-test/src'
]
packages/contracts-bedrock/test/kontrol/Counter.t.sol
0 → 100644
View file @
426df5e8
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.13;
/* import {Test} from "forge-std/Test.sol"; */
import {Counter} from "src/L1/Counter.sol";
import {OptimismPortal} from "src/L1/OptimismPortal.sol";
contract CounterTest {
Counter counter;
OptimismPortal optimismPortal;
function setUp() public {
counter = new Counter();
optimismPortal = new OptimismPortal();
}
function test_SetNumber(uint256 x) public {
counter.setNumber(x);
require(counter.number() == x, "Not equal");
}
}
packages/contracts-bedrock/test/kontrol/kontrol/pausability-lemmas.k
0 → 100644
View file @
426df5e8
requires "evm.md"
requires "foundry.md"
module PAUSABILITY-LEMMAS
imports BOOL
imports FOUNDRY
imports INFINITE-GAS
imports INT-SYMBOLIC
// Your lemmas go here
endmodule
packages/contracts-bedrock/test/kontrol/kontrol/run-kontrol.sh
0 → 100755
View file @
426df5e8
#!/bin/bash
set
-euxo
pipefail
FOUNDRY_PROFILE
=
kontrol
kontrol_build
()
{
kontrol build
\
--verbose
\
--require
${
lemmas
}
\
--module-import
${
module
}
\
${
rekompile
}
}
kontrol_prove
()
{
kontrol prove
\
--max-depth
${
max_depth
}
\
--max-iterations
${
max_iterations
}
\
--smt-timeout
${
smt_timeout
}
\
--bmc-depth
${
bmc_depth
}
\
--workers
${
workers
}
\
${
reinit
}
\
${
bug_report
}
\
${
break_on_calls
}
\
${
auto_abstract
}
\
${
tests
}
\
${
use_booster
}
}
###
# kontrol build options
###
# NOTE: This script should be executed from the `contracts-bedrock` directory
lemmas
=
test
/kontrol/kontrol/pausability-lemmas.k
base_module
=
PAUSABILITY-LEMMAS
module
=
CounterTest:
${
base_module
}
rekompile
=
--rekompile
rekompile
=
###
# kontrol prove options
###
max_depth
=
10000
max_iterations
=
10000
smt_timeout
=
100000
bmc_depth
=
10
workers
=
2
reinit
=
--reinit
reinit
=
break_on_calls
=
--no-break-on-calls
# break_on_calls=
auto_abstract
=
--auto-abstract-gas
# auto_abstract=
bug_report
=
--bug-report
bug_report
=
use_booster
=
--use-booster
# use_booster=
# List of tests to symbolically execute
tests
=
""
tests+
=
"--match-test CounterTest.test_SetNumber "
kontrol_build
kontrol_prove
packages/contracts-bedrock/verify
0 → 100644
View file @
426df5e8
./test/kontrol/kontrol/run-kontrol.sh 2>&1 | tee test/kontrol/kontrol/log.out
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment