feat(sdk): add action builders#134
Open
joeymeere wants to merge 10 commits intoSquads-Protocol:mainfrom
Open
Conversation
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
someone shouldn't be able to call `txBuilder.withProposal().withApproval().withProposal()`, Typescript should stop them
prelim tests passing
ex: `buildFromVaultTransaction` takes a key for a `VaultTransaction` account, deserializes it, and creates a builder instance from it
Contributor
|
Looks great 🙌 Love the detailed docs above the individual functions, we should adopt this across the rest of the SDK as well 🔥 |
0xRigel
approved these changes
Oct 30, 2024
palmaswell-squads
approved these changes
Dec 6, 2024
| protected args: Omit<U, keyof BaseBuilderArgs>; | ||
| private built: boolean = false; | ||
| // Use this as an indicator to clear all instructions? | ||
| private sent: boolean = false; |
There was a problem hiding this comment.
You may have already considered this, but if you want methods and properties to be "truly" private, meaning they can't be accessed with trickery, I recommend using the native JS private properties #send: boolean = false.
In case you're curious: MDN: Private Properties
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds another export in the TS SDK called
actions, containing builders for various common actions in the SDK. These are optimized for quick succession with as few lines of code as possible.A developer using these would simply initialize the builder (
createThing) with minimal arguments, only covering what's required by the underlying instruction, with the ability to add-on more if needed for additional customization. From there, they can call it synchronously to chain methods for things like returning relevant inferred data (i.e transaction index), adding more complimentary instructions (like creating & voting on proposals), as well as returning a transaction or sending one like the base SDK.Actions include:
Examples: