Skip to content
This repository has been archived by the owner on Jun 13, 2024. It is now read-only.

helix-bridge/dao

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Helix Dao Command-line interface

~ dao-cli
dao-cli 0.2.0
Dao utilities

USAGE:
    dao-cli <SUBCOMMAND>

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

SUBCOMMANDS:
    help        Prints this message or the help of the given subcommand(s)
    pausable    Pausable related commands
    proposal    Proposal related commands
    seth        Encode calldata using abi.encode
    timelock    TimeLock related commands.
    wallet      MultiSigWallet related commands.

Installation

cargo install --git https://github.com/helex-bridge/dao --bins dao-cli --locked

Supported Network

  • Crab

Proposal lifecycle

Timelocked proposal are identified by a unique id (their hash) and follow a specific lifecycle:

`Unset` -> `Pending` -> `Pending` + `Ready` -> `Done`
                                        └────> `Cancel`

Proposal status:

  • Unset: An operation that is not part of the proposal mechanism.
  • Pending: An operation that has been scheduled, before the timer expires.
  • Ready: An operation that has been scheduled, after the timer expires.
  • Done: An operation that has been executed.
  • Cancel: An operation that has been cancelled.

Proposal list

dao-cli proposal list

It will take a long time for scanning the all blocks. so you can set the --latest <block> to see the latest block's proposal.

--no-cancel
--no-done
--no-pending
--no-ready

You can set the flag above to filter the proposal.

Initiate multi-signature transactions to schedule a new proposal

dao-cli proposal schedule <target> <value> <data> <predecessor> <salt> <delay> --private-key <private-key>
  • Target, the address of the smart contract that the proposal should operate on.
  • Value, in wei, that should be sent with the transaction. Most of the time this will be 0. Ether can be deposited before-end or passed along when executing the transaction.
  • Data, containing the encoded function selector and parameters of the call.
dao-cli seth calldata "transfer(address,uint256)" 2401224012bAE7C2f217392665CA7abC16dCDE1e 1000000000
0xa9059cbb0000000000000000000000002401224012bae7c2f217392665ca7abc16dcde1e0000000000000000000000000000000000000000000000000000000000000064
  • Predecessor, that specifies a dependency between operations. This dependency is optional. Use bytes32(0) if the operation does not have any dependency.
  • Salt, used to disambiguate two otherwise identical operations. We use the proposed ID as the Salt. Proposer should remember the ID.
  • private-key, your private key string, or you can set the ENV variable ETH_PRIVATE_KEY.

Execute a proposal

dao-cli proposal execute <target> <value> <data> <predecessor> <salt> --private-key <private-key>

Initiate multi-signature transactions to cancel a proposal

dao-cli proposal cancel <id> --private-key <private-key>

MultiSigWallet transactions list

dao-cli wallet tx list

MultiSigWallet confirm a transaction

dao-cli wallet tx confirm <tx-id> --private-key <private-key>

MultiSigWallet revoke a confirmation

dao-cli wallet tx revoke <tx-id> --private-key <private-key>

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published