|
|
@ -74,6 +74,7 @@ int main(void) |
|
|
|
struct privkey tmp; |
|
|
|
u64 fee; |
|
|
|
struct node_connection **route; |
|
|
|
const double riskfactor = 1.0 / BLOCKS_PER_YEAR / 10000; |
|
|
|
|
|
|
|
secp256k1_ctx = secp256k1_context_create(SECP256K1_CONTEXT_VERIFY |
|
|
|
| SECP256K1_CONTEXT_SIGN); |
|
|
@ -91,7 +92,7 @@ int main(void) |
|
|
|
/* A<->B */ |
|
|
|
add_connection(rstate, &a, &b, 1, 1, 1); |
|
|
|
|
|
|
|
nc = find_route(ctx, rstate, &a, &b, 1000, 1.0, &fee, &route); |
|
|
|
nc = find_route(ctx, rstate, &a, &b, 1000, riskfactor, &fee, &route); |
|
|
|
assert(nc); |
|
|
|
assert(tal_count(route) == 0); |
|
|
|
assert(fee == 0); |
|
|
@ -106,7 +107,7 @@ int main(void) |
|
|
|
status_trace("C = %s", type_to_string(trc, struct pubkey, &c)); |
|
|
|
add_connection(rstate, &b, &c, 1, 1, 1); |
|
|
|
|
|
|
|
nc = find_route(ctx, rstate, &a, &c, 1000, 1.0, &fee, &route); |
|
|
|
nc = find_route(ctx, rstate, &a, &c, 1000, riskfactor, &fee, &route); |
|
|
|
assert(nc); |
|
|
|
assert(tal_count(route) == 1); |
|
|
|
assert(fee == 1); |
|
|
@ -121,14 +122,14 @@ int main(void) |
|
|
|
add_connection(rstate, &d, &c, 0, 2, 1); |
|
|
|
|
|
|
|
/* Will go via D for small amounts. */ |
|
|
|
nc = find_route(ctx, rstate, &a, &c, 1000, 1.0, &fee, &route); |
|
|
|
nc = find_route(ctx, rstate, &a, &c, 1000, riskfactor, &fee, &route); |
|
|
|
assert(nc); |
|
|
|
assert(tal_count(route) == 1); |
|
|
|
assert(pubkey_eq(&route[0]->src->id, &d)); |
|
|
|
assert(fee == 0); |
|
|
|
|
|
|
|
/* Will go via B for large amounts. */ |
|
|
|
nc = find_route(ctx, rstate, &a, &c, 3000000, 1.0, &fee, &route); |
|
|
|
nc = find_route(ctx, rstate, &a, &c, 3000000, riskfactor, &fee, &route); |
|
|
|
assert(nc); |
|
|
|
assert(tal_count(route) == 1); |
|
|
|
assert(pubkey_eq(&route[0]->src->id, &b)); |
|
|
@ -136,7 +137,7 @@ int main(void) |
|
|
|
|
|
|
|
/* Make B->C inactive, force it back via D */ |
|
|
|
get_connection(rstate, &b, &c)->active = false; |
|
|
|
nc = find_route(ctx, rstate, &a, &c, 3000000, 1.0, &fee, &route); |
|
|
|
nc = find_route(ctx, rstate, &a, &c, 3000000, riskfactor, &fee, &route); |
|
|
|
assert(nc); |
|
|
|
assert(tal_count(route) == 1); |
|
|
|
assert(pubkey_eq(&route[0]->src->id, &d)); |
|
|
|