pub fn execute_outer_circuit<C: Testnet2Components, CS: ConstraintSystem<C::OuterScalarField>>(
cs: &mut CS,
system_parameters: &SystemParameters<C>,
ledger_parameters: &C::MerkleParameters,
ledger_digest: &MerkleTreeDigest<C::MerkleParameters>,
old_serial_numbers: &[<C::AccountSignature as SignatureScheme>::PublicKey],
new_commitments: &[<C::RecordCommitment as CommitmentScheme>::Output],
new_encrypted_record_hashes: &[<C::EncryptedRecordCRH as CRH>::Output],
memo: &[u8; 32],
value_balance: AleoAmount,
network_id: u8,
inner_snark_vk: &<C::InnerSNARK as SNARK>::VerifyingKey,
inner_snark_proof: &<C::InnerSNARK as SNARK>::Proof,
program_proofs: &[PrivateProgramInput],
program_commitment: &<C::ProgramVerificationKeyCommitment as CommitmentScheme>::Output,
program_randomness: &<C::ProgramVerificationKeyCommitment as CommitmentScheme>::Randomness,
local_data_root: &<C::LocalDataCRH as CRH>::Output,
inner_circuit_id: &<C::InnerCircuitIDCRH as CRH>::Output
) -> Result<(), SynthesisError> where
<C::AccountCommitment as CommitmentScheme>::Parameters: ToConstraintField<C::InnerScalarField>,
<C::AccountCommitment as CommitmentScheme>::Output: ToConstraintField<C::InnerScalarField>,
<C::AccountEncryption as EncryptionScheme>::Parameters: ToConstraintField<C::InnerScalarField>,
<C::AccountSignature as SignatureScheme>::Parameters: ToConstraintField<C::InnerScalarField>,
<C::AccountSignature as SignatureScheme>::PublicKey: ToConstraintField<C::InnerScalarField>,
<C::RecordCommitment as CommitmentScheme>::Parameters: ToConstraintField<C::InnerScalarField>,
<C::RecordCommitment as CommitmentScheme>::Output: ToConstraintField<C::InnerScalarField>,
<C::EncryptedRecordCRH as CRH>::Parameters: ToConstraintField<C::InnerScalarField>,
<C::EncryptedRecordCRH as CRH>::Output: ToConstraintField<C::InnerScalarField>,
<C::SerialNumberNonceCRH as CRH>::Parameters: ToConstraintField<C::InnerScalarField>,
<C::ProgramVerificationKeyCommitment as CommitmentScheme>::Parameters: ToConstraintField<C::InnerScalarField>,
<C::ProgramVerificationKeyCommitment as CommitmentScheme>::Output: ToConstraintField<C::InnerScalarField>,
<C::LocalDataCRH as CRH>::Parameters: ToConstraintField<C::InnerScalarField>,
<C::LocalDataCRH as CRH>::Output: ToConstraintField<C::InnerScalarField>,
<C::LocalDataCommitment as CommitmentScheme>::Parameters: ToConstraintField<C::InnerScalarField>,
<<C::MerkleParameters as MerkleParameters>::H as CRH>::Parameters: ToConstraintField<C::InnerScalarField>,
MerkleTreeDigest<C::MerkleParameters>: ToConstraintField<C::InnerScalarField>,