Skip to content

Conversation

@Le-Caignec
Copy link
Contributor

@Le-Caignec Le-Caignec commented Sep 29, 2025

Add Safe Transaction Proposer Reusable Workflow

Summary

Adds a reusable GitHub Actions workflow to create and propose transactions to Safe multi-signature wallets.

Technical Details

  • Workflow: .github/workflows/safe-transaction.yml
  • Dependencies: Safe API Kit, Protocol Kit, Ethers.js
  • Inputs: Safe address, target address, transaction data, RPC URL, API key
  • Outputs: Transaction hash and details
  • Security: Hardcoded Call operation (no DelegateCall)

Usage

jobs:
  safe-transaction:
    uses: ./.github/workflows/safe-transaction.yml
    secrets:
      proposer-private-key: ${{ secrets.PROPOSER_PRIVATE_KEY }}
      safe-api-key: ${{ secrets.SAFE_API_KEY }}
    with:
      safe-address: "0x..."
      transaction-target-address: "0x..."
      transaction-data: "0x..."

@Le-Caignec Le-Caignec self-assigned this Sep 29, 2025
@Le-Caignec Le-Caignec changed the title feat: Add new reusable workflow feat: Add new Safe Wallet reusable workflow Sep 29, 2025
@Le-Caignec Le-Caignec marked this pull request as ready for review September 29, 2025 09:53
@Le-Caignec Le-Caignec requested a review from Copilot September 29, 2025 10:01
Copy link

Copilot AI left a 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 introduces a new reusable GitHub Actions workflow for proposing transactions to Safe (Gnosis Safe) multi-signature wallets. The implementation provides a complete solution for integrating Safe transaction proposals into CI/CD pipelines.

Key changes:

  • Adds a complete Safe transaction workflow with Node.js action implementation
  • Provides comprehensive documentation and usage examples
  • Implements proper security practices for handling private keys

Reviewed Changes

Copilot reviewed 7 out of 8 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
safe-transaction/src/index.js Core JavaScript implementation handling Safe transaction creation and proposal
.github/workflows/safe-transaction.yml Reusable GitHub Actions workflow definition with inputs/outputs
safe-transaction/package.json NPM package configuration with Safe SDK dependencies
safe-transaction/README.md Comprehensive documentation with usage examples
safe-transaction/version.txt Version tracking file
safe-transaction/CHANGELOG.md Initial changelog entry
safe-transaction/.gitignore Standard gitignore for Node.js projects

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment on lines 59 to 60
# TODO: Only for testing, remove before merging
ref: feature/add-safe-transaction-reusable-workflow
Copy link
Member

Choose a reason for hiding this comment

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

Reminder

Le-Caignec and others added 12 commits October 6, 2025 12:47
Co-authored-by: Zied Guesmi <26070035+zguesmi@users.noreply.github.com>
Co-authored-by: Zied Guesmi <26070035+zguesmi@users.noreply.github.com>
Co-authored-by: Zied Guesmi <26070035+zguesmi@users.noreply.github.com>
Co-authored-by: Zied Guesmi <26070035+zguesmi@users.noreply.github.com>
Co-authored-by: Zied Guesmi <26070035+zguesmi@users.noreply.github.com>
Co-authored-by: Zied Guesmi <26070035+zguesmi@users.noreply.github.com>
Co-authored-by: Zied Guesmi <26070035+zguesmi@users.noreply.github.com>
- Created a new GitHub Actions workflow for proposing transactions to a Gnosis Safe multisig wallet.
- Added inputs for RPC URL, Safe address, transaction target, value, and data.
- Implemented job steps for checking out the repository, setting up Node.js, installing dependencies, building the action, and proposing the transaction.
- Included a README with usage instructions and a changelog.
- Added TypeScript configuration and source code for the action.
- Created .gitignore to exclude unnecessary files and directories.
- Initialized package.json and package-lock.json for dependency management.
- Added version tracking with version.txt.

core.info("📝 Creating Safe transaction...");

// Create the transaction
Copy link
Contributor

Choose a reason for hiding this comment

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

what is the difference with the above comment // Create transaction
Those comments seems a little redondant since the actions are clear

Copy link
Contributor Author

Choose a reason for hiding this comment

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

fix Commit: cc68147

Copy link
Contributor

Choose a reason for hiding this comment

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

Thanks, you can remove all redondant comments, unless you don't feel confortable

Le-Caignec and others added 8 commits October 6, 2025 15:45
Co-authored-by: Zied Guesmi <26070035+zguesmi@users.noreply.github.com>
Co-authored-by: Zied Guesmi <26070035+zguesmi@users.noreply.github.com>
Co-authored-by: Zied Guesmi <26070035+zguesmi@users.noreply.github.com>
Co-authored-by: Zied Guesmi <26070035+zguesmi@users.noreply.github.com>
Copy link
Member

@zguesmi zguesmi left a comment

Choose a reason for hiding this comment

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

Let's use this !

@Le-Caignec Le-Caignec merged commit 2d48427 into main Oct 6, 2025
@Le-Caignec Le-Caignec deleted the feature/add-safe-transaction-reusable-workflow branch October 6, 2025 15:10
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.

4 participants