mixins don't do anything (plus the default value in wallet_api was
simply wrong because `// copy-pasted from simplewallet`).
Also fixed the create_transactions_2 call to pass the tx_params and
remove a duplicate definition.
This allows it to be used to fetch the current staking requirement by
just asking for a height of 0, while currently you'd first have to fetch
the height and then pass that in.
The boost code generation being used here is a workaround for ancient
versions of MSVC that have no relevance today.
This also fixes throw_wallet_ex to use perfect forwarding (rather than
forcing const lvalue reference arguments).
This reduces blink fees by half (from 5x to 2.5x base fee) at HF15, and
makes anything other than "unimportant" priority map to blink for
ordinary transactions.
For non-blink txes priorities are still accepted (so that, if the
mempool is clogged, you can still get a registration or stake through by
upping the priority).
It also updates the wallets default priority for transactions to blink
(that is, "default" now becomes blink).
With the priorities gone and default set to blink, the backlog-checking
code and automatic priority bumping code don't serve any useful purpose,
so this rips them out, along with a few other related code
simplifications.
These were each wrong in separate but disturbing ways.
The `set` help included an indent at the *end* of each string for some
inexplicable reason, and (quite predictably) got lost when someone added
a new option, which thus didn't indent properly.
show_transfers help was particularly bad: it was originally lined up
nicely in the output, but the escaped "'s meant it didn't line up nicely
in the code. But it had a comment to explain *why* it wasn't nicely
lined up in the code. But then apparently someone came along and
changed it to line things up in the code and left the comment.
In both cases life is improved massively by using C++11 raw strings.
The RPC wallet `fill_response` calls were still passing `req.blink` to
blink a tx, but that is supposed to be deprecated in favour of passing
(just) `priority=5`. Fixed it to blink based on the priority instead.
construct_tx_and_get_tx_key modifies the splitted_dsts vector which can
change the value of the reference I took to the dts entry. This change
undoes that and restores the behaviour to make a copy of the dst.
- get_settings SQL was using get_owner_by_id query
- Settings row was queried sometimes by ID vs rowid
- Initialising DB against the checkpoint instead of the latest block
- Removing other LNS type references means needing to update the lns commands in CLI wallet
- wallet2 passing the value encoded in ascii into tx extra
- constexpr functions in common/loki.h for inlining
- move hex functions out from common/loki.h to common/hex.h
- use and apply prev_txid on LNS TX's to all LNS types (for updating in the future)
- add lns burn type, for custom burn amounts
- accept and validate lokinet addresses via base32z
- return lokinet addresses in RPC LNS calls via base32z
- updated Messenger references to Session
- update documentation to note that only Session LNS entries are allowed currently
- remove raw c-string interface from LNS db
- update multi-SQL queries into single SQL queries
- remove tx estimation backlog in anticipation for 2 priorities only, blink + unimportant
We allow arbitrary reorganizations for the LNS DB by storing the
previous TXID that purchased the LNS record. When reorganizing, we
iterate back through the blockchain looking for the first LNS entry that
is before the reorganize height and revert the LNS entry to that record.