Skip to content
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

inform VaultFactory about new Auctioneer #8735

Closed
Chris-Hibbert opened this issue Jan 9, 2024 · 3 comments · Fixed by #9283
Closed

inform VaultFactory about new Auctioneer #8735

Chris-Hibbert opened this issue Jan 9, 2024 · 3 comments · Fixed by #9283
Assignees
Labels
auction contract-upgrade enhancement New feature or request Vaults VaultFactor (née Treasury)

Comments

@Chris-Hibbert
Copy link
Contributor

What is the Problem Being Solved?

The Auction contract is not upgradeable; the plan has been to replace it rather than upgrading it.
The VaultFactory learns about the Auction in its terms, and has no mechanism to be informed about a replacement.

Description of the Design

Figure out how to use upgrade vatParameters, or privateArgs, or add an creatorFacet or governed API to the VaultFactory in order to inform it of a new Auction it should use.

Security Considerations

ensure no closely held authority is revealed.

Scaling Considerations

N/A

Test Plan

test in A3P.

Upgrade Considerations

make it possible to upgrade vaultFactory and Auction.

@Chris-Hibbert Chris-Hibbert added enhancement New feature or request contract-upgrade Vaults VaultFactor (née Treasury) auction labels Jan 9, 2024
@Chris-Hibbert Chris-Hibbert self-assigned this Jan 9, 2024
@Chris-Hibbert
Copy link
Contributor Author

fyi, @warner.

@Chris-Hibbert
Copy link
Contributor Author

#8049 proposes to move the auctioneer's public facet from VaultFactory's terms to private args. PrivateArgs can be changed on upgrade. (Can they be changed if privateArgsShape was already defined? It looks like zcfZygote doesn't care about previous definitions of privateArgsShape.)

It looks like 8049 solves this problem, and makes it possible to upgrade vaultFactory to know about a new Auctioneer. This doesn't allow the Auctioneer to be changed dynamically (without an upgrade), but that's sufficient for our current plan.

@Chris-Hibbert
Copy link
Contributor Author

#8757 includes code to switch from using the auctioneer's PublicFacet to its Instance, and to read a new value from PrivateArgs.

@mergify mergify bot closed this as completed in #9283 May 6, 2024
@mergify mergify bot closed this as completed in 24f7f32 May 6, 2024
mergify bot added a commit that referenced this issue Aug 13, 2024
_incidental_

## Description
Refactors the auction amount math out of the auction book and adds unit tests. I noticed an inconsistency so this adds an assertion to prevent that and a fix. Also a bunch of refactorings and docs to try to make this area of the code more clear.

Reviewers, review by commit is recommended.

### Security Considerations
The auction book now calls out to another module to do the math. Module from its own package though.

### Scaling Considerations
no change

### Documentation Considerations
not user facing

### Testing Considerations
regression test

### Upgrade Considerations

This won't go out until VaultFactory gets a new auctioneer. See,
- #8735
- #8981

@Chris-Hibbert is working on the CoreEval and its test to deploy this
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
auction contract-upgrade enhancement New feature or request Vaults VaultFactor (née Treasury)
Projects
None yet
1 participant