New wallet system. Still missing unit tests, ledger synchronization,

and SQL code. This uses some of the 'magic' properties of elliptic
curves to create related families of public and private keys.
Wallet encryption is not needed because the private keys do not
need to be stored.
This commit is contained in:
JoelKatz
2011-12-26 18:42:50 -08:00
parent 780f94798e
commit 5cec2e9a11
11 changed files with 477 additions and 242 deletions

View File

@@ -10,6 +10,7 @@
#include "newcoin.pb.h"
#include "Hanko.h"
#include "Serializer.h"
#include "Wallet.h"
#include "SHAMap.h"
/*
@@ -29,9 +30,6 @@ enum TransStatus
INCOMPLETE =8 // needs more signatures
};
class Account;
class LocalAccount;
class Transaction : public boost::enable_shared_from_this<Transaction>
{
public:
@@ -54,10 +52,10 @@ private:
public:
Transaction();
Transaction(const std::vector<unsigned char>& rawTransaction, bool validate);
Transaction(TransStatus Status, LocalAccount& fromLocal, uint32 fromSeq, const uint160& to, uint64 amount,
Transaction(TransStatus Status, LocalAccount::pointer fromLocal, uint32 fromSeq, const uint160& to, uint64 amount,
uint32 ident, uint32 ledger);
bool sign(LocalAccount& fromLocalAccount);
bool sign(LocalAccount::pointer fromLocalAccount);
bool checkSign() const;
void updateID();
void updateFee();