use super::*;
#[wasm_bindgen]
impl VerifyingKey {
fn get_credits_verifying_key(name: &str) -> VerifyingKey {
let vk = CurrentNetwork::get_credits_verifying_key(name.to_string()).unwrap().clone();
let num_variables = vk.circuit_info.num_public_and_private_variables as u64;
VerifyingKey::from(VerifyingKeyNative::new(vk, num_variables))
}
#[wasm_bindgen(js_name = "bondPublicVerifier")]
pub fn bond_public_verifier() -> VerifyingKey {
VerifyingKey::get_credits_verifying_key("bond_public")
}
#[wasm_bindgen(js_name = "bondValidatorVerifier")]
pub fn bond_validator_verifier() -> VerifyingKey {
VerifyingKey::get_credits_verifying_key("bond_validator")
}
#[wasm_bindgen(js_name = "claimUnbondPublicVerifier")]
pub fn claim_unbond_public_verifier() -> VerifyingKey {
VerifyingKey::get_credits_verifying_key("claim_unbond_public")
}
#[wasm_bindgen(js_name = "feePrivateVerifier")]
pub fn fee_private_verifier() -> VerifyingKey {
VerifyingKey::get_credits_verifying_key("fee_private")
}
#[wasm_bindgen(js_name = "feePublicVerifier")]
pub fn fee_public_verifier() -> VerifyingKey {
VerifyingKey::get_credits_verifying_key("fee_public")
}
#[wasm_bindgen(js_name = "inclusionVerifier")]
pub fn inclusion_verifier() -> VerifyingKey {
let vk = CurrentNetwork::inclusion_verifying_key().clone();
let num_variables = vk.circuit_info.num_public_and_private_variables as u64;
VerifyingKey::from(VerifyingKeyNative::new(vk, num_variables))
}
#[wasm_bindgen(js_name = "joinVerifier")]
pub fn join_verifier() -> VerifyingKey {
VerifyingKey::get_credits_verifying_key("join")
}
#[wasm_bindgen(js_name = "setValidatorStateVerifier")]
pub fn set_validator_state_verifier() -> VerifyingKey {
VerifyingKey::get_credits_verifying_key("set_validator_state")
}
#[wasm_bindgen(js_name = "splitVerifier")]
pub fn split_verifier() -> VerifyingKey {
VerifyingKey::get_credits_verifying_key("split")
}
#[wasm_bindgen(js_name = "transferPrivateVerifier")]
pub fn transfer_private_verifier() -> VerifyingKey {
VerifyingKey::get_credits_verifying_key("transfer_private")
}
#[wasm_bindgen(js_name = "transferPrivateToPublicVerifier")]
pub fn transfer_private_to_public_verifier() -> VerifyingKey {
VerifyingKey::get_credits_verifying_key("transfer_private_to_public")
}
#[wasm_bindgen(js_name = "transferPublicVerifier")]
pub fn transfer_public_verifier() -> VerifyingKey {
VerifyingKey::get_credits_verifying_key("transfer_public")
}
#[wasm_bindgen(js_name = "transferPublicAsSignerVerifier")]
pub fn transfer_public_as_signer_verifier() -> VerifyingKey {
VerifyingKey::get_credits_verifying_key("transfer_public_as_signer")
}
#[wasm_bindgen(js_name = "transferPublicToPrivateVerifier")]
pub fn transfer_public_to_private_verifier() -> VerifyingKey {
VerifyingKey::get_credits_verifying_key("transfer_public_to_private")
}
#[wasm_bindgen(js_name = "unbondPublicVerifier")]
pub fn unbond_public_verifier() -> VerifyingKey {
VerifyingKey::get_credits_verifying_key("unbond_public")
}
#[wasm_bindgen(js_name = "isBondPublicVerifier")]
pub fn is_bond_public_verifier(&self) -> bool {
self == &Self::bond_public_verifier()
}
#[wasm_bindgen(js_name = "isBondValidatorVerifier")]
pub fn is_bond_validator_verifier(&self) -> bool {
self == &Self::bond_validator_verifier()
}
#[wasm_bindgen(js_name = "isClaimUnbondPublicVerifier")]
pub fn is_claim_unbond_public_verifier(&self) -> bool {
self == &Self::claim_unbond_public_verifier()
}
#[wasm_bindgen(js_name = "isFeePrivateVerifier")]
pub fn is_fee_private_verifier(&self) -> bool {
self == &Self::fee_private_verifier()
}
#[wasm_bindgen(js_name = "isFeePublicVerifier")]
pub fn is_fee_public_verifier(&self) -> bool {
self == &Self::fee_public_verifier()
}
#[wasm_bindgen(js_name = "isInclusionVerifier")]
pub fn is_inclusion_verifier(&self) -> bool {
self == &Self::inclusion_verifier()
}
#[wasm_bindgen(js_name = "isJoinVerifier")]
pub fn is_join_verifier(&self) -> bool {
self == &Self::join_verifier()
}
#[wasm_bindgen(js_name = "isSetValidatorStateVerifier")]
pub fn is_set_validator_state_verifier(&self) -> bool {
self == &Self::set_validator_state_verifier()
}
#[wasm_bindgen(js_name = "isSplitVerifier")]
pub fn is_split_verifier(&self) -> bool {
self == &Self::split_verifier()
}
#[wasm_bindgen(js_name = "isTransferPrivateVerifier")]
pub fn is_transfer_private_verifier(&self) -> bool {
self == &Self::transfer_private_verifier()
}
#[wasm_bindgen(js_name = "isTransferPrivateToPublicVerifier")]
pub fn is_transfer_private_to_public_verifier(&self) -> bool {
self == &Self::transfer_private_to_public_verifier()
}
#[wasm_bindgen(js_name = "isTransferPublicVerifier")]
pub fn is_transfer_public_verifier(&self) -> bool {
self == &Self::transfer_public_verifier()
}
#[wasm_bindgen(js_name = "isTransferPublicAsSignerVerifier")]
pub fn is_transfer_public_as_signer_verifier(&self) -> bool {
self == &Self::transfer_public_as_signer_verifier()
}
#[wasm_bindgen(js_name = "isTransferPublicToPrivateVerifier")]
pub fn is_transfer_public_to_private_verifier(&self) -> bool {
self == &Self::transfer_public_to_private_verifier()
}
#[wasm_bindgen(js_name = "isUnbondPublicVerifier")]
pub fn is_unbond_public_verifier(&self) -> bool {
self == &Self::unbond_public_verifier()
}
}
#[cfg(test)]
mod tests {
use super::*;
use wasm_bindgen_test::*;
#[wasm_bindgen_test]
fn test_key_loading() {
let bond_public = VerifyingKey::bond_public_verifier();
assert!(bond_public.is_bond_public_verifier());
let bond_validator = VerifyingKey::bond_validator_verifier();
assert!(bond_validator.is_bond_validator_verifier());
let claim_unbond_public = VerifyingKey::claim_unbond_public_verifier();
assert!(claim_unbond_public.is_claim_unbond_public_verifier());
let fee_private = VerifyingKey::fee_private_verifier();
assert!(fee_private.is_fee_private_verifier());
let fee_public = VerifyingKey::fee_public_verifier();
assert!(fee_public.is_fee_public_verifier());
let inclusion = VerifyingKey::inclusion_verifier();
assert!(inclusion.is_inclusion_verifier());
let join = VerifyingKey::join_verifier();
assert!(join.is_join_verifier());
let set_validator_state = VerifyingKey::set_validator_state_verifier();
assert!(set_validator_state.is_set_validator_state_verifier());
let split = VerifyingKey::split_verifier();
assert!(split.is_split_verifier());
let transfer_private = VerifyingKey::transfer_private_verifier();
assert!(transfer_private.is_transfer_private_verifier());
let transfer_private_to_public = VerifyingKey::transfer_private_to_public_verifier();
assert!(transfer_private_to_public.is_transfer_private_to_public_verifier());
let transfer_public = VerifyingKey::transfer_public_verifier();
assert!(transfer_public.is_transfer_public_verifier());
let transfer_public_as_signer = VerifyingKey::transfer_public_as_signer_verifier();
assert!(transfer_public_as_signer.is_transfer_public_as_signer_verifier());
let transfer_public_to_private = VerifyingKey::transfer_public_to_private_verifier();
assert!(transfer_public_to_private.is_transfer_public_to_private_verifier());
let unbond_public = VerifyingKey::unbond_public_verifier();
assert!(unbond_public.is_unbond_public_verifier());
}
}