2017-11-23 11:20:20 -08:00
|
|
|
#ifndef ZC_ZCASH_H_
|
|
|
|
#define ZC_ZCASH_H_
|
2016-05-04 17:25:38 -07:00
|
|
|
|
|
|
|
#define ZC_NUM_JS_INPUTS 2
|
|
|
|
#define ZC_NUM_JS_OUTPUTS 2
|
2016-06-03 19:42:15 -07:00
|
|
|
#define INCREMENTAL_MERKLE_TREE_DEPTH 29
|
2016-05-04 17:25:38 -07:00
|
|
|
#define INCREMENTAL_MERKLE_TREE_DEPTH_TESTING 4
|
|
|
|
|
2018-04-14 21:33:41 -07:00
|
|
|
#define SAPLING_INCREMENTAL_MERKLE_TREE_DEPTH 32
|
|
|
|
|
2018-06-14 10:58:45 -07:00
|
|
|
#define NOTEENCRYPTION_AUTH_BYTES 16
|
|
|
|
|
2016-05-11 11:58:49 -07:00
|
|
|
#define ZC_NOTEPLAINTEXT_LEADING 1
|
|
|
|
#define ZC_V_SIZE 8
|
|
|
|
#define ZC_RHO_SIZE 32
|
|
|
|
#define ZC_R_SIZE 32
|
2016-08-15 07:54:42 -07:00
|
|
|
#define ZC_MEMO_SIZE 512
|
2018-06-14 10:58:45 -07:00
|
|
|
#define ZC_DIVERSIFIER_SIZE 11
|
|
|
|
#define ZC_JUBJUB_POINT_SIZE 32
|
|
|
|
#define ZC_JUBJUB_SCALAR_SIZE 32
|
2016-08-15 07:54:42 -07:00
|
|
|
|
2016-08-18 09:43:58 -07:00
|
|
|
#define ZC_NOTEPLAINTEXT_SIZE (ZC_NOTEPLAINTEXT_LEADING + ZC_V_SIZE + ZC_RHO_SIZE + ZC_R_SIZE + ZC_MEMO_SIZE)
|
2016-05-04 17:25:38 -07:00
|
|
|
|
2018-06-14 10:58:45 -07:00
|
|
|
#define ZC_SAPLING_ENCPLAINTEXT_SIZE (ZC_NOTEPLAINTEXT_LEADING + ZC_DIVERSIFIER_SIZE + ZC_V_SIZE + ZC_R_SIZE + ZC_MEMO_SIZE)
|
|
|
|
#define ZC_SAPLING_OUTPLAINTEXT_SIZE (ZC_JUBJUB_POINT_SIZE + ZC_JUBJUB_SCALAR_SIZE)
|
|
|
|
|
|
|
|
#define ZC_SAPLING_ENCCIPHERTEXT_SIZE (ZC_SAPLING_ENCPLAINTEXT_SIZE + NOTEENCRYPTION_AUTH_BYTES)
|
|
|
|
#define ZC_SAPLING_OUTCIPHERTEXT_SIZE (ZC_SAPLING_OUTPLAINTEXT_SIZE + NOTEENCRYPTION_AUTH_BYTES)
|
|
|
|
|
2017-11-23 11:20:20 -08:00
|
|
|
#endif // ZC_ZCASH_H_
|