|
@@ -52,7 +52,7 @@ async fn main() {
|
|
opts.optflag("I", "invite", "generate invitation for a friend");
|
|
opts.optflag("I", "invite", "generate invitation for a friend");
|
|
opts.optflag("L", "level-up", "increase trust level");
|
|
opts.optflag("L", "level-up", "increase trust level");
|
|
opts.optflag("N", "new-lox-cred", "get a new Lox Credential");
|
|
opts.optflag("N", "new-lox-cred", "get a new Lox Credential");
|
|
- opts.optflag("R", "redeem", "redeem invitation");
|
|
|
|
|
|
+ opts.optopt("R", "redeem", "redeem invitation", "INVITE_FILE");
|
|
opts.optopt(
|
|
opts.optopt(
|
|
"",
|
|
"",
|
|
"server",
|
|
"server",
|
|
@@ -145,11 +145,11 @@ async fn main() {
|
|
(cred, bucket)
|
|
(cred, bucket)
|
|
};
|
|
};
|
|
|
|
|
|
- let lox_cred = if matches.opt_present("L") {
|
|
|
|
|
|
+ let (lox_cred, bucket) = if matches.opt_present("L") {
|
|
let old_level = get_cred_trust_level(&lox_cred);
|
|
let old_level = get_cred_trust_level(&lox_cred);
|
|
|
|
|
|
// If trust level is 0, do trust promotion, otherwise level up.
|
|
// If trust level is 0, do trust promotion, otherwise level up.
|
|
- let cred = if old_level == 0 {
|
|
|
|
|
|
+ let (cred, bucket) = if old_level == 0 {
|
|
if eligible_for_trust_promotion(&net, &lox_cred).await {
|
|
if eligible_for_trust_promotion(&net, &lox_cred).await {
|
|
let migration_cred =
|
|
let migration_cred =
|
|
trust_promotion(&net, &lox_cred, get_lox_pub(&lox_auth_pubkeys)).await;
|
|
trust_promotion(&net, &lox_cred, get_lox_pub(&lox_auth_pubkeys)).await;
|
|
@@ -161,14 +161,15 @@ async fn main() {
|
|
get_migration_pub(&lox_auth_pubkeys),
|
|
get_migration_pub(&lox_auth_pubkeys),
|
|
)
|
|
)
|
|
.await;
|
|
.await;
|
|
- cred
|
|
|
|
|
|
+ let bucket = get_bucket(&net, &cred).await;
|
|
|
|
+ (cred, bucket)
|
|
} else {
|
|
} else {
|
|
- lox_cred
|
|
|
|
|
|
+ (lox_cred, bucket)
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
if eligible_for_level_up(&net, &lox_cred).await {
|
|
if eligible_for_level_up(&net, &lox_cred).await {
|
|
let encbuckets = get_reachability_credential(&net).await;
|
|
let encbuckets = get_reachability_credential(&net).await;
|
|
- let cred = level_up(
|
|
|
|
|
|
+ let (cred, bucket) = level_up(
|
|
&net,
|
|
&net,
|
|
&lox_cred,
|
|
&lox_cred,
|
|
&encbuckets,
|
|
&encbuckets,
|
|
@@ -176,21 +177,22 @@ async fn main() {
|
|
get_reachability_pub(&lox_auth_pubkeys),
|
|
get_reachability_pub(&lox_auth_pubkeys),
|
|
)
|
|
)
|
|
.await;
|
|
.await;
|
|
- cred
|
|
|
|
|
|
+ (cred, bucket)
|
|
} else {
|
|
} else {
|
|
- lox_cred
|
|
|
|
|
|
+ (lox_cred, bucket)
|
|
}
|
|
}
|
|
};
|
|
};
|
|
save_object(&cred, &lox_cred_filename);
|
|
save_object(&cred, &lox_cred_filename);
|
|
|
|
+ save_object(&bucket, &bucket_filename);
|
|
let new_level = get_cred_trust_level(&cred);
|
|
let new_level = get_cred_trust_level(&cred);
|
|
if new_level > old_level {
|
|
if new_level > old_level {
|
|
println!("Old level: {}\nNew level: {}", old_level, new_level);
|
|
println!("Old level: {}\nNew level: {}", old_level, new_level);
|
|
} else if new_level == old_level {
|
|
} else if new_level == old_level {
|
|
println!("Unable to level up. Current level: {}", new_level);
|
|
println!("Unable to level up. Current level: {}", new_level);
|
|
}
|
|
}
|
|
- cred
|
|
|
|
|
|
+ (cred, bucket)
|
|
} else {
|
|
} else {
|
|
- lox_cred
|
|
|
|
|
|
+ (lox_cred, bucket)
|
|
};
|
|
};
|
|
|
|
|
|
// Invite a friend
|
|
// Invite a friend
|