-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathallowalltovote.rho
35 lines (35 loc) · 1.42 KB
/
allowalltovote.rho
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#define $community "colab"
#define $ballot "weather"
new lockerCh, ret, ret1, ret2, ret3, loop, $stdout, $lookup in {
lookup!($locker_%%$myusername, *lockerCh) |
for(locker <- lockerCh) {
locker!("get", $myprivkey.hexToBytes(), $locker_nonce_%%$myusername, *stdout, *ret) |
for (@items <- ret) {
@{items.get("peek")}!("member", $community, *ret) |
@{items.get("peek")}!("ballot", $ballot, *ret1) |
for ( @[{"read": *read, ..._}, ..._] <- ret; @[{"admin": *admin, ..._}, ..._] <- ret1 ) {
stdout!("adding users") |
contract loop ( @map ) = {
match map {
{} => Nil
{ username: {"inbox": *inbox, "delegate": delegate, ..._}, ...tail } => {
stdout!(["user",username]) |
admin!("giveRightToVote", username, *ret2) |
for (@vote <- ret2) {
stdout!([username, "added"]) |
inbox!(["vote", $ballot, vote], *stdout) |
@vote!("delegate",delegate, *stdout)
}|
loop!(tail)
}
somethingelse => stdout!(["somethingelse", somethingelse])
}
}|
read!(*ret3) |
for ( @members <- ret3 ) {
stdout!(["keys",members.keys()]) |
loop!(members)
}} |
stdout!(["#define $locker_nonce_" ++ $myusername, {$locker_nonce_%%$myusername + 1}])
}}
}