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

Clean up market actor withdraw address handling #1092

Open
anorth opened this issue Jan 23, 2023 · 0 comments
Open

Clean up market actor withdraw address handling #1092

anorth opened this issue Jan 23, 2023 · 0 comments

Comments

@anorth
Copy link
Member

anorth commented Jan 23, 2023

The built-in market actor has odd address checking logic for withdrawals, different from the miner actor.

  • It only permits withdrawing to the miner owner (ignores beneficiary)
  • It is only allows the owner or worker address to be the caller (ignores other control addresses)

Allowing only the worker address specifically prevents retiring the GetControlAddresses method from the miner, as desired by #816. So one concrete change to make is to change the behaviour to accept any control address, and this will be a pattern that other markets can follow.

For payout beneficiaries, maybe there's a design question here. Markets shouldn't have to know too much about how miner beneficiary/equity structure works. It would be nice to delegate decision about where payment goes to the miner actor, or something. Should we pay to the actor itself (then the user will need to withdraw again from there)? Or add a value-receiving method to the miner actor, which routes it out to current beneficiary? Or add a proxy method to the miner so that a message can be routed through it? Or use standard message authentication?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Status: 📋 Backlog
Development

No branches or pull requests

1 participant