├── .gas-snapshot ├── .github ├── img │ └── Firm-banner.png └── workflows │ └── ci.yml ├── .gitignore ├── .gitmodules ├── .vscode └── settings.json ├── LICENSE ├── README.md ├── audits └── v1-coinspect.pdf ├── deployments ├── factory.json └── testnet │ └── faucet.json ├── foundry.toml ├── package.json ├── remappings.txt ├── scripts ├── CreateFirmSeedState.s.sol ├── FirmFactoryDeploy.s.sol ├── TestnetFaucetDeploy.s.sol ├── count-slocs ├── create-and-seed-firm └── deploy-local └── src ├── bases ├── EIP1967Upgradeable.sol ├── ERC2771Context.sol ├── FirmBase.sol ├── RolesAuth.sol ├── SafeAware.sol ├── SafeModule.sol ├── SemaphoreAuth.sol ├── interfaces │ ├── IModuleMetadata.sol │ └── ISafe.sol ├── test │ ├── BasesTest.t.sol │ ├── EIP1967Upgradeable.t.sol │ ├── RolesAuth.t.sol │ ├── SemaphoreAuth.t.sol │ ├── lib │ │ ├── FirmTest.sol │ │ └── RolesAuthFlags.sol │ └── mocks │ │ ├── CallRecipient.sol │ │ ├── ModuleMock.sol │ │ ├── RolesAuthMock.sol │ │ ├── RolesStub.sol │ │ ├── SafeStub.sol │ │ ├── SemaphoreAuthMock.sol │ │ └── SemaphoreStub.sol └── utils │ └── AddressUint8FlagsLib.sol ├── budget ├── Budget.sol ├── TimeShiftLib.sol ├── modules │ ├── BudgetModule.sol │ ├── streams │ │ ├── ForwarderLib.sol │ │ ├── LlamaPayStreams.sol │ │ ├── forwarder-asm │ │ │ ├── README.md │ │ │ ├── forwarder.bin │ │ │ └── src │ │ │ │ ├── initcode.etk │ │ │ │ └── runtime.etk │ │ └── test │ │ │ ├── ForwarderLib.t.sol │ │ │ └── LlamaPayStreams.t.sol │ └── test │ │ └── BudgetModuleTest.sol └── test │ ├── Budget.t.sol │ └── TimeShiftLib.t.sol ├── captable ├── BouncerChecker.sol ├── Captable.sol ├── EquityToken.sol ├── controllers │ ├── AccountController.sol │ ├── VestingController.sol │ └── test │ │ ├── AccountControllerTest.sol │ │ └── VestingController.t.sol ├── interfaces │ ├── IBouncer.sol │ └── ICaptableVotes.sol └── test │ ├── Captable.t.sol │ ├── EquityToken.t.sol │ ├── lib │ └── BouncerFlags.sol │ └── mocks │ ├── DisallowController.sol │ └── OddBouncer.sol ├── factory ├── FirmFactory.sol ├── UpgradeableModuleProxyFactory.sol ├── config │ └── SemaphoreTargets.sol ├── proxy-asm │ ├── README.md │ ├── proxy.bin │ └── src │ │ ├── initcode.etk │ │ └── runtime.etk └── test │ ├── FirmFactoryIntegrationTest.t.sol │ ├── UpgradeableModuleProxyFactory.t.sol │ └── lib │ ├── IUSDCMinting.sol │ ├── SemaphoreTargetFlags.sol │ └── TestTargets.sol ├── metatx ├── FirmRelayer.sol └── test │ ├── FirmRelayer.t.sol │ └── mocks │ └── RelayTarget.sol ├── roles ├── Roles.sol ├── interfaces │ └── IRoles.sol └── test │ └── Roles.t.sol ├── semaphore ├── Semaphore.sol ├── interfaces │ └── ISemaphore.sol └── test │ └── Semaphore.t.sol ├── testnet ├── BackdoorModule.sol └── TestnetTokenFaucet.sol └── voting ├── OZGovernor.sol ├── Voting.sol ├── lib ├── GovernorCaptableVotes.sol └── GovernorCaptableVotesQuorumFraction.sol └── test └── Voting.t.sol /.gas-snapshot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/.gas-snapshot -------------------------------------------------------------------------------- /.github/img/Firm-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/.github/img/Firm-banner.png -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/.gitmodules -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/README.md -------------------------------------------------------------------------------- /audits/v1-coinspect.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/audits/v1-coinspect.pdf -------------------------------------------------------------------------------- /deployments/factory.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/deployments/factory.json -------------------------------------------------------------------------------- /deployments/testnet/faucet.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/deployments/testnet/faucet.json -------------------------------------------------------------------------------- /foundry.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/foundry.toml -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/package.json -------------------------------------------------------------------------------- /remappings.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/remappings.txt -------------------------------------------------------------------------------- /scripts/CreateFirmSeedState.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/scripts/CreateFirmSeedState.s.sol -------------------------------------------------------------------------------- /scripts/FirmFactoryDeploy.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/scripts/FirmFactoryDeploy.s.sol -------------------------------------------------------------------------------- /scripts/TestnetFaucetDeploy.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/scripts/TestnetFaucetDeploy.s.sol -------------------------------------------------------------------------------- /scripts/count-slocs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/scripts/count-slocs -------------------------------------------------------------------------------- /scripts/create-and-seed-firm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/scripts/create-and-seed-firm -------------------------------------------------------------------------------- /scripts/deploy-local: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/scripts/deploy-local -------------------------------------------------------------------------------- /src/bases/EIP1967Upgradeable.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/bases/EIP1967Upgradeable.sol -------------------------------------------------------------------------------- /src/bases/ERC2771Context.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/bases/ERC2771Context.sol -------------------------------------------------------------------------------- /src/bases/FirmBase.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/bases/FirmBase.sol -------------------------------------------------------------------------------- /src/bases/RolesAuth.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/bases/RolesAuth.sol -------------------------------------------------------------------------------- /src/bases/SafeAware.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/bases/SafeAware.sol -------------------------------------------------------------------------------- /src/bases/SafeModule.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/bases/SafeModule.sol -------------------------------------------------------------------------------- /src/bases/SemaphoreAuth.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/bases/SemaphoreAuth.sol -------------------------------------------------------------------------------- /src/bases/interfaces/IModuleMetadata.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/bases/interfaces/IModuleMetadata.sol -------------------------------------------------------------------------------- /src/bases/interfaces/ISafe.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/bases/interfaces/ISafe.sol -------------------------------------------------------------------------------- /src/bases/test/BasesTest.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/bases/test/BasesTest.t.sol -------------------------------------------------------------------------------- /src/bases/test/EIP1967Upgradeable.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/bases/test/EIP1967Upgradeable.t.sol -------------------------------------------------------------------------------- /src/bases/test/RolesAuth.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/bases/test/RolesAuth.t.sol -------------------------------------------------------------------------------- /src/bases/test/SemaphoreAuth.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/bases/test/SemaphoreAuth.t.sol -------------------------------------------------------------------------------- /src/bases/test/lib/FirmTest.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/bases/test/lib/FirmTest.sol -------------------------------------------------------------------------------- /src/bases/test/lib/RolesAuthFlags.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/bases/test/lib/RolesAuthFlags.sol -------------------------------------------------------------------------------- /src/bases/test/mocks/CallRecipient.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/bases/test/mocks/CallRecipient.sol -------------------------------------------------------------------------------- /src/bases/test/mocks/ModuleMock.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/bases/test/mocks/ModuleMock.sol -------------------------------------------------------------------------------- /src/bases/test/mocks/RolesAuthMock.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/bases/test/mocks/RolesAuthMock.sol -------------------------------------------------------------------------------- /src/bases/test/mocks/RolesStub.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/bases/test/mocks/RolesStub.sol -------------------------------------------------------------------------------- /src/bases/test/mocks/SafeStub.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/bases/test/mocks/SafeStub.sol -------------------------------------------------------------------------------- /src/bases/test/mocks/SemaphoreAuthMock.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/bases/test/mocks/SemaphoreAuthMock.sol -------------------------------------------------------------------------------- /src/bases/test/mocks/SemaphoreStub.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/bases/test/mocks/SemaphoreStub.sol -------------------------------------------------------------------------------- /src/bases/utils/AddressUint8FlagsLib.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/bases/utils/AddressUint8FlagsLib.sol -------------------------------------------------------------------------------- /src/budget/Budget.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/budget/Budget.sol -------------------------------------------------------------------------------- /src/budget/TimeShiftLib.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/budget/TimeShiftLib.sol -------------------------------------------------------------------------------- /src/budget/modules/BudgetModule.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/budget/modules/BudgetModule.sol -------------------------------------------------------------------------------- /src/budget/modules/streams/ForwarderLib.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/budget/modules/streams/ForwarderLib.sol -------------------------------------------------------------------------------- /src/budget/modules/streams/LlamaPayStreams.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/budget/modules/streams/LlamaPayStreams.sol -------------------------------------------------------------------------------- /src/budget/modules/streams/forwarder-asm/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/budget/modules/streams/forwarder-asm/README.md -------------------------------------------------------------------------------- /src/budget/modules/streams/forwarder-asm/forwarder.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/budget/modules/streams/forwarder-asm/forwarder.bin -------------------------------------------------------------------------------- /src/budget/modules/streams/forwarder-asm/src/initcode.etk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/budget/modules/streams/forwarder-asm/src/initcode.etk -------------------------------------------------------------------------------- /src/budget/modules/streams/forwarder-asm/src/runtime.etk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/budget/modules/streams/forwarder-asm/src/runtime.etk -------------------------------------------------------------------------------- /src/budget/modules/streams/test/ForwarderLib.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/budget/modules/streams/test/ForwarderLib.t.sol -------------------------------------------------------------------------------- /src/budget/modules/streams/test/LlamaPayStreams.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/budget/modules/streams/test/LlamaPayStreams.t.sol -------------------------------------------------------------------------------- /src/budget/modules/test/BudgetModuleTest.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/budget/modules/test/BudgetModuleTest.sol -------------------------------------------------------------------------------- /src/budget/test/Budget.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/budget/test/Budget.t.sol -------------------------------------------------------------------------------- /src/budget/test/TimeShiftLib.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/budget/test/TimeShiftLib.t.sol -------------------------------------------------------------------------------- /src/captable/BouncerChecker.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/captable/BouncerChecker.sol -------------------------------------------------------------------------------- /src/captable/Captable.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/captable/Captable.sol -------------------------------------------------------------------------------- /src/captable/EquityToken.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/captable/EquityToken.sol -------------------------------------------------------------------------------- /src/captable/controllers/AccountController.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/captable/controllers/AccountController.sol -------------------------------------------------------------------------------- /src/captable/controllers/VestingController.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/captable/controllers/VestingController.sol -------------------------------------------------------------------------------- /src/captable/controllers/test/AccountControllerTest.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/captable/controllers/test/AccountControllerTest.sol -------------------------------------------------------------------------------- /src/captable/controllers/test/VestingController.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/captable/controllers/test/VestingController.t.sol -------------------------------------------------------------------------------- /src/captable/interfaces/IBouncer.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/captable/interfaces/IBouncer.sol -------------------------------------------------------------------------------- /src/captable/interfaces/ICaptableVotes.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/captable/interfaces/ICaptableVotes.sol -------------------------------------------------------------------------------- /src/captable/test/Captable.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/captable/test/Captable.t.sol -------------------------------------------------------------------------------- /src/captable/test/EquityToken.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/captable/test/EquityToken.t.sol -------------------------------------------------------------------------------- /src/captable/test/lib/BouncerFlags.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/captable/test/lib/BouncerFlags.sol -------------------------------------------------------------------------------- /src/captable/test/mocks/DisallowController.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/captable/test/mocks/DisallowController.sol -------------------------------------------------------------------------------- /src/captable/test/mocks/OddBouncer.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/captable/test/mocks/OddBouncer.sol -------------------------------------------------------------------------------- /src/factory/FirmFactory.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/factory/FirmFactory.sol -------------------------------------------------------------------------------- /src/factory/UpgradeableModuleProxyFactory.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/factory/UpgradeableModuleProxyFactory.sol -------------------------------------------------------------------------------- /src/factory/config/SemaphoreTargets.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/factory/config/SemaphoreTargets.sol -------------------------------------------------------------------------------- /src/factory/proxy-asm/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/factory/proxy-asm/README.md -------------------------------------------------------------------------------- /src/factory/proxy-asm/proxy.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/factory/proxy-asm/proxy.bin -------------------------------------------------------------------------------- /src/factory/proxy-asm/src/initcode.etk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/factory/proxy-asm/src/initcode.etk -------------------------------------------------------------------------------- /src/factory/proxy-asm/src/runtime.etk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/factory/proxy-asm/src/runtime.etk -------------------------------------------------------------------------------- /src/factory/test/FirmFactoryIntegrationTest.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/factory/test/FirmFactoryIntegrationTest.t.sol -------------------------------------------------------------------------------- /src/factory/test/UpgradeableModuleProxyFactory.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/factory/test/UpgradeableModuleProxyFactory.t.sol -------------------------------------------------------------------------------- /src/factory/test/lib/IUSDCMinting.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/factory/test/lib/IUSDCMinting.sol -------------------------------------------------------------------------------- /src/factory/test/lib/SemaphoreTargetFlags.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/factory/test/lib/SemaphoreTargetFlags.sol -------------------------------------------------------------------------------- /src/factory/test/lib/TestTargets.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/factory/test/lib/TestTargets.sol -------------------------------------------------------------------------------- /src/metatx/FirmRelayer.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/metatx/FirmRelayer.sol -------------------------------------------------------------------------------- /src/metatx/test/FirmRelayer.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/metatx/test/FirmRelayer.t.sol -------------------------------------------------------------------------------- /src/metatx/test/mocks/RelayTarget.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/metatx/test/mocks/RelayTarget.sol -------------------------------------------------------------------------------- /src/roles/Roles.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/roles/Roles.sol -------------------------------------------------------------------------------- /src/roles/interfaces/IRoles.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/roles/interfaces/IRoles.sol -------------------------------------------------------------------------------- /src/roles/test/Roles.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/roles/test/Roles.t.sol -------------------------------------------------------------------------------- /src/semaphore/Semaphore.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/semaphore/Semaphore.sol -------------------------------------------------------------------------------- /src/semaphore/interfaces/ISemaphore.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/semaphore/interfaces/ISemaphore.sol -------------------------------------------------------------------------------- /src/semaphore/test/Semaphore.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/semaphore/test/Semaphore.t.sol -------------------------------------------------------------------------------- /src/testnet/BackdoorModule.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/testnet/BackdoorModule.sol -------------------------------------------------------------------------------- /src/testnet/TestnetTokenFaucet.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/testnet/TestnetTokenFaucet.sol -------------------------------------------------------------------------------- /src/voting/OZGovernor.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/voting/OZGovernor.sol -------------------------------------------------------------------------------- /src/voting/Voting.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/voting/Voting.sol -------------------------------------------------------------------------------- /src/voting/lib/GovernorCaptableVotes.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/voting/lib/GovernorCaptableVotes.sol -------------------------------------------------------------------------------- /src/voting/lib/GovernorCaptableVotesQuorumFraction.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/voting/lib/GovernorCaptableVotesQuorumFraction.sol -------------------------------------------------------------------------------- /src/voting/test/Voting.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firm-org/firm-protocol/HEAD/src/voting/test/Voting.t.sol --------------------------------------------------------------------------------