import struct from orchard_commitments import note_commit from orchard_key_components import diversify_hash, prf_expand, derive_nullifier, FullViewingKey, SpendingKey from orchard_pallas import Point, Scalar from orchard_utils import to_base, to_scalar from utils import leos2bsp class OrchardNote(object): def __init__(self, d, pk_d, v: Scalar, rho, rseed): self.d = d self.pk_d = pk_d self.v = v self.rho = rho self.rseed = rseed self.rcm = self.rcm(rho) self.psi = self.psi(rho) def __bytes__(self): return ( self.d + bytes(self.pk_d) + struct.pack('