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

support Fast USDC upgrade before OCW operators accept invitations #11057

Open
dckc opened this issue Feb 26, 2025 · 0 comments
Open

support Fast USDC upgrade before OCW operators accept invitations #11057

dckc opened this issue Feb 26, 2025 · 0 comments
Labels
enhancement New feature or request

Comments

@dckc
Copy link
Member

dckc commented Feb 26, 2025

What is the Problem Being Solved?

Redeeming an OCW operator invitation will fail if the contract was upgraded first.

Description of the Design

Use a durable offer handler instead of a closure:

makeOperatorInvitation(operatorId) {
const { creator } = this.facets;
trace('makeOperatorInvitation', operatorId);
return zcf.makeInvitation(
/** @type {OfferHandler<OperatorOfferResult>} */
seat => {
seat.exit();
return creator.initOperator(operatorId);
},

Security Considerations

some robustness / availability improvement

Scaling Considerations

difference should only be in small constant factors

Test Plan

Upgrade Considerations

On mainnet, all OCWs have accepted their invitations. So this issue is only relevant if a new instance of the contract is deployed.

@dckc dckc added the enhancement New feature or request label Feb 26, 2025
mergify bot added a commit that referenced this issue Feb 27, 2025
refs: #11013

## Description

- feat(fast-usdc): `ChainHub` update interfaces
- fix(fast-usdc): prepare to repair Noble Account
- feat(fast-usdc): core eval to update chainInfo, noble ICA
  - feat(builders): to reconfigure Fast USDC
- test(boot): start fastUsdc using fast-usdc-beta-1 release
  - chore(boot): cache fast-usdc-beta-1 release artifacts
- test(boot): upgrade Fast USDC; update noble ICA
- test(boot): oracles accept before upgrade

### Security Considerations

~~`creatorFacet.getChainHub()` increases the surface area of the contract.~~

### Scaling Considerations

none, I think.

### Testing Considerations

 - unit tests for chainHub methods
 - bootstrap test for upgrade

for a later PR:
  - a3p, multichain-testing: #11060

### Upgrade / Documentation Considerations

OCW operators have to accept their invitations before the upgrade, since their invitations are attached to ephemeral offer handlers. Consideration of addressing that is postponed to...

 - #11057
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant