dao: all documentation updated

This commit is contained in:
skoupidi
2024-12-30 18:36:30 +02:00
parent 005abff8ca
commit c96fb2a0d8
10 changed files with 389 additions and 197 deletions

View File

@@ -35,45 +35,46 @@ testnet user guide.
Note: List is not exhaustive. Missing functionalities that are not part
of the guide can be added for future regressions.
| # | Description | Command | Status |
|----|---------------------------|----------------------------------------------------------|--------------------|
| 0 | Initialization | wallet --initialize | Pass |
| 1 | Key generation | wallet --keygen | Pass |
| 2 | Set default wallet | wallet --default-address {ADDR_ID} | Pass |
| 3 | Default address retrieval | wallet --address | Pass |
| 4 | Block scanning | scan | Pass |
| 5 | Block subscribing | subscribe | Pass |
| 6 | Balance retrieval | wallet --balance | Pass |
| 7 | Aliases retrieval | alias show | Pass |
| 8 | Mint auth generation | token generate-mint | Pass |
| 9 | Mint auths retrieval | token list | Pass |
| 10 | Alias add | alias add {ALIAS} {TOKEN} | Pass |
| 11 | Aliases retrieval | alias show | Pass |
| 12 | Mint generation | token mint {ALIAS} {AMOUNT} {ADDR} | Pass |
| 13 | Token freeze | token freeze {ALIAS} | Pass |
| 14 | Transfer | transfer {AMOUNT} {ALIAS} {ADDR} | Pass |
| 15 | Coins retrieval | wallet --coins | Pass |
| 16 | OTC initialization | otc init -v {AMOUNT}:{AMOUNT} -t {ALIAS}:{ALIAS} | Pass |
| 17 | OTC join | otc join | Pass |
| 18 | OTC sign | otc sign | Pass |
| 19 | DAO create | dao create {LIMIT} {QUORUM} {RATIO} {TOKEN} | Pass |
| 20 | DAO view | dao view | Pass |
| 21 | DAO import | dao import | Pass |
| 22 | DAO list | dao list | Pass |
| 23 | DAO mint | dao mint {DAO} | Pass |
| 24 | DAO balance | dao balance {DAO} | Pass |
| 25 | DAO proposals retrieval | dao proposals {DAO} | Pass |
| 26 | DAO propose a transfer | dao propose-transfer {DAO} {DUR} {AMOUNT} {TOKEN} {ADDR} | Pass |
| 27 | DAO proposals retrieval | dao proposals {DAO} | Pass |
| 28 | DAO proposal retrieval | dao proposal {PROPOSAL_BULLA} | Pass |
| 29 | DAO proposal export | dao proposal {PROPOSAL_BULLA} --export | Pass |
| 30 | DAO proposal import | dao proposal-import | Pass |
| 31 | DAO proposal mint | dao proposal {PROPOSAL_BULLA} --mint-proposal | Pass |
| 32 | DAO vote | dao vote {PROPOSAL_BULLA} {VOTE} {WEIGHT} | Pass |
| 33 | DAO proposal execution | dao exec {PROPOSAL_BULLA} | Pass |
| 34 | Coins unspend | unspend {COIN} | Pass |
| 35 | Transaction inspect | inspect | Pass |
| 36 | Transaction simulate | explorer simulate-tx | Pass |
| 37 | Transaction broadcast | broadcast | Pass |
| 38 | Transaction attach fee | attach-fee | Pass |
| # | Description | Command | Status |
|----|------------------------------|-----------------------------------------------------------------|--------|
| 0 | Initialization | wallet --initialize | Pass |
| 1 | Key generation | wallet --keygen | Pass |
| 2 | Set default wallet | wallet --default-address {ADDR_ID} | Pass |
| 3 | Default address retrieval | wallet --address | Pass |
| 4 | Block scanning | scan | Pass |
| 5 | Block subscribing | subscribe | Pass |
| 6 | Balance retrieval | wallet --balance | Pass |
| 7 | Aliases retrieval | alias show | Pass |
| 8 | Mint auth generation | token generate-mint | Pass |
| 9 | Mint auths retrieval | token list | Pass |
| 10 | Alias add | alias add {ALIAS} {TOKEN} | Pass |
| 11 | Aliases retrieval | alias show | Pass |
| 12 | Mint generation | token mint {ALIAS} {AMOUNT} {ADDR} | Pass |
| 13 | Token freeze | token freeze {ALIAS} | Pass |
| 14 | Transfer | transfer {AMOUNT} {ALIAS} {ADDR} | Pass |
| 15 | Coins retrieval | wallet --coins | Pass |
| 16 | OTC initialization | otc init -v {AMOUNT}:{AMOUNT} -t {ALIAS}:{ALIAS} | Pass |
| 17 | OTC join | otc join | Pass |
| 18 | OTC sign | otc sign | Pass |
| 19 | DAO create | dao create {LIMIT} {QUORUM} {EARLY_EXEC_QUORUM} {RATIO} {TOKEN} | Pass |
| 20 | DAO view | dao view | Pass |
| 21 | DAO import | dao import | Pass |
| 22 | DAO update keys | dao update-keys | Pass |
| 23 | DAO list | dao list | Pass |
| 24 | DAO mint | dao mint {DAO} | Pass |
| 25 | DAO balance | dao balance {DAO} | Pass |
| 26 | DAO proposals retrieval | dao proposals {DAO} | Pass |
| 27 | DAO propose a transfer | dao propose-transfer {DAO} {DUR} {AMOUNT} {TOKEN} {ADDR} | Pass |
| 28 | DAO propose generic | dao propose-generic {DAO} {DUR} {AMOUNT} {TOKEN} {ADDR} | Pass |
| 29 | DAO proposal retrieval | dao proposal {PROPOSAL_BULLA} | Pass |
| 30 | DAO proposal export | dao proposal {PROPOSAL_BULLA} --export | Pass |
| 31 | DAO proposal import | dao proposal-import | Pass |
| 32 | DAO proposal mint | dao proposal {PROPOSAL_BULLA} --mint-proposal | Pass |
| 33 | DAO vote | dao vote {PROPOSAL_BULLA} {VOTE} {WEIGHT} | Pass |
| 34 | DAO proposal execution | dao exec {PROPOSAL_BULLA} | Pass |
| 35 | DAO proposal early execution | dao exec --early {PROPOSAL_BULLA} | Pass |
| 36 | Coins unspend | unspend {COIN} | Pass |
| 37 | Transaction inspect | inspect | Pass |
| 38 | Transaction simulate | explorer simulate-tx | Pass |
| 39 | Transaction broadcast | broadcast | Pass |
| 40 | Transaction attach fee | attach-fee | Pass |

View File

@@ -5,12 +5,14 @@ set -x
# Path to `drk` binary
DRK="../../../drk -c drk.toml"
# First run the consensus node and the faucet:
# First run the darkfid node and the miner:
#
# ./clean.sh
# ./init-wallet.sh
# ./tmux_sessions.sh -vv
#
# In another term run the wallet syncing:
# In another term run the wallet syncing,
# and wait until some blocks are mined:
#
# ./sync-wallet.sh
#
@@ -61,8 +63,8 @@ wait_tokens() {
}
mint_dao() {
$DRK dao create 20 10 0.67 MLDY > /tmp/dao.dat
$DRK dao import MiladyMakerDAO < /tmp/dao.dat
$DRK dao create 20 10 10 0.67 MLDY > /tmp/dao.toml
$DRK dao import MiladyMakerDAO < /tmp/dao.toml
$DRK dao list
$DRK dao list MiladyMakerDAO
@@ -70,19 +72,20 @@ mint_dao() {
}
wait_dao_mint() {
while [ "$($DRK dao list MiladyMakerDAO | grep '^Tx hash: ' | awk '{print $3}')" = None ]; do
while [ "$($DRK dao list MiladyMakerDAO | grep '^Transaction hash: ' | awk '{print $3}')" = None ]; do
sleep 1
done
}
fill_treasury() {
PUBKEY="$($DRK dao list 1 | grep '^Public key: ' | cut -d ' ' -f3)"
BULLA="$($DRK dao list 1 | grep '^Bulla: ' | cut -d' ' -f2)"
$DRK transfer 20 WCKD "$PUBKEY" --dao "$BULLA" | tee /tmp/xfer.tx | $DRK broadcast
PUBKEY="$($DRK dao list MiladyMakerDAO | grep '^Notes Public key: ' | cut -d ' ' -f4)"
SPEND_HOOK="$($DRK dao spend-hook)"
BULLA="$($DRK dao list MiladyMakerDAO | grep '^Bulla: ' | cut -d' ' -f2)"
$DRK transfer 20 WCKD "$PUBKEY" "$SPEND_HOOK" "$BULLA" | tee /tmp/xfer.tx | $DRK broadcast
}
dao_balance() {
BALANCE=$($DRK dao balance 1 2>/dev/null)
BALANCE=$($DRK dao balance MiladyMakerDAO 2>/dev/null)
# No tokens received at all yet
if echo "$BALANCE" | grep -q "No unspent balances found"; then
echo 0
@@ -108,51 +111,44 @@ wait_dao_treasury() {
propose() {
MY_ADDR=$($DRK wallet --address)
$DRK dao balance MiladyMakerDAO
$DRK dao propose MiladyMakerDAO "$MY_ADDR" 0.1 WCKD > /tmp/propose.tx
PROPOSAL="$($DRK dao propose-transfer MiladyMakerDAO 1 5 WCKD "$MY_ADDR" | cut -d' ' -f3)"
$DRK dao proposal "$PROPOSAL" --mint-proposal > /tmp/propose.tx
$DRK broadcast < /tmp/propose.tx
}
proposal_status() {
PROPOSALS_LEN=$($DRK dao proposals MiladyMakerDAO | wc -l)
if [ "$PROPOSALS_LEN" = 0 ]; then
echo 0
else
echo 1
fi
}
wait_proposal() {
while [ "$(proposal_status)" = 0 ]; do
PROPOSAL="$($DRK dao proposals MiladyMakerDAO | cut -d' ' -f2)"
while [ "$($DRK dao proposal $PROPOSAL | grep '^Proposal transaction hash: ' | awk '{print $4}')" = None ]; do
sleep 1
done
}
vote() {
PROPOSAL_ID=1
$DRK dao vote MiladyMakerDAO "$PROPOSAL_ID" 1 20 > /tmp/dao-vote.tx
PROPOSAL="$($DRK dao proposals MiladyMakerDAO | cut -d' ' -f2)"
$DRK dao vote "$PROPOSAL" 1 > /tmp/dao-vote.tx
$DRK broadcast < /tmp/dao-vote.tx
}
vote_status() {
PROPOSAL_ID=1
$DRK dao proposal MiladyMakerDAO "$PROPOSAL_ID" | grep -q yes
echo $?
}
wait_vote() {
while [ "$(vote_status)" != 0 ]; do
PROPOSAL="$($DRK dao proposals MiladyMakerDAO | cut -d' ' -f2)"
while [ "$($DRK dao proposal $PROPOSAL | grep '^Current proposal outcome: ' | awk '{print $4}')" != "Approved" ]; do
sleep 1
done
}
do_exec() {
PROPOSAL_ID=1
$DRK dao exec MiladyMakerDAO "$PROPOSAL_ID" > /tmp/dao-exec.tx
PROPOSAL="$($DRK dao proposals MiladyMakerDAO | cut -d' ' -f2)"
$DRK dao exec --early $PROPOSAL > /tmp/dao-exec.tx
$DRK broadcast < /tmp/dao-exec.tx
}
$DRK wallet --keygen
wait_exec() {
PROPOSAL="$($DRK dao proposals MiladyMakerDAO | cut -d' ' -f2)"
while [ "$($DRK dao proposal $PROPOSAL | grep '^Proposal was executed on transaction: ' | awk '{print $6}')" = None ]; do
sleep 1
done
}
mint_tokens
wait_tokens
mint_dao
@@ -164,3 +160,4 @@ wait_proposal
vote
wait_vote
do_exec
wait_exec

View File

@@ -3,7 +3,7 @@ set -e
set -x
# Path to `drk` binary
DRK="../../../drk -vv -c drk.toml"
DRK="../../../drk -c drk.toml"
while true; do
if $DRK ping 2> /dev/null; then