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

Add mechanism to transfer Dusk between Moonlight and Phoenix #1994

Closed
ureeves opened this issue Jul 22, 2024 · 0 comments · Fixed by #2028
Closed

Add mechanism to transfer Dusk between Moonlight and Phoenix #1994

ureeves opened this issue Jul 22, 2024 · 0 comments · Fixed by #2028
Assignees
Labels
module:contracts Issues related to the genesis contracts type:enhancement Issues concerning code or feature improvement (performance, refactoring, etc)

Comments

@ureeves
Copy link
Member

ureeves commented Jul 22, 2024

Currently the only way to transfer Dusk between Moonlight and Phoenix is to deploy a contract for this very purpose. This requires multiple transactions - one to deposit to a contract, and another to withdraw to whichever model the transaction chooses.
It would be a more elegant solution to make it possible to do this is one single transaction.

  • I agree this is something that should be added, but it's probably best to do it in the scope of a new PR/issue, since it is additional functionality and (potentially) more surface for the transfer contract.

Originally posted by @ureeves in #1930 (comment)

@HDauven HDauven added module:contracts Issues related to the genesis contracts type:enhancement Issues concerning code or feature improvement (performance, refactoring, etc) labels Jul 24, 2024
ureeves pushed a commit that referenced this issue Jul 25, 2024
We add the `convert` function to the contract, leveraging the deposit
and withdrawal capabilities to atomically swap Dusk between the Phoenix
and Moonlight models.

The function is meant to be called directly - meaning as the first and
only call - and takes a `Withdraw` as an argument, such that the user
can prove ownership of either the account or address being deposited to.

Resolves: #1994
ureeves pushed a commit that referenced this issue Jul 25, 2024
We add the `convert` function to the contract, leveraging the deposit
and withdrawal capabilities to atomically swap Dusk between the Phoenix
and Moonlight models.

The function is meant to be called directly - meaning as the first and
only call - and takes a `Withdraw` as an argument, such that the user
can prove ownership of either the account or address being deposited to.

Resolves: #1994
ureeves pushed a commit that referenced this issue Jul 26, 2024
We add the `convert` function to the contract, leveraging the deposit
and withdrawal capabilities to atomically swap Dusk between the Phoenix
and Moonlight models.

The function is meant to be called directly - meaning as the first and
only call - and takes a `Withdraw` as an argument, such that the user
can prove ownership of either the account or address being deposited to.

Resolves: #1994
ureeves pushed a commit that referenced this issue Jul 26, 2024
We add the `convert` function to the contract, leveraging the deposit
and withdrawal capabilities to atomically swap Dusk between the Phoenix
and Moonlight models.

The function is meant to be called directly - meaning as the first and
only call - and takes a `Withdraw` as an argument, such that the user
can prove ownership of either the account or address being deposited to.

Resolves: #1994
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
module:contracts Issues related to the genesis contracts type:enhancement Issues concerning code or feature improvement (performance, refactoring, etc)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants