inline v13 atomics
This commit is contained in:
parent
c1a7ab1128
commit
455ffd6063
@ -28,3 +28,9 @@ class IPair(IAuto, Generic[E0, E1]):
|
|||||||
assert isinstance(v0, Mentionable)
|
assert isinstance(v0, Mentionable)
|
||||||
assert isinstance(v1, Mentionable)
|
assert isinstance(v1, Mentionable)
|
||||||
return cls.from_values(v0, v1)
|
return cls.from_values(v0, v1)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def f(cls, f0: RainbowFactory[E0], f1: RainbowFactory[E1]) -> RainbowFactory['IPair[E0, E1]']:
|
||||||
|
assert isinstance(f0, RainbowFactory)
|
||||||
|
assert isinstance(f1, RainbowFactory)
|
||||||
|
return cls.factory(f0, f1)
|
||||||
|
@ -2,8 +2,8 @@ import nacl.bindings
|
|||||||
import nacl.exceptions
|
import nacl.exceptions
|
||||||
import nacl.signing
|
import nacl.signing
|
||||||
|
|
||||||
from rainbowadn.atomic import *
|
|
||||||
from rainbowadn.core import *
|
from rainbowadn.core import *
|
||||||
|
from rainbowadn.inlining import *
|
||||||
from .subject import *
|
from .subject import *
|
||||||
|
|
||||||
__all__ = ('BadSignature', 'Signature',)
|
__all__ = ('BadSignature', 'Signature',)
|
||||||
@ -13,12 +13,16 @@ class BadSignature(nacl.exceptions.BadSignatureError):
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
class Signature(Atomic):
|
class Signature(IAtomic):
|
||||||
def __init__(self, source: bytes):
|
def __init__(self, source: bytes):
|
||||||
assert isinstance(source, bytes)
|
assert isinstance(source, bytes)
|
||||||
assert_eq(len(source), nacl.bindings.crypto_sign_BYTES)
|
assert_eq(len(source), nacl.bindings.crypto_sign_BYTES)
|
||||||
self.source = source
|
self.source = source
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def size(cls) -> int:
|
||||||
|
return nacl.bindings.crypto_sign_BYTES
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def empty(cls) -> 'Signature':
|
def empty(cls) -> 'Signature':
|
||||||
return Signature(bytes(nacl.bindings.crypto_sign_BYTES))
|
return Signature(bytes(nacl.bindings.crypto_sign_BYTES))
|
||||||
|
@ -1,18 +1,23 @@
|
|||||||
|
import nacl.bindings
|
||||||
from nacl.public import PublicKey
|
from nacl.public import PublicKey
|
||||||
from nacl.signing import VerifyKey
|
from nacl.signing import VerifyKey
|
||||||
|
|
||||||
from rainbowadn.atomic import *
|
from rainbowadn.inlining import *
|
||||||
|
|
||||||
__all__ = ('Subject',)
|
__all__ = ('Subject',)
|
||||||
|
|
||||||
|
|
||||||
class Subject(Atomic):
|
class Subject(IAtomic):
|
||||||
def __init__(self, verify_key: VerifyKey):
|
def __init__(self, verify_key: VerifyKey):
|
||||||
assert isinstance(verify_key, VerifyKey)
|
assert isinstance(verify_key, VerifyKey)
|
||||||
self.verify_key: VerifyKey = verify_key
|
self.verify_key: VerifyKey = verify_key
|
||||||
self.public_key: PublicKey = verify_key.to_curve25519_public_key()
|
self.public_key: PublicKey = verify_key.to_curve25519_public_key()
|
||||||
assert isinstance(self.public_key, PublicKey)
|
assert isinstance(self.public_key, PublicKey)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def size(cls) -> int:
|
||||||
|
return nacl.bindings.crypto_sign_PUBLICKEYBYTES
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _from_bytes(cls, source: bytes) -> 'Subject':
|
def _from_bytes(cls, source: bytes) -> 'Subject':
|
||||||
assert isinstance(source, bytes)
|
assert isinstance(source, bytes)
|
||||||
|
Loading…
Reference in New Issue
Block a user