mirror of
				https://git.wownero.com/wownero/wownero.git
				synced 2024-08-15 01:03:23 +00:00 
			
		
		
		
	derive multisig tx secret keys from an entropy source plus the tx inputs' key images
This commit is contained in:
		
							parent
							
								
									cfdee9ba69
								
							
						
					
					
						commit
						edcc094558
					
				
					 6 changed files with 147 additions and 15 deletions
				
			
		| 
						 | 
				
			
			@ -307,9 +307,10 @@ bool gen_multisig_tx_validation_base::generate_with(std::vector<test_event_entry
 | 
			
		|||
  transaction tx;
 | 
			
		||||
  crypto::secret_key tx_key;
 | 
			
		||||
  std::vector<crypto::secret_key> additional_tx_secret_keys;
 | 
			
		||||
  crypto::secret_key multisig_tx_key_entropy;
 | 
			
		||||
  auto sources_copy = sources;
 | 
			
		||||
  multisig::signing::tx_builder_ringct_t tx_builder;
 | 
			
		||||
  CHECK_AND_ASSERT_MES(tx_builder.init(miner_account[creator].get_keys(), {}, 0, 0, {0}, sources, destinations, {}, {rct::RangeProofPaddedBulletproof, 4}, true, false, tx_key, additional_tx_secret_keys, tx), false, "error: multisig::signing::tx_builder_t::init");
 | 
			
		||||
  CHECK_AND_ASSERT_MES(tx_builder.init(miner_account[creator].get_keys(), {}, 0, 0, {0}, sources, destinations, {}, {rct::RangeProofPaddedBulletproof, 4}, true, false, tx_key, additional_tx_secret_keys, multisig_tx_key_entropy, tx), false, "error: multisig::signing::tx_builder_ringct_t::init");
 | 
			
		||||
 | 
			
		||||
  // work out the permutation done on sources
 | 
			
		||||
  std::vector<size_t> ins_order;
 | 
			
		||||
| 
						 | 
				
			
			@ -398,7 +399,7 @@ bool gen_multisig_tx_validation_base::generate_with(std::vector<test_event_entry
 | 
			
		|||
    }
 | 
			
		||||
    tools::apply_permutation(ins_order, k);
 | 
			
		||||
    multisig::signing::tx_builder_ringct_t signer_tx_builder;
 | 
			
		||||
    CHECK_AND_ASSERT_MES(signer_tx_builder.init(miner_account[signer].get_keys(), {}, 0, 0, {0}, sources, destinations, {}, {rct::RangeProofPaddedBulletproof, 4}, true, true, tx_key, additional_tx_secret_keys, tx), false, "error: multisig::signing::tx_builder_t::init");
 | 
			
		||||
    CHECK_AND_ASSERT_MES(signer_tx_builder.init(miner_account[signer].get_keys(), {}, 0, 0, {0}, sources, destinations, {}, {rct::RangeProofPaddedBulletproof, 4}, true, true, tx_key, additional_tx_secret_keys, multisig_tx_key_entropy, tx), false, "error: multisig::signing::tx_builder_ringct_t::init");
 | 
			
		||||
 | 
			
		||||
    MDEBUG("signing with k size " << k.size());
 | 
			
		||||
    for (size_t n = 0; n < multisig::signing::kAlphaComponents; ++n)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue