You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@moodysalem Here's the 4 potential modes of operation we discussed. I think all but the GitHub Action approach are a bit up in the air at this point, pending some searching into how to support the last one and how it impacts the others. Let me know if this looks right / needs changes / etc.
GitHub Actions
This will be a mode of operation
Cron job through GitHub Actions workflow that runs hourly. For each pair of DAO_NAME and GOVERNOR_ADDRESS in governance-checks.yaml, look for any pending proposals (or more generally, unsimulated proposals, to also simulate past proposals at least once?), pull the proposal data from the chain, simulate with tenderly, and write the report to the reports branch of the repo.
To add a DAO to the workflow, fork this repo, add your DAO_NAME and GOVERNOR_ADDRESS, then submit a PR back to main with those changes
TypeScript Simulation Files
TBD whether to support this
This mode would work as follows:
Fork the repo
In the sims folder, create a configuration file called mySimName.sim.ts (see existing template files)
Run SIM_NAME=mySimName yarn start
Report is saved in reports/<daoName>/<governorAddress>
@uniswap/governance-seatbelt npm package
TBD whether to support this
Users can install the @uniswap/governance-seatbelt package as normal, which exports a single function with the below interface:
Users can then generate the configuration object with any tooling they want, and run a simulation with await simulate(config)
npx @uniswap/governance-seatbelt <configFile>
TBD whether to support this
Let users define a TS config file anywhere and run it without needing to explicitly install an npm package using npx @uniswap/governance-seatbelt <path/to/configFile.ts>
The text was updated successfully, but these errors were encountered:
maybe for the @uniswap/governance-seatbelt npm package we also export code for rendering and implement one for markdown
e.g.
interfaceRenderer<T>{render(result: SimulationResult): T}classMarkdownRendererimplementsRenderer<string>{render(result: SimulationResult): string{// ... whatever we do for the github actions rendering}}
@moodysalem Here's the 4 potential modes of operation we discussed. I think all but the GitHub Action approach are a bit up in the air at this point, pending some searching into how to support the last one and how it impacts the others. Let me know if this looks right / needs changes / etc.
GitHub Actions
This will be a mode of operation
Cron job through GitHub Actions workflow that runs hourly. For each pair of
DAO_NAME
andGOVERNOR_ADDRESS
ingovernance-checks.yaml
, look for any pending proposals (or more generally, unsimulated proposals, to also simulate past proposals at least once?), pull the proposal data from the chain, simulate with tenderly, and write the report to thereports
branch of the repo.To add a DAO to the workflow, fork this repo, add your
DAO_NAME
andGOVERNOR_ADDRESS
, then submit a PR back tomain
with those changesTypeScript Simulation Files
TBD whether to support this
This mode would work as follows:
sims
folder, create a configuration file calledmySimName.sim.ts
(see existing template files)SIM_NAME=mySimName yarn start
reports/<daoName>/<governorAddress>
@uniswap/governance-seatbelt
npm packageTBD whether to support this
Users can install the
@uniswap/governance-seatbelt
package as normal, which exports a single function with the below interface:Users can then generate the configuration object with any tooling they want, and run a simulation with
await simulate(config)
npx @uniswap/governance-seatbelt <configFile>
TBD whether to support this
Let users define a TS config file anywhere and run it without needing to explicitly install an npm package using
npx @uniswap/governance-seatbelt <path/to/configFile.ts>
The text was updated successfully, but these errors were encountered: