- 
                Notifications
    You must be signed in to change notification settings 
- Fork 9
Include sections for Safeharbor/BugBounties updates #47
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
base: master
Are you sure you want to change the base?
Changes from 9 commits
2fef81d
              1f5dce0
              f0c79a5
              4060365
              ffbea9f
              0766476
              18f5fab
              10ee338
              11f6ac4
              93cbffa
              5a1528b
              fd2383a
              File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|  | @@ -125,6 +125,20 @@ Repo: https://github.com/makerdao/spells-mainnet | |||||||||||||||||||||
| * [ ] Changes are tested via `testNewOrUpdatedChainlogValues` | ||||||||||||||||||||||
| * [ ] Adjust system values, collateral values inside `config.sol` | ||||||||||||||||||||||
| * [ ] Ensure every spell variable is declared as public/internal | ||||||||||||||||||||||
| * Bug Bounty Registry Updates | ||||||||||||||||||||||
| * [ ] Run `make safeharbor-generate` command in the `spells-mainnet` repo to check for bug bounty updates | ||||||||||||||||||||||
| * [ ] IF the command outputs a solidity snippet: | ||||||||||||||||||||||
|          | ||||||||||||||||||||||
| * [ ] Paste the generated code into the spell as is. The code should not be modified. You may adjust formatting. | ||||||||||||||||||||||
| * [ ] Import the `AGREEMENT_ADDRESS` from the `ChainLog` | ||||||||||||||||||||||
|          | ||||||||||||||||||||||
| * [ ] Import the `AGREEMENT_ADDRESS` from the `ChainLog` | |
| * [ ] Fetch the agreement address from the `ChainLog` | 
        
          
              
                Outdated
          
        
      There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm, not sure we want to have the function in the checklist. Maybe we just reference the archive:
| * [ ] If not already present, add the helper function to perform the call: | |
| ```solidity | |
| function _updateSafeHarbor(bytes[] memory calldatas) public { | |
| for (uint256 i = 0; i < calldatas.length; i++) { | |
| (bool success, ) = address(AGREEMENT_ADDRESS).call(calldatas[i]); | |
| require(success, "SaferHarbor call failed"); | |
| } | |
| } | |
| ``` | |
| * [ ] If not already present, add the helper function to perform the call, using the established archive pattern. | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Q: Could you please elaborate on what kind of tests should be written by the crafter? Is vm.expectCall sufficient or would the crafter have to test every new addition or deletion?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I think making sure that there are no reverts.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: I would still recommend adding an example of how to test it. You can omit it, however, if we are going to add a permanent test for it
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm, I don't think we should include testing examples on this checklist. I think a permanent set of helper functions on the spells-mainnet repo would be enough to make sure a crafter can easily test.
For example a assertAccountIsPresent(address), or general tests that check the number of items on each chain, like there are with chainlog stuff. Either way, I don't think this is the place to add those.
        
          
              
                  SidestreamBurningBanana marked this conversation as resolved.
              
              
                Outdated
          
            Show resolved
            Hide resolved
        
      | Original file line number | Diff line number | Diff line change | 
|---|---|---|
|  | @@ -272,6 +272,11 @@ | |
| * [ ] Target contract is not upgradable | ||
| * [ ] Target Contract is included in the ChainLog | ||
| * [ ] Test Coverage is comprehensive | ||
| * IF bug bounty registry updates are present | ||
|         
                  SidestreamBurningBanana marked this conversation as resolved.
              Show resolved
            Hide resolved | ||
| * [ ] Run `make safeharbor-generate` command passing the calldata in the spell to check for it's validity. | ||
|         
                  SidestreamBurningBanana marked this conversation as resolved.
              Outdated
          
            Show resolved
            Hide resolved          | ||
| * [ ] Verify that the generated code exactly matches the generated code in the spell. | ||
|         
                  SidestreamBurningBanana marked this conversation as resolved.
              Outdated
          
            Show resolved
            Hide resolved | ||
| * [ ] Ensure that `AGREEMENT_ADDRESS` is imported from the ChainLog. | ||
|         
                  SidestreamBurningBanana marked this conversation as resolved.
              Outdated
          
            Show resolved
            Hide resolved | ||
| * [ ] Ensure that the helper function to perform the call is present and is implemented correctly. | ||
|         
                  SidestreamBurningBanana marked this conversation as resolved.
              Outdated
          
            Show resolved
            Hide resolved | ||
| * IF spell interacts with ChainLog | ||
| * [ ] ChainLog version is incremented based on update type | ||
| * Major -> New Vat (++.0.0) | ||
|  | @@ -383,6 +388,7 @@ _Insert your local test logs here_ | |
| * [ ] All actions are executed in the transaction trace | ||
| * [ ] No reverts are present that block execution | ||
| * [ ] No out-of-gas errors are present | ||
| * [ ] Confirm `make safeharbor-generate` returns "no updates" | ||
|         
                  SidestreamBurningBanana marked this conversation as resolved.
              Outdated
          
            Show resolved
            Hide resolved | ||
| * Archive checks | ||
| * [ ] `make diff-archive-spell` for current date or `make diff-archive-spell date="YYYY-MM-DD"` | ||
| * [ ] Ensure date corresponds to target Exec Doc date | ||
|  | ||
Uh oh!
There was an error while loading. Please reload this page.