@ -1205,7 +1205,7 @@ namespace rct {
rv . p . bulletproofs_plus . clear ( ) ;
if ( bulletproof_or_plus )
{
const bool plus = rv. type = = RCTTypeBulletproofPlus ;
const bool plus = is_rct_bulletproof_plus( rv . type ) ;
size_t n_amounts = outamounts . size ( ) ;
size_t amounts_proved = 0 ;
if ( rct_config . range_proof_type = = RangeProofPaddedBulletproof )
@ -1235,7 +1235,10 @@ namespace rct {
}
for ( i = 0 ; i < outamounts . size ( ) ; + + i )
{
rv . outPk [ i ] . mask = rct : : scalarmult8 ( C [ i ] ) ;
if ( plus )
rv . outPk [ i ] . mask = C [ i ] ;
else
rv . outPk [ i ] . mask = rct : : scalarmult8 ( C [ i ] ) ;
outSk [ i ] . mask = masks [ i ] ;
}
}
@ -1273,7 +1276,10 @@ namespace rct {
}
for ( i = 0 ; i < batch_size ; + + i )
{
rv . outPk [ i + amounts_proved ] . mask = rct : : scalarmult8 ( C [ i ] ) ;
if ( plus )
rv . outPk [ i + amounts_proved ] . mask = C [ i ] ;
else
rv . outPk [ i + amounts_proved ] . mask = rct : : scalarmult8 ( C [ i ] ) ;
outSk [ i + amounts_proved ] . mask = masks [ i ] ;
}
amounts_proved + = batch_size ;
@ -1480,7 +1486,10 @@ namespace rct {
rct : : keyV masks ( rv . outPk . size ( ) ) ;
for ( size_t i = 0 ; i < rv . outPk . size ( ) ; i + + ) {
masks [ i ] = rv . outPk [ i ] . mask ;
if ( bulletproof_plus )
masks [ i ] = rct : : scalarmult8 ( rv . outPk [ i ] . mask ) ;
else
masks [ i ] = rv . outPk [ i ] . mask ;
}
key sumOutpks = addKeys ( masks ) ;
DP ( sumOutpks ) ;
@ -1640,6 +1649,8 @@ namespace rct {
mask = ecdh_info . mask ;
key amount = ecdh_info . amount ;
key C = rv . outPk [ i ] . mask ;
if ( is_rct_bulletproof_plus ( rv . type ) )
C = scalarmult8 ( C ) ;
DP ( " C " ) ;
DP ( C ) ;
key Ctmp ;
@ -1671,6 +1682,8 @@ namespace rct {
mask = ecdh_info . mask ;
key amount = ecdh_info . amount ;
key C = rv . outPk [ i ] . mask ;
if ( is_rct_bulletproof_plus ( rv . type ) )
C = scalarmult8 ( C ) ;
DP ( " C " ) ;
DP ( C ) ;
key Ctmp ;