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

Remove Assembled transaction #15

Merged
merged 1 commit into from
Oct 4, 2024
Merged

Remove Assembled transaction #15

merged 1 commit into from
Oct 4, 2024

Conversation

leighmcculloch
Copy link
Member

@leighmcculloch leighmcculloch commented Oct 3, 2024

What

Remove Assembled transaction and simulate and assemble functionality from the client.

Why

Moving the logic into the stellar-cli.

It used to be part of the CLI and when the RPC client was separated from the CLI repo, the assembled tx type and it's related logic got pulled over into the CLI, but it's wrapped up in CLI logic.

The assembly logic would be useful to live somewhere else on its own, or as part of some sort of Rust Stellar SDK if one ever exists, but at the moment the boundary of that type is messy, and it's implementation has logging and other applications concerns wrapped up in it.

In the interest of focusing in the near term on the best CLI user experience, and not getting too caught up in "finding the ultimate code structure" for this which isn't a primary goal, moving it seems like the reasonable thing to do right now, so that through the course of evolving the CLI this type can evolve and find it's place and hopefully surface a better structure to separate into it's own "help you assemble txs" thing, or possibly back into the RPC if at that point it does less.

My hope is that by bringing it close to the CLI, who is the primary user, and unpacking and repacking it, we'll find an API and interface that is a sweet spot to either package on its own, or include back into the rpc client, and potentially use as a guide to implement similar elsewhere or potentially influence the api of the rpc. Likely some of this functionality will move into the xdr lib.

The Assembled type and related functionality are being added as much as possible as a simple copy-paste to limit unnecessary changes in:

Copy link
Contributor

@willemneal willemneal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! Definitely doesn't belong here.

@leighmcculloch leighmcculloch merged commit b6b4ef0 into main Oct 4, 2024
6 checks passed
@leighmcculloch leighmcculloch deleted the disassemble branch October 4, 2024 15:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants