aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRussell Yanofsky <russ@yanofsky.org>2017-08-14 23:32:38 -0400
committerRussell Yanofsky <russ@yanofsky.org>2017-08-14 23:32:38 -0400
commitfd5d71ec4b931a44b524012bf550a61025b9fb3b (patch)
treea0547682a58067bd66c65f0167b540033c34ae5f
parente067673f4ea7a74b7251282b48ea9ca57416533a (diff)
Update developer notes after params.size() cleanup
-rw-r--r--doc/developer-notes.md10
1 files changed, 4 insertions, 6 deletions
diff --git a/doc/developer-notes.md b/doc/developer-notes.md
index d783a7a8ae..e999ad3d34 100644
--- a/doc/developer-notes.md
+++ b/doc/developer-notes.md
@@ -570,16 +570,14 @@ A few guidelines for introducing and reviewing new RPC interfaces:
is specified as-is in BIP22.
- Missing arguments and 'null' should be treated the same: as default values. If there is no
- default value, both cases should fail in the same way.
+ default value, both cases should fail in the same way. The easiest way to follow this
+ guideline is detect unspecified arguments with `params[x].isNull()` instead of
+ `params.size() <= x`. The former returns true if the argument is either null or missing,
+ while the latter returns true if is missing, and false if it is null.
- *Rationale*: Avoids surprises when switching to name-based arguments. Missing name-based arguments
are passed as 'null'.
- - *Exception*: Many legacy exceptions to this exist, one of the worst ones is
- `getbalance` which follows a completely different code path based on the
- number of arguments. We are still in the process of cleaning these up. Do not introduce
- new ones.
-
- Try not to overload methods on argument type. E.g. don't make `getblock(true)` and `getblock("hash")`
do different things.