mirror of
https://github.com/logos-blockchain/logos-blockchain-block-explorer-template.git
synced 2026-04-03 01:13:12 +00:00
Handle NoProof.
This commit is contained in:
parent
45365f8c97
commit
74bbcdf1fe
@ -15,6 +15,10 @@ class NbeSignature(NbeSchema):
|
||||
type: str
|
||||
|
||||
|
||||
class NoProof(NbeSignature):
|
||||
type: Literal["NoProof"] = "NoProof"
|
||||
|
||||
|
||||
class Ed25519Signature(NbeSignature):
|
||||
type: Literal["Ed25519"] = "Ed25519"
|
||||
signature: HexBytes
|
||||
@ -31,4 +35,4 @@ class ZkAndEd25519Signature(NbeSignature):
|
||||
ed25519_signature: HexBytes
|
||||
|
||||
|
||||
OperationProof = Ed25519Signature | ZkSignature | ZkAndEd25519Signature
|
||||
OperationProof = NoProof | Ed25519Signature | ZkSignature | ZkAndEd25519Signature
|
||||
|
||||
@ -7,6 +7,7 @@ from core.models import NbeSerializer
|
||||
from models.transactions.operations.proofs import (
|
||||
Ed25519Signature,
|
||||
NbeSignature,
|
||||
NoProof,
|
||||
ZkAndEd25519Signature,
|
||||
ZkSignature,
|
||||
)
|
||||
@ -21,6 +22,11 @@ class OperationProofSerializer(EnforceSubclassFromRandom, ABC):
|
||||
raise NotImplementedError
|
||||
|
||||
|
||||
class NoProofSerializer(OperationProofSerializer):
|
||||
def into_operation_proof(self) -> NbeSignature:
|
||||
return NoProof.model_validate({})
|
||||
|
||||
|
||||
class Ed25519SignatureSerializer(OperationProofSerializer, RootModel[bytes]):
|
||||
root: BytesFromIntArray
|
||||
|
||||
@ -74,6 +80,7 @@ class ZkAndEd25519SignaturesSerializer(OperationProofSerializer, NbeSerializer):
|
||||
|
||||
|
||||
PROOF_TAG_TO_SERIALIZER = {
|
||||
"NoProof": NoProofSerializer,
|
||||
"Ed25519Sig": Ed25519SignatureSerializer,
|
||||
"ZkSig": ZkSignatureSerializer,
|
||||
"ZkAndEd25519Sigs": ZkAndEd25519SignaturesSerializer,
|
||||
@ -91,7 +98,7 @@ def _parse_proof(data: Any) -> OperationProofSerializer:
|
||||
|
||||
|
||||
OperationProofSerializerVariants = Union[
|
||||
Ed25519SignatureSerializer, ZkSignatureSerializer, ZkAndEd25519SignaturesSerializer
|
||||
NoProof, Ed25519SignatureSerializer, ZkSignatureSerializer, ZkAndEd25519SignaturesSerializer
|
||||
]
|
||||
OperationProofSerializerField = Annotated[
|
||||
OperationProofSerializerVariants,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user