|
|
@ -3,6 +3,8 @@ |
|
|
|
#include "zcash/Address.hpp" |
|
|
|
#include "zcash/Note.hpp" |
|
|
|
|
|
|
|
#include "amount.h" |
|
|
|
#include "random.h" |
|
|
|
#include "librustzcash.h" |
|
|
|
|
|
|
|
#include <array> |
|
|
@ -53,10 +55,10 @@ TEST(SaplingNote, TestVectors) |
|
|
|
|
|
|
|
TEST(SaplingNote, Random) |
|
|
|
{ |
|
|
|
// Test creating random notes using the same sk
|
|
|
|
auto sk = SaplingSpendingKey::random(); |
|
|
|
SaplingNote note1 = SaplingNote::random(sk); |
|
|
|
SaplingNote note2 = SaplingNote::random(sk); |
|
|
|
// Test creating random notes using the same spending key
|
|
|
|
auto address = SaplingSpendingKey::random().default_address().get(); |
|
|
|
SaplingNote note1(address, GetRand(MAX_MONEY)); |
|
|
|
SaplingNote note2(address, GetRand(MAX_MONEY)); |
|
|
|
|
|
|
|
ASSERT_EQ(note1.d, note2.d); |
|
|
|
ASSERT_EQ(note1.pk_d, note2.pk_d); |
|
|
@ -64,8 +66,7 @@ TEST(SaplingNote, Random) |
|
|
|
ASSERT_NE(note1.r, note2.r); |
|
|
|
|
|
|
|
// Test diversifier and pk_d are not the same for different spending keys
|
|
|
|
sk = SaplingSpendingKey::random(); |
|
|
|
SaplingNote note3 = SaplingNote::random(sk); |
|
|
|
SaplingNote note3(SaplingSpendingKey::random().default_address().get(), GetRand(MAX_MONEY)); |
|
|
|
ASSERT_NE(note1.d, note3.d); |
|
|
|
ASSERT_NE(note1.pk_d, note3.pk_d); |
|
|
|
} |
|
|
|