from conio_sdk.ioc import ioc_user, ioc_bitcoin_wallet, ioc_fiat_limits, ioc_bithustler, ioc_explicit_fees, ioc_cards
from conio_sdk.services.conio.sdk.crypto_proof.expiry_crypto_proof_verification_strategy import \
    ExpiryCryptoProofVerificationStrategy
from conio_sdk.services.conio.sdk.crypto_proof.rsa_crypto_proof_verification_strategy import \
    RSACryptoProofVerificationStrategy
from conio_sdk.services.conio.sdk.signup_vo_service import SignupVOServices
from etc import settings

signup_vo_services = SignupVOServices(
    ioc_user.user_service,
    ioc_bitcoin_wallet.bitcoin_wallet_service,
    ioc_fiat_limits.fiat_limits_service,
    ioc_explicit_fees.explicit_fees_service,
    ioc_bithustler.bithustler_client,
    ioc_cards.cards_client,
    ExpiryCryptoProofVerificationStrategy(),
    RSACryptoProofVerificationStrategy(
        *settings.SIGNUP_PUBLIC_KEYS
    )
)
