Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.11/site-packages/validators/crypto_addresses/bsc_address.py: 50%

Shortcuts on this page

r m x   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

10 statements  

1"""BSC Address.""" 

2 

3# standard 

4import re 

5 

6# local 

7from validators.utils import validator 

8 

9 

10@validator 

11def bsc_address(value: str, /): 

12 """Return whether or not given value is a valid binance smart chain address. 

13 

14 Full validation is implemented for BSC addresses. 

15 

16 Examples: 

17 >>> bsc_address('0x4e5acf9684652BEa56F2f01b7101a225Ee33d23f') 

18 True 

19 >>> bsc_address('0x4g5acf9684652BEa56F2f01b7101a225Eh33d23z') 

20 ValidationError(func=bsc_address, args={'value': '0x4g5acf9684652BEa56F2f01b7101a225Eh33d23z'}) 

21 

22 Args: 

23 value: 

24 BSC address string to validate. 

25 

26 Returns: 

27 (Literal[True]): If `value` is a valid bsc address. 

28 (ValidationError): If `value` is an invalid bsc address. 

29 """ # noqa: E501 

30 if not value: 

31 return False 

32 

33 if not re.fullmatch(r"0x[a-fA-F0-9]{40}", value): 

34 return False 

35 

36 return True