Derive macro icepick_module::Interface
to automatically generate Operations and imply Deserialize #19
Labels
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: public/icepick#19
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This would
impl Operations
to makeOperations::operations() -> Vec<Operation>
that can be parsed by Icepick, as well as make a structOperationsRequest
that is#[serde(flatten)]
so it can holdderived_keys
and theblob
from the previous invocation.Maybe also have a
#[interface(requests = Solana)]
which makes aSolana
struct that is flattened and is used toimpl Module
andhandle_request()
. As a side note, this would makehandle_request()
consume Self.To limit the scope of this, I need to decide to do this either by having enum-of-struct-tuples-of-struct, or enum-of-structs. I don't want to complicate everything this early by supporting both. I think the easiest thing to do i.e. not complicate the codebase would be to support only enum-of-struct, i.e. what was listed in the issue. Then, making it support how it exists in-repo now can be implemented down the line. Every field in the struct would require a FromStr implementation to deserialize from the blob parsed by clap::Command and sent to the application, until perhaps down the line (far in the future) we can move to something like exporting a JSON Schema to Icepick, having a Clap parser for that, and pass that back to be parsed.