json: fix up msat amounts in non-_msat fields.

We had json_add_amount_msat_only(), which was designed to be used to
print out msat fields, if we had sats.

However, we misused it, so split it into the three different cases:
1. json_add_amount_sat_msat: We are using it correctly, with a field called
   xxx_msat.
2. json_add_amount_sats_deprecated: We were using it wrong, so deprecate
   the old field and create a new one which does end in _msat.
3. json_add_sats: we were using it to hand sats as a JSON parameter to an
   interface, where "XXXsat".

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Changelog-Deprecated: Plugins: `rbf_channel` and `openchannel2` hooks `their_funding` (use `their_funding_msat`)
Changelog-Deprecated: Plugins: `openchannel2` hook `dust_limit_satoshis` (use `dust_limit_msat`)
Changelog-Deprecated: Plugins: `openchannel` hook `funding_satoshis` (use `funding_msat`)
Changelog-Deprecated: Plugins: `openchannel` hook `dust_limit_satoshis` (use `dust_limit_msat`)
Changelog-Deprecated: Plugins: `openchannel` hook `channel_reserve_satoshis` (use `channel_reserve_msat`)
Changelog-Deprecated: Plugins: `channel_opened` notification `amount` (use `funding_msat`)
Changelog-Deprecated: JSON-RPC: `listtransactions` `msat` (use `amount_msat`)
Changelog-Deprecated: Plugins: `htlc_accepted` `forward_amount` (use `forward_msat`)
This commit is contained in:
Rusty Russell
2022-06-19 16:46:11 +09:30
parent 6e2a775ef2
commit 36a2491a89
42 changed files with 164 additions and 82 deletions

View File

@@ -414,7 +414,7 @@ static struct command_result *process_getutxout(struct bitcoin_cli *bcli)
return command_err_bcli_badjson(bcli, err);
response = jsonrpc_stream_success(bcli->cmd);
json_add_amount_sat_only(response, "amount", output.amount);
json_add_sats(response, "amount", output.amount);
json_add_string(response, "script", tal_hex(response, output.script));
return command_finished(bcli->cmd, response);

View File

@@ -511,7 +511,7 @@ json_openchannel2_call(struct command *cmd,
"{openchannel2:"
"{id:%"
",channel_id:%"
",their_funding:%"
",their_funding_msat:%"
",max_htlc_value_in_flight_msat:%"
",htlc_minimum_msat:%"
",funding_feerate_per_kw:%"
@@ -768,15 +768,15 @@ static void json_add_policy(struct json_stream *stream,
funder_opt_name(policy->opt));
json_add_num(stream, "policy_mod", policy->mod);
json_add_bool(stream, "leases_only", policy->leases_only);
json_add_amount_sat_only(stream, "min_their_funding_msat",
json_add_amount_sat_msat(stream, "min_their_funding_msat",
policy->min_their_funding);
json_add_amount_sat_only(stream, "max_their_funding_msat",
json_add_amount_sat_msat(stream, "max_their_funding_msat",
policy->max_their_funding);
json_add_amount_sat_only(stream, "per_channel_min_msat",
json_add_amount_sat_msat(stream, "per_channel_min_msat",
policy->per_channel_min);
json_add_amount_sat_only(stream, "per_channel_max_msat",
json_add_amount_sat_msat(stream, "per_channel_max_msat",
policy->per_channel_max);
json_add_amount_sat_only(stream, "reserve_tank_msat",
json_add_amount_sat_msat(stream, "reserve_tank_msat",
policy->reserve_tank);
json_add_num(stream, "fuzz_percent", policy->fuzz_factor);
json_add_num(stream, "fund_probability", policy->fund_probability);

View File

@@ -73,7 +73,7 @@ void json_add_short_channel_id(struct json_stream *response UNNEEDED,
const struct short_channel_id *id UNNEEDED)
{ fprintf(stderr, "json_add_short_channel_id called!\n"); abort(); }
/* Generated stub for json_add_string */
void json_add_string(struct json_stream *result UNNEEDED, const char *fieldname UNNEEDED, const char *value UNNEEDED)
void json_add_string(struct json_stream *result UNNEEDED, const char *fieldname UNNEEDED, const char *value TAKES UNNEEDED)
{ fprintf(stderr, "json_add_string called!\n"); abort(); }
/* Generated stub for json_add_timeabs */
void json_add_timeabs(struct json_stream *result UNNEEDED, const char *fieldname UNNEEDED,

View File

@@ -378,7 +378,7 @@ static struct command_result *txprepare_continue(struct command *cmd,
}
if (txp->all_output_idx == -1)
json_add_amount_sat_only(req->js, "satoshi", txp->output_total);
json_add_sats(req->js, "satoshi", txp->output_total);
else
json_add_string(req->js, "satoshi", "all");