Skip to content

Commit a48184e

Browse files
authored
add test script for multisig delegator to single sig delegatee (#996)
* refactor delegate script to use separate witnesses This illustrates the issue encountered in #975 and adds the steps needed to resolve it. * add script with multisig delegation * remove comments * remove redundant oobi resolution * remove use of backround script functions
1 parent a1640a0 commit a48184e

File tree

2 files changed

+92
-1
lines changed

2 files changed

+92
-1
lines changed
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
#!/bin/bash
2+
set -e
3+
4+
. "$(dirname "$0")/script-utils.sh"
5+
6+
delegator_1=$(random_name delegator_1)
7+
delegator_2=$(random_name delegator_2)
8+
delegate=$(random_name delegate)
9+
10+
kli init --name "$delegator_1" --nopasscode
11+
kli init --name "$delegator_2" --nopasscode
12+
kli init --name "$delegate" --nopasscode
13+
14+
delegator_witness_aid="BLskRTInXnMxWaGqcpSyMgo0nYbalW99cGZESrz3zapM"
15+
delegator_witness_url="http://127.0.0.1:5643/oobi/$delegator_witness_aid/controller"
16+
delegate_witness_aid="BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha"
17+
delegate_witness_url="http://127.0.0.1:5642/oobi/$delegate_witness_aid/controller"
18+
19+
kli oobi resolve --name "$delegator_1" --oobi "$delegator_witness_url"
20+
kli oobi resolve --name "$delegator_2" --oobi "$delegator_witness_url"
21+
kli oobi resolve --name "$delegate" --oobi "$delegate_witness_url"
22+
23+
kli incept --name "$delegator_1" --alias member --icount 1 --ncount 1 --isith 1 --nsith 1 --transferable --toad 1 --wit "$delegator_witness_aid"
24+
kli incept --name "$delegator_2" --alias member --icount 1 --ncount 1 --isith 1 --nsith 1 --transferable --toad 1 --wit "$delegator_witness_aid"
25+
kli ends add --name "$delegator_1" --alias member --eid "$delegator_witness_aid" --role mailbox
26+
kli ends add --name "$delegator_2" --alias member --eid "$delegator_witness_aid" --role mailbox
27+
28+
delegator_1_aid=$(kli aid --name "$delegator_1" --alias member)
29+
delegator_1_oobi=$(kli oobi generate --name "$delegator_1" --alias member --role witness | tail -n 1)
30+
delegator_2_aid=$(kli aid --name "$delegator_2" --alias member)
31+
delegator_2_oobi=$(kli oobi generate --name "$delegator_2" --alias member --role witness | tail -n 1)
32+
33+
kli oobi resolve --name "$delegator_1" --oobi "$delegator_2_oobi"
34+
kli oobi resolve --name "$delegator_2" --oobi "$delegator_1_oobi"
35+
36+
delegator_json=$(mktemp)
37+
cat << EOF > "$delegator_json"
38+
{
39+
"transferable": true,
40+
"wits": ["$delegator_witness_aid"],
41+
"aids": ["$delegator_1_aid", "$delegator_2_aid"],
42+
"toad": 1,
43+
"isith": "2",
44+
"nsith": "2"
45+
}
46+
EOF
47+
48+
kli multisig incept --name "$delegator_1" --alias member --group delegator --file "$delegator_json" &
49+
pid=$!
50+
kli multisig incept --name "$delegator_2" --alias member --group delegator --file "$delegator_json"
51+
wait $pid
52+
53+
# Create proxy and resolve OOBIs
54+
kli incept --name "$delegate" --alias proxy --icount 1 --ncount 1 --isith 1 --nsith 1 --transferable --toad 1 --wit "$delegate_witness_aid"
55+
kli ends add --name "$delegate" --alias proxy --eid "$delegate_witness_aid" --role mailbox
56+
proxy_oobi=$(kli oobi generate --name "$delegate" --alias proxy --role witness | tail -n 1)
57+
delegator_oobi=$(kli oobi generate --name "$delegator_1" --alias delegator --role witness | tail -n 1)
58+
delegator_aid=$(kli aid --name "$delegator_1" --alias delegator)
59+
60+
kli oobi resolve --name "$delegate" --oobi-alias delegator --oobi "${delegator_oobi}"
61+
kli oobi resolve --name "$delegator_1" --oobi-alias proxy --oobi "${proxy_oobi}"
62+
kli oobi resolve --name "$delegator_2" --oobi-alias proxy --oobi "${proxy_oobi}"
63+
64+
delegate_json=$(mktemp)
65+
cat << EOF > "$delegate_json"
66+
{
67+
"transferable": true,
68+
"toad": 1,
69+
"wits": ["$delegate_witness_aid"],
70+
"icount": 1,
71+
"ncount": 1,
72+
"isith": "1",
73+
"nsith": "1",
74+
"delpre": "$delegator_aid"
75+
}
76+
EOF
77+
78+
# Create delegated identifier
79+
kli incept --name "$delegate" --alias delegate --proxy proxy --file "$delegate_json" &
80+
PID_LIST="$!"
81+
kli delegate confirm --name "$delegator_1" --alias delegator --interact -Y &
82+
PID_LIST+=" $!"
83+
kli delegate confirm --name "$delegator_2" --alias delegator --interact -Y &
84+
PID_LIST+=" $!"
85+
wait $PID_LIST
86+
87+
kli status --name "$delegate" --alias delegate

scripts/demo/test_scripts.sh

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,13 @@ printf "\n************************************\n"
6565
"${script_dir}/basic/multisig-rotate-three-stooges.sh"
6666
isSuccess
6767

68+
printf "Running multisig-delegator.sh"
6869
printf "\n************************************\n"
69-
printf "Running multisig-delegate-delegator.sh"
70+
"${script_dir}/basic/multisig-delegator.sh"
71+
isSuccess
72+
7073
printf "\n************************************\n"
74+
printf "Running multisig-delegate-delegator.sh"
7175
"${script_dir}/basic/multisig-delegate-delegator.sh"
7276
isSuccess
7377

0 commit comments

Comments
 (0)