From: Chris Duncan Date: Thu, 1 Oct 2026 01:15:38 +0000 (-0700) Subject: Narrow point types. X-Git-Url: https://git.codecow.com/?a=commitdiff_plain;h=0536973668c83ce50905a80e6cef632765291c3a;p=nano25519.git Narrow point types. --- diff --git a/src/assembly/ed25519/p.ts b/src/assembly/ed25519/p.ts index 8d98e90..96dfd49 100644 --- a/src/assembly/ed25519/p.ts +++ b/src/assembly/ed25519/p.ts @@ -11,18 +11,22 @@ const ed25519_d2: FieldElement = StaticArray.fromArray([ -21827239, -5839606, -30745221, 13898782, 229458, 15978800, -12551817, -6495438, 29715968, 9444199, 0, 0 ]) -export class ge_p2 { +class ge_coord { X: FieldElement = fe() Y: FieldElement = fe() Z: FieldElement = fe() } -export class ge_p1p1 extends ge_p2 { +export class ge_p2 extends ge_coord { + __brand: 'ge_p2' = 'ge_p2' +} + +export class ge_p1p1 extends ge_coord { T: FieldElement = fe() __brand: 'ge_p1p1' = 'ge_p1p1' } -export class ge_p3 extends ge_p2 { +export class ge_p3 extends ge_coord { T: FieldElement = fe() __brand: 'ge_p3' = 'ge_p3' }