Removal of unnecessary/no longer needed special context variables for EVM wallet authentication. These were never released publicly (local to v7.4.x branch) so no compatibility concerns removing them.

pull/3519/head
derekpierre 2024-06-26 08:09:08 -04:00
parent f5b8f18e39
commit 22bf9df1ad
No known key found for this signature in database
2 changed files with 3 additions and 19 deletions

View File

@ -13,17 +13,13 @@ from nucypher.policy.conditions.exceptions import (
)
USER_ADDRESS_CONTEXT = ":userAddress"
USER_ADDRESS_EIP712_CONTEXT = ":userAddressEIP712"
USER_ADDRESS_EIP4361_CONTEXT = ":userAddressEIP4361"
USER_ADDRESS_EIP4361_EXTERNAL_CONTEXT = ":userAddressExternalEIP4361"
CONTEXT_PREFIX = ":"
CONTEXT_REGEX = re.compile(":[a-zA-Z_][a-zA-Z0-9_]*")
USER_ADDRESS_SCHEMES = {
USER_ADDRESS_CONTEXT: None, # TODO either EIP712 or EIP4361 for now, but should use the default that is eventually decided (likely EIP4361) - #tdec/178
USER_ADDRESS_EIP712_CONTEXT: EvmAuth.AuthScheme.EIP712.value,
USER_ADDRESS_EIP4361_CONTEXT: EvmAuth.AuthScheme.EIP4361.value,
USER_ADDRESS_CONTEXT: None, # allow any scheme (EIP4361, EIP712) for now; eventually EIP712 will be deprecated
USER_ADDRESS_EIP4361_EXTERNAL_CONTEXT: EvmAuth.AuthScheme.EIP4361.value,
}
@ -42,7 +38,7 @@ def _resolve_user_address(user_address_context_variable, **context) -> ChecksumA
{
"signature": "<signature>",
"address": "<address>",
"scheme": "EIP712" | "EIP4361" | ...
"scheme": "EIP4361" | ...
"typedData": ...
}
}
@ -53,6 +49,7 @@ def _resolve_user_address(user_address_context_variable, **context) -> ChecksumA
expected_address = to_checksum_address(user_address_info["address"])
typed_data = user_address_info["typedData"]
# if empty assume EIP712, although EIP712 will eventually be deprecated
scheme = user_address_info.get("scheme", EvmAuth.AuthScheme.EIP712.value)
expected_scheme = USER_ADDRESS_SCHEMES[user_address_context_variable]
if expected_scheme and scheme != expected_scheme:
@ -85,13 +82,6 @@ _DIRECTIVES = {
USER_ADDRESS_CONTEXT: partial(
_resolve_user_address, user_address_context_variable=USER_ADDRESS_CONTEXT
),
USER_ADDRESS_EIP712_CONTEXT: partial(
_resolve_user_address, user_address_context_variable=USER_ADDRESS_EIP712_CONTEXT
),
USER_ADDRESS_EIP4361_CONTEXT: partial(
_resolve_user_address,
user_address_context_variable=USER_ADDRESS_EIP4361_CONTEXT,
),
USER_ADDRESS_EIP4361_EXTERNAL_CONTEXT: partial(
_resolve_user_address,
user_address_context_variable=USER_ADDRESS_EIP4361_EXTERNAL_CONTEXT,

View File

@ -6,8 +6,6 @@ import pytest
from nucypher.policy.conditions.auth.evm import EvmAuth
from nucypher.policy.conditions.context import (
USER_ADDRESS_EIP712_CONTEXT,
USER_ADDRESS_EIP4361_CONTEXT,
USER_ADDRESS_EIP4361_EXTERNAL_CONTEXT,
USER_ADDRESS_SCHEMES,
_resolve_context_variable,
@ -135,13 +133,9 @@ def test_user_address_context_invalid_typed_data(
list(
zip(
[
USER_ADDRESS_EIP712_CONTEXT,
USER_ADDRESS_EIP4361_CONTEXT,
USER_ADDRESS_EIP4361_EXTERNAL_CONTEXT,
],
[
EvmAuth.AuthScheme.EIP4361.value,
EvmAuth.AuthScheme.EIP712.value,
EvmAuth.AuthScheme.EIP712.value,
],
)