├── .github ├── assets │ ├── rollcalldao.svg │ ├── rollcallvoter.svg │ └── tallyxoptimism.gif └── workflows │ └── test.yaml ├── .gitignore ├── .gitmodules ├── LICENSE ├── README.md ├── foundry.toml ├── go.mod ├── go.sum ├── remappings.txt ├── scripts ├── build.sh ├── common.sh ├── deploy-exec-base.sh ├── deploy-exec-rollup.sh ├── deploy-voter-base.sh ├── deploy-voter-rollup.sh └── eth-denver-workshop │ ├── .gitignore │ ├── README.md │ ├── deploy-l1-exector.sh │ ├── deploy-l1-token.sh │ ├── deploy-l1-treasury.sh │ ├── deploy-l2-governor.sh │ └── deploy-l2-token.sh ├── src ├── Bridge.sol ├── Executor.sol ├── L1Governor.sol ├── L2Voter.sol ├── Treasury.sol ├── extensions │ ├── SimpleL1Governor.sol │ └── SimpleL2Governor.sol ├── interfaces │ ├── IBridge.sol │ ├── IL1Governor.sol │ ├── IL2Voter.sol │ ├── iOVM_CrossDomainMessenger.sol │ └── iOVM_L1BlockNumber.sol ├── lib │ ├── Lib_PredeployAddresses.sol │ ├── MerklePatriciaProofVerifier.sol │ ├── RLPReader.sol │ └── StateProofVerifier.sol ├── standards │ ├── IL2VotingERC20.sol │ ├── L1VotingERC20.sol │ ├── L2ERC20Votes.sol │ ├── L2Governor.sol │ ├── L2GovernorCountingSimple.sol │ ├── L2GovernorSettings.sol │ ├── L2GovernorVotes.sol │ ├── L2GovernorVotesQuorumFraction.sol │ └── L2VotingERC20.sol └── test │ ├── OVM_FakeCrossDomainMessenger.sol │ ├── OVM_FakeL1BlockNumber.sol │ ├── RollCallL1Governor.t.sol │ ├── RollCallVoter.t.sol │ ├── data │ └── generate.go │ └── lib │ └── Vm.sol └── workshop ├── README.md └── setup.sh /.github/assets/rollcalldao.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/.github/assets/rollcalldao.svg -------------------------------------------------------------------------------- /.github/assets/rollcallvoter.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/.github/assets/rollcallvoter.svg -------------------------------------------------------------------------------- /.github/assets/tallyxoptimism.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/.github/assets/tallyxoptimism.gif -------------------------------------------------------------------------------- /.github/workflows/test.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/.github/workflows/test.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | cache/ 2 | out/ 3 | .env 4 | 5 | multisol-* -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/.gitmodules -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/README.md -------------------------------------------------------------------------------- /foundry.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/foundry.toml -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/go.sum -------------------------------------------------------------------------------- /remappings.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/remappings.txt -------------------------------------------------------------------------------- /scripts/build.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/scripts/build.sh -------------------------------------------------------------------------------- /scripts/common.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/scripts/common.sh -------------------------------------------------------------------------------- /scripts/deploy-exec-base.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/scripts/deploy-exec-base.sh -------------------------------------------------------------------------------- /scripts/deploy-exec-rollup.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/scripts/deploy-exec-rollup.sh -------------------------------------------------------------------------------- /scripts/deploy-voter-base.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/scripts/deploy-voter-base.sh -------------------------------------------------------------------------------- /scripts/deploy-voter-rollup.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/scripts/deploy-voter-rollup.sh -------------------------------------------------------------------------------- /scripts/eth-denver-workshop/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/scripts/eth-denver-workshop/.gitignore -------------------------------------------------------------------------------- /scripts/eth-denver-workshop/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/scripts/eth-denver-workshop/README.md -------------------------------------------------------------------------------- /scripts/eth-denver-workshop/deploy-l1-exector.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/scripts/eth-denver-workshop/deploy-l1-exector.sh -------------------------------------------------------------------------------- /scripts/eth-denver-workshop/deploy-l1-token.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/scripts/eth-denver-workshop/deploy-l1-token.sh -------------------------------------------------------------------------------- /scripts/eth-denver-workshop/deploy-l1-treasury.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/scripts/eth-denver-workshop/deploy-l1-treasury.sh -------------------------------------------------------------------------------- /scripts/eth-denver-workshop/deploy-l2-governor.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/scripts/eth-denver-workshop/deploy-l2-governor.sh -------------------------------------------------------------------------------- /scripts/eth-denver-workshop/deploy-l2-token.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/scripts/eth-denver-workshop/deploy-l2-token.sh -------------------------------------------------------------------------------- /src/Bridge.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/src/Bridge.sol -------------------------------------------------------------------------------- /src/Executor.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/src/Executor.sol -------------------------------------------------------------------------------- /src/L1Governor.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/src/L1Governor.sol -------------------------------------------------------------------------------- /src/L2Voter.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/src/L2Voter.sol -------------------------------------------------------------------------------- /src/Treasury.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/src/Treasury.sol -------------------------------------------------------------------------------- /src/extensions/SimpleL1Governor.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/src/extensions/SimpleL1Governor.sol -------------------------------------------------------------------------------- /src/extensions/SimpleL2Governor.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/src/extensions/SimpleL2Governor.sol -------------------------------------------------------------------------------- /src/interfaces/IBridge.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/src/interfaces/IBridge.sol -------------------------------------------------------------------------------- /src/interfaces/IL1Governor.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/src/interfaces/IL1Governor.sol -------------------------------------------------------------------------------- /src/interfaces/IL2Voter.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/src/interfaces/IL2Voter.sol -------------------------------------------------------------------------------- /src/interfaces/iOVM_CrossDomainMessenger.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/src/interfaces/iOVM_CrossDomainMessenger.sol -------------------------------------------------------------------------------- /src/interfaces/iOVM_L1BlockNumber.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/src/interfaces/iOVM_L1BlockNumber.sol -------------------------------------------------------------------------------- /src/lib/Lib_PredeployAddresses.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/src/lib/Lib_PredeployAddresses.sol -------------------------------------------------------------------------------- /src/lib/MerklePatriciaProofVerifier.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/src/lib/MerklePatriciaProofVerifier.sol -------------------------------------------------------------------------------- /src/lib/RLPReader.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/src/lib/RLPReader.sol -------------------------------------------------------------------------------- /src/lib/StateProofVerifier.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/src/lib/StateProofVerifier.sol -------------------------------------------------------------------------------- /src/standards/IL2VotingERC20.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/src/standards/IL2VotingERC20.sol -------------------------------------------------------------------------------- /src/standards/L1VotingERC20.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/src/standards/L1VotingERC20.sol -------------------------------------------------------------------------------- /src/standards/L2ERC20Votes.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/src/standards/L2ERC20Votes.sol -------------------------------------------------------------------------------- /src/standards/L2Governor.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/src/standards/L2Governor.sol -------------------------------------------------------------------------------- /src/standards/L2GovernorCountingSimple.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/src/standards/L2GovernorCountingSimple.sol -------------------------------------------------------------------------------- /src/standards/L2GovernorSettings.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/src/standards/L2GovernorSettings.sol -------------------------------------------------------------------------------- /src/standards/L2GovernorVotes.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/src/standards/L2GovernorVotes.sol -------------------------------------------------------------------------------- /src/standards/L2GovernorVotesQuorumFraction.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/src/standards/L2GovernorVotesQuorumFraction.sol -------------------------------------------------------------------------------- /src/standards/L2VotingERC20.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/src/standards/L2VotingERC20.sol -------------------------------------------------------------------------------- /src/test/OVM_FakeCrossDomainMessenger.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/src/test/OVM_FakeCrossDomainMessenger.sol -------------------------------------------------------------------------------- /src/test/OVM_FakeL1BlockNumber.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/src/test/OVM_FakeL1BlockNumber.sol -------------------------------------------------------------------------------- /src/test/RollCallL1Governor.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/src/test/RollCallL1Governor.t.sol -------------------------------------------------------------------------------- /src/test/RollCallVoter.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/src/test/RollCallVoter.t.sol -------------------------------------------------------------------------------- /src/test/data/generate.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/src/test/data/generate.go -------------------------------------------------------------------------------- /src/test/lib/Vm.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/src/test/lib/Vm.sol -------------------------------------------------------------------------------- /workshop/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/workshop/README.md -------------------------------------------------------------------------------- /workshop/setup.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withtally/rollcall/HEAD/workshop/setup.sh --------------------------------------------------------------------------------