https://github.com/chorusone/cosmos-multisig-tool
Multisig Tool for Cosmos Rebate Payments
https://github.com/chorusone/cosmos-multisig-tool
Last synced: about 1 year ago
JSON representation
Multisig Tool for Cosmos Rebate Payments
- Host: GitHub
- URL: https://github.com/chorusone/cosmos-multisig-tool
- Owner: ChorusOne
- License: apache-2.0
- Created: 2024-11-06T07:13:26.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-09T22:07:10.000Z (over 1 year ago)
- Last Synced: 2025-03-09T23:18:44.583Z (over 1 year ago)
- Language: TypeScript
- Size: 1.79 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Cosmoshub Multisig Tool
Forked from [cosmos/cosmos-multisig-ui](https://github.com/cosmos/cosmos-multisig-ui).
Adds functionality to auto-generate transactions from a CSV file.
## Setup and Run
```bash
# Run dgraph standalone docker image
$ docker run --rm -it -p "8080:8080" -p "9080:9080" -p "8000:8000" -v ~/dgraph:/dgraph "dgraph/standalone:v21.03.2"
# Run migrations
$ curl -X POST localhost:8080/admin/schema --data-binary '@db-schema.graphql'
# Create .env.local file
$ cp .env.sample .env.local
# Install Node packages
# Node version: v18.20.3
$ npm i
# Start the web application
$ npm run dev
# Vist http://localhost:3000 to access the multisig manager UI.
# Here you can create new multisigs and manage existing ones.
# This UI also allows you manually create multisig transactions.
# To automate transaction creation, we use the cosmosig CLI tool.
# Generate transactions programmatically by providing a CSV file
# containing the payout information. The CSV file must have columns
# as the superset of the columns present in payout.sample.csv.
$ ./cosmosig/cli/cosmosig.py payout new payout.sample.csv
# View the generated transactions
# Note the ID of the transaction which you'd like to start from
# the output of this command.
$ ./cosmosig/cli/cosmosig.py payout status
# Start a transaction
$ ./cosmosig/cli/cosmosig.py transaction start
# The output of this command will contain a link to the UI
# with the desired trasaction generated and ready to be signed
# by multiple parties.
# Note: at any given time, we can only have a single transaction in
# progress. This means we cannot start manother transaction
# simultaneously without completing the already started transaction.
# This is done to avoid `sequenceNumber` conflicts between transactions.
# Once a transaction has been signed by all the required parties
# and ultimately broadcasted, we need to mark it as complete for
# the cosmosig tool. Note that we don't need to provide any ID, because
# there can be only be at most 1 transaction in progress.
$ ./cosmosig/cli/cosmosig.py transaction complete
# Repeat the `transaction start` and `transaction complete` steps for all
# the remaning transactions in the payout.
```