[docs]defauthenticate(network:Optional[Literal["mainnet","testnet"]]="testnet")->Ain:"""Authenticate using the AIN Blockchain"""try:fromain.ainimportAinexceptImportErrorase:raiseImportError("Cannot import ain-py related modules. Please install the package with ""`pip install ain-py`.")fromeifnetwork=="mainnet":provider_url="https://mainnet-api.ainetwork.ai/"chain_id=1if"AIN_BLOCKCHAIN_ACCOUNT_PRIVATE_KEY"inos.environ:private_key=os.environ["AIN_BLOCKCHAIN_ACCOUNT_PRIVATE_KEY"]else:raiseEnvironmentError("Error: The AIN_BLOCKCHAIN_ACCOUNT_PRIVATE_KEY environmental variable ""has not been set.")elifnetwork=="testnet":provider_url="https://testnet-api.ainetwork.ai/"chain_id=0if"AIN_BLOCKCHAIN_ACCOUNT_PRIVATE_KEY"inos.environ:private_key=os.environ["AIN_BLOCKCHAIN_ACCOUNT_PRIVATE_KEY"]else:raiseEnvironmentError("Error: The AIN_BLOCKCHAIN_ACCOUNT_PRIVATE_KEY environmental variable ""has not been set.")elifnetworkisNone:if("AIN_BLOCKCHAIN_PROVIDER_URL"inos.environand"AIN_BLOCKCHAIN_CHAIN_ID"inos.environand"AIN_BLOCKCHAIN_ACCOUNT_PRIVATE_KEY"inos.environ):provider_url=os.environ["AIN_BLOCKCHAIN_PROVIDER_URL"]chain_id=int(os.environ["AIN_BLOCKCHAIN_CHAIN_ID"])private_key=os.environ["AIN_BLOCKCHAIN_ACCOUNT_PRIVATE_KEY"]else:raiseEnvironmentError("Error: The AIN_BLOCKCHAIN_PROVIDER_URL and ""AIN_BLOCKCHAIN_ACCOUNT_PRIVATE_KEY and AIN_BLOCKCHAIN_CHAIN_ID ""environmental variable has not been set.")else:raiseValueError(f"Unsupported 'network': {network}")ain=Ain(provider_url,chain_id)ain.wallet.addAndSetDefaultAccount(private_key)returnain