-
Notifications
You must be signed in to change notification settings - Fork 58
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
[HotWallet] Add Fireblocks client #123
Conversation
0ffed4e
to
5d48d5b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added first set of comments. I'm still unsure how this fits with the remote signers framework @shrimalmadhur had created. Is it incompatible, or do you plan on also having this fireblocks client implement the remote signer interface? I'll defer to @shrimalmadhur here as he's the expert who designed and been thinking about remote signing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@shrimalmadhur and I sync'd on the design to support MPC hot wallet.
In summary, the set of API Fireblocks provides doesn't play nicely with the signer interface as it doesn't have a method to sign a transaction without broadcasting it (in a way that is secure). We'll implement a transaction sender interface that will sign + broadcast the transaction.
No matter which interface we end up implementing, this client is necessary to interact with Fireblocks.
5d48d5b
to
9a3d080
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
last minor nits
9a3d080
to
739875a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚀🚀🚀
This PR adds an http client that makes requests to Fireblocks, supporting two methods for now: list contracts and contract call.
The client will be used to implement a transaction sender that uses remote MPC.