-
Notifications
You must be signed in to change notification settings - Fork 11
feat(APP-385): Implement IPFS pinning on download in proposal action composition #931
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
Conversation
|
🚀 Preview Deployment: View Here |
...reateProposalFormActions/proposalActions/updateDaoMetadataAction/updateDaoMetadataAction.tsx
Show resolved
Hide resolved
milosh86
left a comment
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.
Hey great work ... I left a couple of larger comments, because there is an overlap with decoding of uploaded actions and I'm looking how best to align those 2 PRs.
src/modules/governance/components/actionComposer/actionComposer/actionComposer.tsx
Outdated
Show resolved
Hide resolved
src/modules/governance/components/actionComposer/actionComposer/actionComposer.tsx
Outdated
Show resolved
Hide resolved
...reateProposalFormActions/proposalActions/updateDaoMetadataAction/updateDaoMetadataAction.tsx
Show resolved
Hide resolved
...reateProposalFormActions/proposalActions/updateDaoMetadataAction/updateDaoMetadataAction.tsx
Outdated
Show resolved
Hide resolved
...roposalFormActions/proposalActions/updatePluginMetadataAction/updatePluginMetadataAction.tsx
Outdated
Show resolved
Hide resolved
...rnance/components/createProposalForm/createProposalFormActions/createProposalFormActions.tsx
Outdated
Show resolved
Hide resolved
...rnance/components/createProposalForm/createProposalFormActions/createProposalFormActions.tsx
Outdated
Show resolved
Hide resolved
src/modules/governance/hooks/useMetadataActionPin/useMetadataActionPin.ts
Outdated
Show resolved
Hide resolved
milosh86
left a comment
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.
Looks much simpler now 👍 Left a couple of minor comments, but you can skip 'em if not relevant.
...osalFormActions/proposalActions/updatePluginMetadataAction/updatePluginMetadataAction.api.ts
Outdated
Show resolved
Hide resolved
...roposalFormActions/proposalActions/updatePluginMetadataAction/updatePluginMetadataAction.tsx
Outdated
Show resolved
Hide resolved
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.
Pull request overview
This PR implements IPFS metadata pinning during the download of proposal actions. When users download actions as JSON, metadata actions (DAO and plugin updates) are now pinned to IPFS and their encoded transaction data is included in the export.
Changes:
- Added IPFS pinning logic to the download actions flow for metadata update actions
- Extracted setMetadata ABI definition to a shared constant file
- Added UI support for loading and error states during the download/pinning process
Reviewed changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| wizardPageStep.tsx | Added disableNext prop for future use in disabling next button |
| proposalActionsImportExportUtils.ts | Simplified JSDoc comments to be more concise |
| createProposalPageClientSteps.tsx | Removed outdated comment |
| setMetadataAbi.ts | New constant file for setMetadata ABI definition, extracted from action components |
| updatePluginMetadataAction.tsx | Refactored to use shared setMetadataAbi constant |
| updatePluginMetadataAction.api.ts | Extended type definition to optionally include encoded data field |
| updateDaoMetadataAction.tsx | Refactored to use shared setMetadataAbi constant and updated type |
| createProposalFormActions.tsx | Implemented IPFS pinning and encoding logic in download handler with error handling |
| actionComposer.tsx | Added UI support for pinning states (loading, error, retry) in download dropdown |
| en.json | Added translation keys for download pinning UI states |
| .changeset/nine-bees-poke.md | Documented the feature as a minor version change |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
src/modules/governance/components/actionComposer/actionComposer/actionComposer.tsx
Outdated
Show resolved
Hide resolved
...rnance/components/createProposalForm/createProposalFormActions/createProposalFormActions.tsx
Outdated
Show resolved
Hide resolved
...rnance/components/createProposalForm/createProposalFormActions/createProposalFormActions.tsx
Outdated
Show resolved
Hide resolved
...rnance/components/createProposalForm/createProposalFormActions/createProposalFormActions.tsx
Outdated
Show resolved
Hide resolved
...reateProposalFormActions/proposalActions/updateDaoMetadataAction/updateDaoMetadataAction.tsx
Outdated
Show resolved
Hide resolved
...rnance/components/createProposalForm/createProposalFormActions/createProposalFormActions.tsx
Outdated
Show resolved
Hide resolved
milosh86
left a comment
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.
👍
Description
Implement IPFS pinning on download in proposal action composition.
The goal here is to create an accurate and usable JSON file on download, whereas previously we didn't get a IPFS CID until after the proposal was published.
Type of Change
Developer Checklist:
Review Checklist: