Skip to content

Commit

Permalink
v2.1.2
Browse files Browse the repository at this point in the history
  • Loading branch information
trendscharts committed Oct 18, 2017
1 parent cfc3a47 commit 00dfd6e
Show file tree
Hide file tree
Showing 69 changed files with 54 additions and 2,830 deletions.
5 changes: 5 additions & 0 deletions ReleaseNotes.txt
@@ -1,3 +1,8 @@
Release notes 2.1.2

- Updated crawler public key
- Daemon stability improvements

Release notes 2.1.1

- Updated RocksDB to release 4.11.2
Expand Down
6 changes: 1 addition & 5 deletions include/BlockchainExplorerData.h
Expand Up @@ -55,12 +55,8 @@ struct KeyInputDetails {
TransactionOutputReferenceDetails output;
};

struct MultisignatureInputDetails {
MultisignatureInput input;
TransactionOutputReferenceDetails output;
};

typedef boost::variant<BaseInputDetails, KeyInputDetails, MultisignatureInputDetails> TransactionInputDetails;
typedef boost::variant<BaseInputDetails, KeyInputDetails> TransactionInputDetails;

struct TransactionExtraDetails {
Crypto::PublicKey publicKey;
Expand Down
15 changes: 2 additions & 13 deletions include/CryptoNote.h
Expand Up @@ -33,24 +33,13 @@ struct KeyInput {
Crypto::KeyImage keyImage;
};

struct MultisignatureInput {
uint64_t amount;
uint8_t signatureCount;
uint32_t outputIndex;
};

struct KeyOutput {
Crypto::PublicKey key;
};

struct MultisignatureOutput {
std::vector<Crypto::PublicKey> keys;
uint8_t requiredSignatureCount;
};

typedef boost::variant<BaseInput, KeyInput, MultisignatureInput> TransactionInput;
typedef boost::variant<BaseInput, KeyInput> TransactionInput;

typedef boost::variant<KeyOutput, MultisignatureOutput> TransactionOutputTarget;
typedef boost::variant<KeyOutput> TransactionOutputTarget;

struct TransactionOutput {
uint64_t amount;
Expand Down
1 change: 0 additions & 1 deletion include/INode.h
Expand Up @@ -111,7 +111,6 @@ class INode {
virtual void getTransactionOutsGlobalIndices(const Crypto::Hash& transactionHash, std::vector<uint32_t>& outsGlobalIndices, const Callback& callback) = 0;
virtual void queryBlocks(std::vector<Crypto::Hash>&& knownBlockIds, uint64_t timestamp, std::vector<BlockShortEntry>& newBlocks, uint32_t& startHeight, const Callback& callback) = 0;
virtual void getPoolSymmetricDifference(std::vector<Crypto::Hash>&& knownPoolTxIds, Crypto::Hash knownBlockId, bool& isBcActual, std::vector<std::unique_ptr<ITransactionReader>>& newTxs, std::vector<Crypto::Hash>& deletedTxIds, const Callback& callback) = 0;
virtual void getMultisignatureOutputByGlobalIndex(uint64_t amount, uint32_t gindex, MultisignatureOutput& out, const Callback& callback) = 0;

virtual void getBlocks(const std::vector<uint32_t>& blockHeights, std::vector<std::vector<BlockDetails>>& blocks, const Callback& callback) = 0;
virtual void getBlocks(const std::vector<Crypto::Hash>& blockHashes, std::vector<BlockDetails>& blocks, const Callback& callback) = 0;
Expand Down
11 changes: 2 additions & 9 deletions include/ITransaction.h
Expand Up @@ -28,8 +28,8 @@ namespace CryptoNote {

namespace TransactionTypes {

enum class InputType : uint8_t { Invalid, Key, Multisignature, Generating };
enum class OutputType : uint8_t { Invalid, Key, Multisignature };
enum class InputType : uint8_t { Invalid, Key, Generating };
enum class OutputType : uint8_t { Invalid, Key };

struct GlobalOutput {
Crypto::PublicKey targetKey;
Expand Down Expand Up @@ -74,14 +74,12 @@ class ITransactionReader {
virtual uint64_t getInputTotalAmount() const = 0;
virtual TransactionTypes::InputType getInputType(size_t index) const = 0;
virtual void getInput(size_t index, KeyInput& input) const = 0;
virtual void getInput(size_t index, MultisignatureInput& input) const = 0;

// outputs
virtual size_t getOutputCount() const = 0;
virtual uint64_t getOutputTotalAmount() const = 0;
virtual TransactionTypes::OutputType getOutputType(size_t index) const = 0;
virtual void getOutput(size_t index, KeyOutput& output, uint64_t& amount) const = 0;
virtual void getOutput(size_t index, MultisignatureOutput& output, uint64_t& amount) const = 0;

// signatures
virtual size_t getRequiredSignaturesCount(size_t inputIndex) const = 0;
Expand Down Expand Up @@ -114,21 +112,16 @@ class ITransactionWriter {

// Inputs/Outputs
virtual size_t addInput(const KeyInput& input) = 0;
virtual size_t addInput(const MultisignatureInput& input) = 0;
virtual size_t addInput(const AccountKeys& senderKeys, const TransactionTypes::InputKeyInfo& info, KeyPair& ephKeys) = 0;

virtual size_t addOutput(uint64_t amount, const AccountPublicAddress& to) = 0;
virtual size_t addOutput(uint64_t amount, const std::vector<AccountPublicAddress>& to, uint32_t requiredSignatures) = 0;
virtual size_t addOutput(uint64_t amount, const KeyOutput& out) = 0;
virtual size_t addOutput(uint64_t amount, const MultisignatureOutput& out) = 0;

// transaction info
virtual void setTransactionSecretKey(const Crypto::SecretKey& key) = 0;

// signing
virtual void signInputKey(size_t input, const TransactionTypes::InputKeyInfo& info, const KeyPair& ephKeys) = 0;
virtual void signInputMultisignature(size_t input, const Crypto::PublicKey& sourceTransactionKey, size_t outputIndex, const AccountKeys& accountKeys) = 0;
virtual void signInputMultisignature(size_t input, const KeyPair& ephemeralKeys) = 0;
};

class ITransaction :
Expand Down
6 changes: 1 addition & 5 deletions include/ITransfersContainer.h
Expand Up @@ -54,10 +54,7 @@ struct TransactionOutputInformation {
Crypto::Hash transactionHash;
Crypto::PublicKey transactionPublicKey;

union {
Crypto::PublicKey outputKey; // Type: Key
uint32_t requiredSignatures; // Type: Multisignature
};
Crypto::PublicKey outputKey;
};

struct TransactionSpentOutputInformation: public TransactionOutputInformation {
Expand All @@ -78,7 +75,6 @@ class ITransfersContainer : public IStreamSerializable {
IncludeStateSpent = 0x08,
// output type
IncludeTypeKey = 0x100,
IncludeTypeMultisignature = 0x200,
// combinations
IncludeStateAll = 0xff,
IncludeTypeAll = 0xff00,
Expand Down

0 comments on commit 00dfd6e

Please sign in to comment.