moneromooo-monero
2f1732a7e5
ringct: guard against bad data exceptions in worker threads
...
If purported pubkeys aren't actually valid pubkeys, exceptions
will fly. These will terminate if thrown in a worker thread.
Guard against this.
8 years ago
Lee Clagett
f025198f19
Added task_region - a fork/join task implementation
8 years ago
Lee Clagett
64094e5f4e
adding thread_group for managing async tasks
8 years ago
moneromooo-monero
ffd8c41f36
ringct: check the size of amount_keys is the same as destinations
8 years ago
moneromooo-monero
836669d276
ringct: always shutdown the boost io service
...
Even if no worker threads were started, it needs shutting down
or it will cause an invalid access in the io service thread
8 years ago
moneromooo-monero
3429bfb71d
ringct: thread verRct and verRctSimple
8 years ago
moneromooo-monero
e06a4daf33
ringct: remove unneeded type conversions
8 years ago
moneromooo-monero
afc70df7ea
ringct: reserve space in vectors to avoid excessive reallocation
8 years ago
moneromooo-monero
4038e86527
Add performance timers for ringct tx verification
8 years ago
moneromooo-monero
3126ba7425
ringct: use const refs as parameters where appropriate
8 years ago
moneromooo-monero
7d413f635f
rct: rework serialization to avoid storing vector sizes
8 years ago
moneromooo-monero
b38452bd55
ringct: pass structure by const ref, not value
8 years ago
moneromooo-monero
94fd881f74
rct: early out on failure on verRange
8 years ago
moneromooo-monero
074e602609
ringct: use Cryptonote serialization to hash non prunable data
8 years ago
moneromooo-monero
6f526cdff8
rct: log why verification fails
...
and remove some unnecessary variables in the checking code
8 years ago
moneromooo-monero
d4b62a1e29
rct amount key modified as per luigi1111's recommendations
...
This allows the key to be not the same for two outputs sent to
the same address (eg, if you pay yourself, and also get change
back). Also remove the key amounts lists and return parameters
since we don't actually generate random ones, so we don't need
to save them as we can recalculate them when needed if we have
the correct keys.
8 years ago
moneromooo-monero
93f5c625f0
rct: rework v2 txes into prunable and non prunable data
...
Nothing is pruned, but this allows easier changes later.
8 years ago
moneromooo-monero
d93746b6d3
rct: rework the verification preparation process
...
The whole rct data apart from the MLSAGs is now included in
the signed message, to avoid malleability issues.
Instead of passing the data that's not serialized as extra
parameters to the verification API, the transaction is modified
to fill all that information. This means the transaction can
not be const anymore, but it cleaner in other ways.
8 years ago
moneromooo-monero
3ab2ab3e76
rct: change the simple flag to a type
...
for future expansion
8 years ago
Shen Noether
c5be4b0bea
rct: avoid the need for the last II element
...
This element is used in the generation of the MLSAG, but isn't
needed in verification.
Also misc changes in the cryptonote code to match, by mooo.
8 years ago
moneromooo-monero
9b70856ccb
rct: make the amount key derivable by a third party with the tx key
...
Scheme design from luigi1114.
8 years ago
moneromooo-monero
cf33e1a52a
rct: do not serialize public keys in outPk
...
They can be reconstructed from vout
8 years ago
moneromooo-monero
e81a2b2cfa
port get_tx_key/check_tx_key to rct
8 years ago
moneromooo-monero
a4d4d6194b
integrate simple rct api
8 years ago
Shen Noether
dbb5f2d6a3
ringct: optimization/cleanup of hash functions
8 years ago
Shen Noether
4fd01f2bee
ringct: "simple" ringct variant
...
Allows the fake outs to be in different positions for each ring.
For rct inputs only.
8 years ago
moneromooo-monero
20e50ec7f7
ringct: do not serialize what can be reconstructed
...
The mixRing (output keys and commitments) and II fields (key images)
can be reconstructed from vin data.
This saves some modest amount of space in the tx.
8 years ago
moneromooo-monero
359f46901e
ringct: add missing size check for ecdhInfo
8 years ago
moneromooo-monero
229968eafc
ringct: change asserts to return false for boolean functions
8 years ago
moneromooo-monero
dc4aad7eb5
add rct to the protocol
...
It is not yet constrained to a fork, so don't use on the real network
or you'll be orphaned or rejected.
8 years ago
moneromooo-monero
54f7429cf6
ringct: allow no outputs, and add tests for this and fees
8 years ago
moneromooo-monero
e99904ac31
ringct: make fee optional
8 years ago
Shen Noether
f8c04ad94f
ringct: txn fee stuff
8 years ago
moneromooo-monero
66f96260b2
ringct: new {gen,decode}Rct APIs for convenience
...
A new version of genRct takes the mixRing as parameter, instead
of the inPk. inPk are part of the mixRing, and it is cleaner to
pass the mixRing data than to fetch it from the RingCT code.
A new version of decodeRct also returns the mask.
Also, failure to decode throws, so errors are properly detected.
8 years ago
moneromooo-monero
82072e701a
ringct: restore verRange check in debug mode
8 years ago
moneromooo-monero
63856cad29
ringct: add check for destinations/amount size being equal
8 years ago
moneromooo-monero
e816a09292
ringct: fix off by 1 in mixin usage
8 years ago
Shen Noether
56f6549962
ringct: cosmetic fixes
...
Ported from Shen's RingCT repo
8 years ago
Shen Noether
09fb9f4b75
Fix sc_0 to skGen in ProveRange
8 years ago
moneromooo-monero
d37c1db032
ringct: add a few consts where appropriate
8 years ago
moneromooo-monero
4d7f073491
ringct: add simple input validation
...
Throw when inputs aren't the expected size.
8 years ago
moneromooo-monero
9b1afe5f2d
ringct: import of Shen Noether's ring confidential transactions
8 years ago