Skip to content

Shutterized Dispute Kit #1965

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

Open
wants to merge 64 commits into
base: dev
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
2bffa61
chore: shutter script experiment
jaybuidl Mar 15, 2025
3570b46
feat(shutter): added decryption logic
jaybuidl Mar 19, 2025
ddae29a
fix: better error handling
jaybuidl Mar 19, 2025
04e3f5c
feat: naive shutterized dispute kit and auto-voting bot
jaybuidl Apr 24, 2025
be6e1ce
feat: commitment hashing and verification onchain
jaybuidl Apr 29, 2025
020dbab
chore: cleanup
jaybuidl Apr 29, 2025
30804a8
feat: support for multiple voteIDs at once, fixed salt handling by bot
jaybuidl Apr 30, 2025
1a9b72d
chore: cleanup before integration into a fully fletched dispute kit
jaybuidl Apr 30, 2025
b580556
feat: fully fletched DisputeKitShutter
jaybuidl Apr 30, 2025
8819241
chore: removed redundant node-fetch
jaybuidl Apr 30, 2025
cd016b3
chore: cleanup
jaybuidl Apr 30, 2025
8e46e05
feat: fully fletched DisputeKitShutter
jaybuidl Apr 30, 2025
98ec3ba
chore: deployment of DisputeKitShutter in devnet
jaybuidl Apr 30, 2025
74d1506
fix: missing parameter, upgraded DisputeKitShutter
jaybuidl Apr 30, 2025
b40abc2
chore: upgraded DisputeKitClassic
jaybuidl Apr 30, 2025
cb7997f
fix: external call to castCommit() changes msg.sender, fixed by extra…
jaybuidl May 1, 2025
ee2ceb6
chore: enable shutter DK on the devnet general court
jaybuidl May 2, 2025
317aed6
feat: support for shutter disputekit in devnet
kemuru May 6, 2025
05dcdb0
fix: create new classic dispute entity correctly with correct round i…
kemuru May 8, 2025
44ea55e
fix: correct round check
kemuru May 8, 2025
a995e1e
chore: subgraph update scripts now relies on a template and removes d…
jaybuidl May 8, 2025
ca14ada
Merge branch 'dev' into feat/shutter-dispute-kit
jaybuidl May 8, 2025
f3f235c
Merge branch 'feat/shutter-dispute-kit' into feat(subgraph)/support-f…
kemuru May 9, 2025
4b85135
Merge branch 'dev' into feat/shutter-dispute-kit
jaybuidl May 9, 2025
edc4a7d
Merge branch 'dev' into feat/shutter-dispute-kit
jaybuidl May 12, 2025
78b2951
chore: fix to support deployment to Alchemy
jaybuidl May 13, 2025
6b32fc3
chore: lock file
jaybuidl May 13, 2025
74625e1
Merge pull request #1966 from kleros/feat(subgraph)/support-for-multi…
jaybuidl May 14, 2025
0dad7c4
Merge branch 'dev' into feat/shutter-dispute-kit
kemuru May 15, 2025
5ac64f5
feat: shutter support in dispute commiting
kemuru May 15, 2025
6cd4369
Merge branch 'dev' into feat/shutter-dispute-kit
kemuru May 15, 2025
724a949
Merge branch 'feat/shutter-dispute-kit' into feat(web)/shutter-fronte…
kemuru May 15, 2025
8a5b2f4
feat: shutter appeal support
kemuru May 15, 2025
14994db
fix: bug fix in subgraph
kemuru May 15, 2025
142273c
Merge pull request #1995 from kleros/fix(subgraph)/localrounds-fix
kemuru May 15, 2025
6b240a6
Merge branch 'feat/shutter-dispute-kit' into feat(web)/shutter-fronte…
kemuru May 15, 2025
5989928
chore: subgraphs version bump
jaybuidl May 16, 2025
df98319
Merge branch 'dev' into feat/shutter-dispute-kit
kemuru May 20, 2025
05711fe
Merge branch 'feat/shutter-dispute-kit' into feat(web)/shutter-fronte…
kemuru May 20, 2025
729777d
feat: postinstall script, use correct commit function
kemuru May 20, 2025
8bf3772
fix: vote hashing during commitment must follow DisputeKitShutter.has…
jaybuidl May 20, 2025
8c74d4a
feat: decryption delay is the remaining of the commit period
kemuru May 22, 2025
b1d3fa9
chore: shutter event tweak, extra dispute kit views
jaybuidl May 22, 2025
47049eb
Merge branch 'feat/shutter-dispute-kit' into feat(web)/shutter-fronte…
jaybuidl May 22, 2025
bae8db4
chore: remove postinstall script, tell vite where to find it
kemuru May 23, 2025
aa01874
feat: keeper bot for shutter auto-reveal (wip)
jaybuidl May 26, 2025
e983fdd
Merge branch 'feat/shutter-dispute-kit' into feat(web)/shutter-fronte…
kemuru May 26, 2025
2e5d2a7
feat: support for revealing shutter commit from the frontend
kemuru May 26, 2025
bf7a3c0
chore: remove console logs, few code smells
kemuru May 26, 2025
bafbd14
Merge branch 'dev' into feat/shutter-dispute-kit
jaybuidl May 28, 2025
c8bf188
Merge branch 'feat/shutter-dispute-kit' into feat(web)/shutter-fronte…
kemuru May 28, 2025
e52d59b
Merge branch 'dev' into feat/shutter-dispute-kit
jaybuidl May 28, 2025
99f9852
feat: shutter auto-reveal logic integrated into the main bot, improve…
jaybuidl May 28, 2025
04605db
chore: extra 5 min decryptiondelay
kemuru May 29, 2025
b3817bd
fix: trycatch in case voting fails
kemuru May 29, 2025
f816ca3
Merge branch 'feat/shutter-dispute-kit' into feat(web)/shutter-fronte…
kemuru May 29, 2025
fe7eb85
Merge branch 'dev' into feat/shutter-dispute-kit
kemuru May 29, 2025
4e2dea9
Merge branch 'feat/shutter-dispute-kit' into feat(web)/shutter-fronte…
kemuru May 29, 2025
469039a
Merge pull request #1994 from kleros/feat(web)/shutter-frontend-rende…
alcercu May 29, 2025
7bbe6df
chore: upgrade-all support for Shutter DK
jaybuidl May 28, 2025
1fd3526
chore: shutter env variables
kemuru May 30, 2025
c3f6611
feat: keeper bot passes the period to Voting before auto-revealing
jaybuidl May 30, 2025
959b765
chore: keeper bot logging
jaybuidl May 30, 2025
d43e68e
Merge branch 'chore/shutter-env-variables' into feat/shutter-dispute-kit
jaybuidl May 30, 2025
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
5 changes: 3 additions & 2 deletions contracts/.env.example
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,16 @@ LOGTAIL_TOKEN_RELAYER_BOT=41h8q5Z4gnz5yDx215eqcQ4r
LOGTAIL_TOKEN_DISPUTOR_BOT=mSryyvYubviaMqKDWfBKAGsi
HEARTBEAT_URL_KEEPER_BOT=https://uptime.betterstack.com/api/v1/heartbeat/jc23S8ZZzpf8KbzwxL1hoBp9
HEARTBEAT_URL_RELAYER_BOT=https://uptime.betterstack.com/api/v1/heartbeat/eT6Trk6CddJV6fFBbqZNzyqC
SHUTTER_API=testnet
DISPUTES_TO_SKIP=

# Optionally for debugging
# TENDERLY_USERNAME=your_username
# TENDERLY_PROJECT=your_project

# Used by the "hardhat.config.ts" file and important to set them for the "scripts/simulations" tasks
# Used by the "hardhat.config.ts" file and important to set them for the "scripts/simulations" tasks
ARB_GOERLI_PRIVATE_KEY_WALLET_1=
ARB_GOERLI_PRIVATE_KEY_WALLET_2=
ARB_GOERLI_PRIVATE_KEY_WALLET_3=
ARB_GOERLI_PRIVATE_KEY_WALLET_4=
ARB_GOERLI_PRIVATE_KEY_WALLET_5=
ARB_GOERLI_PRIVATE_KEY_WALLET_5=
1 change: 1 addition & 0 deletions contracts/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ Refresh the list of deployed contracts by running `./scripts/generateDeployments
- [DAIFaucet](https://sepolia.arbiscan.io/address/0xB5b39A1bcD2D7097A8824B3cC18Ebd2dFb0D9B5E)
- [DisputeKitClassic: proxy](https://sepolia.arbiscan.io/address/0x2246821E1313A93e2F8CdF7a3422d078f560b457), [implementation](https://sepolia.arbiscan.io/address/0x8Db69EE93365190FE9CA4d59Ae4Cdd4f3688f1Af)
- [DisputeKitClassicUniversity: proxy](https://sepolia.arbiscan.io/address/0xd6E96b7c993763B5CDDa1139C7387B82A7c8B8B5), [implementation](https://sepolia.arbiscan.io/address/0x87e863b94d2CB79A8aB53bD87Dc4A10E11C0918B)
- [DisputeKitShutter: proxy](https://sepolia.arbiscan.io/address/0x09F3d00B995186D76Af9AA8627D06351d0d9f950), [implementation](https://sepolia.arbiscan.io/address/0x6571eE6Ee36d805A8363c09376107844a003073C)
- [DisputeResolver](https://sepolia.arbiscan.io/address/0x524C5541f440204E0B4577334c439277018F971f)
- [DisputeResolverRuler](https://sepolia.arbiscan.io/address/0x199893232ECC74cC7898B24b5Ff58d613029f6B7)
- [DisputeResolverUniversity](https://sepolia.arbiscan.io/address/0x2Aa1a94307E772BeE42E9EfbD137b1053F1fCfd4)
Expand Down
9 changes: 9 additions & 0 deletions contracts/deploy/00-home-chain-arbitration.ts
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,15 @@ const deployArbitration: DeployFunction = async (hre: HardhatRuntimeEnvironment)
console.error("failed to change currency rates:", e);
}

// Extra dispute kits
const disputeKitShutter = await deployUpgradable(deployments, "DisputeKitShutter", {
from: deployer,
args: [deployer, core.target],
log: true,
});
await core.addNewDisputeKit(disputeKitShutter.address);
await core.enableDisputeKits(1, [2], true); // enable disputeKitShutter on the General Court

await deploy("KlerosCoreSnapshotProxy", {
from: deployer,
args: [deployer, core.target],
Expand Down
5 changes: 3 additions & 2 deletions contracts/deploy/upgrade-all.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ const deployUpgradeAll: DeployFunction = async (hre: HardhatRuntimeEnvironment)
const chainId = Number(await getChainId());
console.log("upgrading on %s with deployer %s", HomeChains[chainId], deployer);

const { disputeKitClassic, disputeTemplateRegistry, evidence, core, policyRegistry, sortition } =
const { disputeKitClassic, disputeKitShutter, disputeTemplateRegistry, evidence, core, policyRegistry, sortition } =
await getContractNamesFromNetwork(hre);

const upgrade = async (contractName: string, initializer: string, args: any[]) => {
Expand Down Expand Up @@ -78,7 +78,8 @@ const deployUpgradeAll: DeployFunction = async (hre: HardhatRuntimeEnvironment)
}
};

await upgrade(disputeKitClassic, "initialize6", []);
await upgrade(disputeKitClassic, "initialize7", []);
await upgrade(disputeKitShutter, "initialize8", []);
await upgrade(disputeTemplateRegistry, "initialize2", []);
await upgrade(evidence, "initialize2", []);
await upgrade(core, "initialize5", []);
Expand Down
Loading
Loading